Undocumented 3.13 C API
未關閉
還沒有人認領這個 Issue。
docs
topic-C-API
- 主要語言
- Python
- 星號
- 77.2k
- 分支
- 36k
- PR 合併指標
- PR 指標待擷取
描述
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
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
使用文件搜尋頁面核實每個符號的分類和命名,檢查 Include/cpython/object.h、Include/cpython/code.h 以及產生的 pyconfig.h 項目中剩餘未勾選的符號。開始前檢查相關 PR;完成的標準是剩餘的公開 C API 項目已正確記錄,或其低優先級狀態已獲得解決。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- c, python
- 領域
- api, documentation
- Issue 類型
- 文件
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100