Remove pluggy usage; replace the pluggy < 1.7.0 cap with direct entry-point loading
I maintainer di solito rispondono entro 3 giorni
Nessuno ha ancora preso questa issue.
- #5373 di @knowprasad — chiusa senza merge
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- backend, developer-experience
Direzione di ricerca
Inspect src/licensedcode/additional_license_location_provider.py and the pluggy constraints in pyproject.toml, pyproject-scancode-toolkit.toml, and pyproject-scancode-toolkit-mini.toml. Replace marker decoration and pluggy entry-point loading with importlib.metadata.entry_points(group="scancode_additional_license_location_provider"), then remove the pluggy cap after plugincode support is available. Run the relevant tests and verify providers are discovered and instantiated through the existing get_location() path.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Written by Claude Opus 5.5 via Claude Code for the scancode-toolkit maintainers; I prompted it, it did the work, I read it.
This is filed by Ronny Pfannschmidt, a pluggy maintainer. The behaviour scancode-toolkit relies on was never part of pluggy's API, and pluggy will not restore it.
Follow-up to #5363 and the cap in 1891da6acf. The root cause and the proposed fix are in aboutcode-org/plugincode#14. In short: plugincode decorates classes with hookspec and hookimpl markers, no hook is ever called, and pluggy serves only as an entry-point loader plus a {name: class} dict. pluggy 1.7 no longer accepts classes as hookspecs, so add_hookspecs raises at import time.
scancode-toolkit has two things to change:
- Its own copy of the pattern:
src/licensedcode/additional_license_location_provider.py.@location_provider_specdecorates theAdditionalLicenseLocationProviderPluginclass, followed byadd_hookspecs/load_setuptools_entrypoints/list_name_plugin. The plugin classes are then instantiated and called directly inget_location(). This can be replaced byimportlib.metadata.entry_points(group="scancode_additional_license_location_provider")now, without waiting for plugincode. - The cap:
pluggy >= 1.0.0, < 1.7.0inpyproject.toml,pyproject-scancode-toolkit.tomlandpyproject-scancode-toolkit-mini.toml. Once plugincode ships without pluggy, the pluggy dependency can be dropped here entirely rather than uncapped, because scancode-toolkit itself only imports pluggy in the file above.
- Lingua principale
- Python
- Stelle
- 2.7k
- Fork
- 831
- Merge medio
- 3g 4h
- PR unite (30g)
- 7
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aboutcode-org/scancode-toolkit
-
bug: Unreachable JSON extension and format validation in validate_input_pathForse già presa @0Cymantek0 l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aboutcode-org/scancode-toolkit#5351 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
CycloneDX output: metadata.properties[].value emits JSON array instead of stringForse già presa @0Cymantek0 l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
aboutcode-org/scancode-toolkit#5349 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Duplicate 'COPYLEFT' entries in legal file classification names in legal.py and classify.pyForse già presa @Pradeepbeleri l’ha presa 45 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
aboutcode-org/scancode-toolkit#5319 · 2 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
Duplicate autogen.sh entry in commoncode default ignoresForse già presa @Daksha1611 l’ha presa 47 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
aboutcode-org/scancode-toolkit#5316 ·
I maintainer di solito rispondono entro 3 giorni
-
Duplicate LGPL key in rubygems LICENSES_MAPPING makes one mapping unreachableForse già presa @Daksha1611 l’ha presa 47 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
aboutcode-org/scancode-toolkit#5314 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di aboutcode-org/scancode-toolkit
Issue simili
-
app: scripts status: backlog type: documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
netbox-community/netbox-scripts#68 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
marin-community/marin#10765 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
flathub/com.unity.UnityHub#230 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
namespace operations
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 63/100
EclipseFdn/open-vsx.org#14910 ·
I maintainer di solito rispondono entro 1 giorno