Repository navigation
C-API tracking: missing Stable ABI functions in crates/capi #8156
Copy link
Copy link
Open
Description
Latest update: 2026-10-30
Goal
Track CPython Stable ABI C-API functions that are still missing from RustPython crates/capi, organized by CPython Include/ header layout (mirroring RustPython’s capi split, including abstract_/*).
Missing Stable ABI Functions by Header
Derived from CPython Misc/stable_abi.toml and compared against exported C-API functions in RustPython crates/capi/src.
This list includes only functions that are still candidates for implementation in RustPython C-API:
- starts from all
[function.*]entries inMisc/stable_abi.toml - removes private functions (names starting with
_) - removes functions already implemented in RustPython
crates/capi/src - removes functions marked removed in CPython "What's New" C-API notes across Python 3.0 through 3.15
- marks remaining deprecated or soft-deprecated functions as
(deprecated) - groups remaining functions by CPython
Include/*.hheader, using RustPython's existingcrates/capi/srcfile split (includingabstract_/*)
Total missing: 220
Include/abstract.h -> crates/capi/src/abstract_.rs (3)
PyObject_CallFunctionPyObject_CallMethodPyVectorcall_NARGS
Include/abstract.h -> crates/capi/src/abstract_/number.rs (1)
PyNumber_ToBase
Include/abstract.h -> crates/capi/src/abstract_/sequence.rs (1)
PySequence_Fast
Include/audit.h (2)
PySys_AuditPySys_AuditTuple
Include/bytearrayobject.h (1)
PyByteArray_Concat
Include/bytesobject.h (4)
PyBytes_ConcatPyBytes_ConcatAndDelPyBytes_DecodeEscapePyBytes_Repr
Include/ceval.h (7)
PyEval_EvalCodeExPyEval_GetFuncNamePyEval_ReleaseThreadPy_AddPendingCallPy_GetRecursionLimitPy_MakePendingCallsPy_SetRecursionLimit
Include/descrobject.h (2)
PyMember_GetOne(deprecated)PyMember_SetOne(deprecated)
Include/fileutils.h (2)
Py_DecodeLocale(deprecated)Py_EncodeLocale(deprecated)
Include/import.h (17)
PyImport_AddModulePyImport_AddModuleObjectPyImport_AppendInittabPyImport_ExecCodeModulePyImport_ExecCodeModuleObjectPyImport_ExecCodeModuleWithPathnamesPyImport_GetImporterPyImport_GetMagicNumberPyImport_GetMagicTagPyImport_GetModule(deprecated)PyImport_GetModuleDictPyImport_ImportFrozenModulePyImport_ImportFrozenModuleObjectPyImport_ImportModule(deprecated)PyImport_ImportModuleLevelPyImport_ImportModuleLevelObjectPyImport_ReloadModule
Include/intrcheck.h (5)
PyOS_AfterFork(deprecated)PyOS_AfterFork_Child(deprecated)PyOS_AfterFork_Parent(deprecated)PyOS_BeforeFork(deprecated)PyOS_InterruptOccurred
Include/listobject.h (1)
PyList_GetItem
Include/longobject.h (5)
PyLong_AsLongAndOverflowPyLong_AsLongLongAndOverflowPyLong_GetInfoPyOS_strtolPyOS_strtoul
Include/memoryobject.h (3)
PyMemoryView_FromBufferPyMemoryView_FromMemoryPyMemoryView_GetContiguous
Include/methodobject.h (3)
PyCFunction_GetFlagsPyCFunction_GetFunctionPyCFunction_GetSelf
Include/modsupport.h (11)
PyArg_ParsePyArg_ParseTuple(deprecated)PyArg_ParseTupleAndKeywordsPyArg_UnpackTuplePyArg_VaParsePyArg_VaParseTupleAndKeywordsPyArg_ValidateKeywordArgumentsPyModule_Add(deprecated)PyModule_SetDocStringPy_BuildValuePy_VaBuildValue
Include/moduleobject.h (7)
PyModule_GetFilenamePyModule_GetNamePyModule_GetStatePyModule_GetStateSizePyModule_GetState_DuringGCPyModule_GetTokenPyModule_GetToken_DuringGC
Include/object.h (16)
PyType_ClearCachePyType_GenericAllocPyType_GenericNewPyType_GetBaseByTokenPyType_GetBaseByToken_DuringGCPyType_GetModulePyType_GetModuleByTokenPyType_GetModuleByToken_DuringGCPyType_GetModuleStatePyType_GetModuleState_DuringGCPyType_GetModule_DuringGCPyType_GetTypeDataSizePyType_ModifiedPyType_ReadyPy_SET_SIZEPy_SIZE
Include/objimpl.h (3)
PyObject_GC_DelPyObject_InitPyObject_InitVar
Include/pybuffer.h (5)
PyBuffer_FillContiguousStridesPyBuffer_FillInfoPyBuffer_SizeFromFormatPyObject_CheckBufferPyObject_CopyData
Include/pycapsule.h (3)
PyCapsule_GetDestructorPyCapsule_SetDestructorPyCapsule_SetName
Include/pyerrors.h (11)
PyErr_FormatPyErr_FormatVPyErr_NormalizeExceptionPyErr_ProgramTextPyErr_SetImportErrorPyErr_SetImportErrorSubclassPyErr_SyntaxLocationPyErr_SyntaxLocationExPyExceptionClass_NamePyOS_snprintfPyOS_vsnprintf
Include/pylifecycle.h (10)
PyOS_getsigPyOS_setsigPy_AtExitPy_BytesMainPy_EndInterpreterPy_ExitPy_MainPy_NewInterpreterPy_SetProgramNamePy_SetPythonHome
Include/pystate.h (27)
PyGILState_GetThisThreadStatePyInterpreterGuard_ClosePyInterpreterGuard_FromCurrentPyInterpreterGuard_FromViewPyInterpreterState_ClearPyInterpreterState_DeletePyInterpreterState_GetDictPyInterpreterState_NewPyInterpreterView_ClosePyInterpreterView_FromCurrentPyInterpreterView_FromMainPyState_AddModulePyState_FindModulePyState_RemoveModulePyThreadState_ClearPyThreadState_DeletePyThreadState_EnsurePyThreadState_EnsureFromViewPyThreadState_GetPyThreadState_GetDictPyThreadState_GetFramePyThreadState_GetIDPyThreadState_GetInterpreterPyThreadState_NewPyThreadState_ReleasePyThreadState_SetAsyncExc(deprecated)PyThreadState_Swap
Include/pystrtod.h (2)
PyOS_double_to_stringPyOS_string_to_double
Include/pythonrun.h (3)
PyErr_Display(deprecated)PyErr_PrintPyOS_CheckStack
Include/pythread.h (8)
PyThread_GetInfoPyThread_tss_allocPyThread_tss_createPyThread_tss_deletePyThread_tss_freePyThread_tss_getPyThread_tss_is_createdPyThread_tss_set
Include/sliceobject.h (2)
PySlice_GetIndicesPySlice_GetIndicesEx(deprecated)
Include/structseq.h (4)
PyStructSequence_GetItemPyStructSequence_NewPyStructSequence_NewTypePyStructSequence_SetItem
Include/sysmodule.h (6)
PySys_FormatStderrPySys_FormatStdoutPySys_SetArgvPySys_SetArgvExPySys_WriteStderrPySys_WriteStdout
Include/traceback.h (1)
PyTraceBack_Here
Include/unicodeobject.h (42)
PyUnicode_AppendPyUnicode_AppendAndDelPyUnicode_AsCharmapStringPyUnicode_AsMBCSStringPyUnicode_AsUCS4PyUnicode_AsUCS4CopyPyUnicode_AsWideCharPyUnicode_AsWideCharString(deprecated)PyUnicode_BuildEncodingMapPyUnicode_CountPyUnicode_DecodeCharmapPyUnicode_DecodeCodePageStatefulPyUnicode_DecodeLocalePyUnicode_DecodeLocaleAndSize(deprecated)PyUnicode_DecodeMBCSPyUnicode_DecodeMBCSStatefulPyUnicode_DecodeUTF16PyUnicode_DecodeUTF16StatefulPyUnicode_DecodeUTF32PyUnicode_DecodeUTF32StatefulPyUnicode_DecodeUTF7StatefulPyUnicode_DecodeUTF8StatefulPyUnicode_EncodeCodePagePyUnicode_EncodeLocale(deprecated)PyUnicode_FSConverterPyUnicode_FSDecoderPyUnicode_FindPyUnicode_FindChar(deprecated)PyUnicode_FromFormatPyUnicode_FromFormatVPyUnicode_FromWideCharPyUnicode_Join(deprecated)PyUnicode_RSplitPyUnicode_ReadCharPyUnicode_ReplacePyUnicode_ResizePyUnicode_RichComparePyUnicode_SplitPyUnicode_SplitlinesPyUnicode_SubstringPyUnicode_TailmatchPyUnicode_WriteChar
Include/warnings.h (2)
PyErr_ResourceWarningPyErr_WarnFormat
Metadata
Metadata
Assignees
Labels
No labels
Activity