Use multi-phase initialisation (PEP 489)
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia leggendo PEP 489 e la documentazione sull'inizializzazione dei moduli di estensione Python, quindi individua i punti di ingresso dell'inizializzazione dei moduli di estensione nel repository. Il lavoro è completato quando i moduli di estensione utilizzano fasi di creazione ed esecuzione invece dell'inizializzazione a fase singola, il comportamento esistente dei moduli è preservato e i test pertinenti hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello,
Please consider adopting multi-phase init for your Python extension modules. In short, multi-phase makes extension modules behave more like pure-Python modules and means that the import system can determine what a capabilities a module has before executing it.
Multi-phase initialisation was introduced in PEP 489 for Python 3.5. It replaces the previous 'single-phase' mechanism by splitting the module creation process into creation and execution phases. Quoting from the documentation:
Extension modules created this way behave more like Python modules: the initialization is split between the creation phase, when the module object is created, and the execution phase, when it is populated. The distinction is similar to the
__new__()and__init__()methods of classes.
It is the preferred mechanism for extension module initialisation, and there is a proposal to deprecate single phase init.
Thanks,
Adam
- Lingua principale
- C
- Stelle
- 641
- Fork
- 117
- Merge medio
- 8g 2h
- PR unite (30g)
- 7
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 indygreg/python-zstandard
-
`multi_decompress_to_buffer([])` terminates the process with SIGFPEForse già presa @mikamikasuki l’ha presa 8 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
indygreg/python-zstandard#335 ·
I maintainer di solito rispondono entro 4 giorni
-
Silent data-correctness bug: `readinto()` / `readinto1()` on `stream_reader` return `tell() == 0` after successful readsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
indygreg/python-zstandard#295 ·
I maintainer di solito rispondono entro 4 giorni
-
Python 3.15 wheelsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
indygreg/python-zstandard#354 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
indygreg/python-zstandard#345 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
indygreg/python-zstandard#334 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di indygreg/python-zstandard
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
UNIVERSE-HPC/course-material#283 ·
-
bug C/C++ code
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
webarkit/WebARKitLib#85 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
SD Card Size correctionAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100