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