Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Feature request: declarative ordering of hookimpls relative to other plugins (before/after), beyond tryfirst/trylast

Aperta
#705 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
tooling

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pytest-dev/pluggy

Tutte le issue di pytest-dev/pluggy

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.