Feature request: declarative ordering of hookimpls relative to other plugins (before/after), beyond tryfirst/trylast
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia leggendo il comportamento attuale dell’ordinamento degli hook tryfirst e trylast e le issue di pytest citate. L’issue identifica inoltre _HookCaller._nonwrappers come API privata che gli utenti ispezionano oggi. Per considerare il lavoro completato sarebbe necessaria innanzitutto una progettazione accettata per l’ordinamento dichiarativo, inclusi conflitti e cicli, seguita dall’implementazione e dai test; attualmente il maintainer mette in dubbio che ne valga la pena.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
pluggy currently offers only tryfirst and trylast booleans to control hook order, which remains arbitrary within each of the three categories. Some users want to declare that their hookimpl must run before or after a specific other plugin or hookimpl, and so several pytest issues conclude that the fix (if any) belongs in pluggy:
- pytest-dev/pytest#13371 — "Provide a better way to schedule hooks ordering." Request for
before=/after=ordering relative to named plugins. - pytest-dev/pytest#2364 — "undeterministic order of pytest_configure for conftest-loaded plugins." Core/entrypoint/conftest plugins end up in an effectively random relative order; the issue explicitly notes "this may need actual dependency ordering support in pluggy."
- #250 — an existing user question about reordering hookimpls after registration by poking
_HookCaller._nonwrappers(private API), which shows people already reach for unsupported internals to get this.
Personally I'm inclined to close this issue as wontfix, because it's absolutely classic "what if two programs did this" fodder. Even if we proposed to error on such cases and do a fancy toposort on the rest, I don't think it'd be worth the complexity.
- Lingua principale
- Python
- Stelle
- 1.7k
- Fork
- 170
- Merge medio
- 1g 18h
- PR unite (30g)
- 18
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 pytest-dev/pluggy
-
[Downstream] devpi broken - trying to register `None`Forse già presa @bluetech l’ha presa 6 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
pytest-dev/pluggy#749 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
How to handle keyword-only argumentsForse già presa @bluetech l’ha presa 11 giorni fa. Aperta
pytest-dev/pluggy#742 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
pytest-dev/pluggy#628 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
pytest-dev/pluggy#588 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
pytest-dev/pluggy#437 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pytest-dev/pluggy
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
FuRongJun-1999/dsh-memory#65 ·
I maintainer di solito rispondono entro 1 giorno
-
ci needs-ac
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Ikalus1988/MisakaNet#2930 ·
I maintainer di solito rispondono entro 1 giorno
-
`FakeBackendV2.run` fails with `NoiseError` on circuits with delays on qubits where T2 > 2·T1Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Qiskit/qiskit-aer#2466 ·
-
area/cli
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100