Undocumented 3.13 C API
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
The following public C API is new in 3.13 (beta 1, relative to 3.12), and as of this writing it looks either
- undocumented, or
- documented incorrectly. See the docs search page for what Sphinx thinks the type and fully-quilfied name of the symbol are; it should be a C entry without extraneous namespaces. (The details tend to matter for search, URLs, and Intersphinx links.)
See also: 3.14
-
PY_MACCONFIG_HinInclude/pymacconfig.h(header guards don't need docs) -
PY_MONITORING_EVENT_BRANCHinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_CALLinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_C_RAISEinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_C_RETURNinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_EXCEPTION_HANDLEDinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_INSTRUCTIONinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_JUMPinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_LINEinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_RESUMEinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_RETURNinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_STARTinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_THROWinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_UNWINDinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_PY_YIELDinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_RAISEinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_RERAISEinInclude/cpython/monitoring.h -
PY_MONITORING_EVENT_STOP_ITERATIONinInclude/cpython/monitoring.h -
PY_MONITORING_IS_INSTRUMENTED_EVENTinInclude/cpython/monitoring.h -
PyCF_OPTIMIZED_ASTinInclude/cpython/compile.h -
PyEval_GetFrameBuiltinsinInclude/ceval.h:25 -
PyEval_GetFrameGlobalsinInclude/ceval.h:26 -
PyEval_GetFrameLocalsinInclude/ceval.h:27 -
PyExc_IncompleteInputErrorinInclude/pyerrors.h:111 -
PyExc_PythonFinalizationErrorinInclude/cpython/pyerrors.h:129 -
PyFrameLocalsProxy_CheckinInclude/cpython/pyframe.h -
PyFrameLocalsProxy_TypeinInclude/cpython/pyframe.h:6 -
PyMonitoring_EnterScopeinInclude/cpython/monitoring.h:44 -
PyMonitoring_ExitScopeinInclude/cpython/monitoring.h:48 -
PyRefTracerEventinInclude/cpython/object.h:516,Include/cpython/object.h:519 -
PyUnstable_AtExitinInclude/cpython/pylifecycle.h:91 -
PyUnstable_CopyPerfMapFileinInclude/cpython/sysmodule.h:20 -
PyUnstable_EXECUTABLE_KINDSinInclude/cpython/pyframe.h -
PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTIONinInclude/cpython/pyframe.h -
PyUnstable_EXECUTABLE_KIND_METHOD_DESCRIPTORinInclude/cpython/pyframe.h -
PyUnstable_EXECUTABLE_KIND_PY_FUNCTIONinInclude/cpython/pyframe.h -
PyUnstable_EXECUTABLE_KIND_SKIPinInclude/cpython/pyframe.h -
PyUnstable_ExecutableKindsinInclude/cpython/pyframe.h:45 -
PyUnstable_GetExecutorinInclude/cpython/optimizer.h:137(now removed) -
PyUnstable_GetOptimizerinInclude/cpython/optimizer.h:135(now removed) -
PyUnstable_InterpreterState_GetMainModuleinInclude/cpython/pystate.h:11 -
PyUnstable_Optimizer_NewCounterinInclude/cpython/optimizer.h:145(now removed) -
PyUnstable_Optimizer_NewUOpOptimizerinInclude/cpython/optimizer.h:146(now removed) -
PyUnstable_PerfTrampoline_CompileCodeinInclude/cpython/sysmodule.h:21 -
PyUnstable_PerfTrampoline_SetPersistAfterForkinInclude/cpython/sysmodule.h:22 -
PyUnstable_Replace_ExecutorinInclude/cpython/optimizer.h:129(now removed) -
PyUnstable_SetOptimizerinInclude/cpython/optimizer.h:133(now removed) -
Py_ASNATIVEBYTES_BIG_ENDIANinInclude/cpython/longobject.h -
Py_ASNATIVEBYTES_DEFAULTSinInclude/cpython/longobject.h -
Py_ASNATIVEBYTES_LITTLE_ENDIANinInclude/cpython/longobject.h -
Py_ASNATIVEBYTES_NATIVE_ENDIANinInclude/cpython/longobject.h -
Py_ASNATIVEBYTES_REJECT_NEGATIVEinInclude/cpython/longobject.h -
Py_ASNATIVEBYTES_UNSIGNED_BUFFERinInclude/cpython/longobject.h -
Py_ATOMIC_HinInclude/pyatomic.h(header guards don't need docs) -
Py_CAN_START_THREADSinInclude/pyport.h:463 -
(removed in 3.14)Py_C_RECURSION_LIMITinInclude/cpython/pystate.h:215 -
Py_MOD_GIL_NOT_USEDinInclude/moduleobject.h:69 -
Py_MOD_GIL_USEDinInclude/moduleobject.h:69 -
Py_MONITORING_HinInclude/monitoring.h(header guards don't need docs) -
Py_OPTIMIZER_HinInclude/cpython/optimizer.h(header guards don't need docs) -
Py_TPFLAGS_INLINE_VALUESinInclude/object.h:632 -
(removed in gh-132280)Py_TRASHCAN_HEADROOMinInclude/cpython/object.h:463 -
CO_NO_MONITORING_EVENTSinInclude/cpython/code.h:192
Some more are generated by configure, I guess that's low priority:
-
HAVE_CLOCK_Tin./pyconfig.h:138 -
HAVE_CLOSEFROMin./pyconfig.h:138 -
HAVE_GETGRENTin./pyconfig.h:138 -
HAVE_GRANTPTin./pyconfig.h:515 -
HAVE_POSIX_OPENPTin./pyconfig.h:849 -
HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NPin./pyconfig.h:849 -
HAVE_PROCESS_VM_READVin./pyconfig.h:849 -
HAVE_PTSNAMEin./pyconfig.h:957 -
HAVE_PTSNAME_Rin./pyconfig.h:957 -
HAVE_SOCKLEN_Tin./pyconfig.h:957 -
HAVE_SYS_TIMERFD_Hin./pyconfig.h:1406 -
HAVE_TIMERFD_CREATEin./pyconfig.h:1406 -
HAVE_UNLOCKPTin./pyconfig.h:1406 -
HAVE___UINT128_Tin./pyconfig.h:1582 -
WITH_MIMALLOCin./pyconfig.h:1867
Linked PRs
- gh-124134
- gh-124244
- gh-127720
- gh-127831
- gh-128026
- gh-128483
- gh-128677
- gh-129028
- gh-129086
- gh-129691
- gh-129723
- gh-131424
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Überprüfe die noch nicht abgehakten Symbole in Include/cpython/object.h, Include/cpython/code.h und den generierten pyconfig.h-Einträgen. Verwende dabei die Docs-Suchseite, um zu verifizieren, wie jedes Symbol klassifiziert und benannt ist. Prüfe die verknüpften PRs, bevor du beginnst; abgeschlossen bedeutet, dass die verbleibenden öffentlichen C-API-Einträge korrekt dokumentiert sind oder ihr Status mit niedriger Priorität geklärt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- api, documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100