Skip to main content

Module ffi

Module ffi 

Available on crate feature tls only.
Expand description

Raw FFI declarations for Python’s C API.

This module provides low level bindings to the Python interpreter. It is meant for advanced users only - regular PyO3 users shouldn’t need to interact with this module at all.

The contents of this module are not documented here, as it would entail basically copying the documentation from CPython. Consult the Python/C API Reference Manual for up-to-date documentation.

§Safety

The functions in this module lack individual safety documentation, but generally the following apply:

  • Pointer arguments have to point to a valid Python object of the correct type, although null pointers are sometimes valid input.
  • The vast majority can only be used safely while the GIL is held.
  • Some functions have additional safety requirements, consult the Python/C API Reference Manual for more information.

Modules§

compat
C API Compatibility Shims
marshalNon-Py_LIMITED_API
structmemberDeprecated

Macros§

c_str
This is a helper macro to create a &'static CStr.

Structs§

PyASCIIObject
PyAsyncMethods
PyBaseExceptionObject
PyBufferProcs
PyByteArrayObjectNeither GraalPy nor Py_LIMITED_API nor PyPy
PyBytesObjectNeither GraalPy nor Py_LIMITED_API nor PyPy
PyCFunctionObjectPy_3_9 and non-GraalPy and non-Py_LIMITED_API
PyCMethodObjectNon-GraalPy
PyCodeObject
PyCompactUnicodeObject
PyCompilerFlags
PyComplexObject
PyConfig
PyCriticalSection
PyCriticalSection2
PyDateTime_CAPI
PyDateTime_Date
Structure representing a datetime.date
PyDateTime_DateTime
Structure representing a datetime.datetime.
PyDateTime_Delta
Structure representing a datetime.timedelta.
PyDateTime_Time
Structure representing a datetime.time.
PyDescrObject
PyDictKeysObject
PyDictObjectNeither GraalPy nor PyPy
PyDictValues
PyFloatObject
PyFrameObject
PyFunctionObjectPy_3_10 and neither GraalPy nor PyPy
PyGenObject
PyGetSetDef
Represents the PyGetSetDef structure.
PyGetSetDescrObject
PyHash_FuncDefNon-PyPy
PyHeapTypeObject
PyImportErrorObjectNeither GraalPy nor PyPy
PyInterpreterConfigPy_3_12
PyInterpreterState
PyListObjectNon-PyPy
PyLongObject
PyMappingMethods
PyMemAllocatorExNeither GraalPy nor PyPy
PyMemberDef
Represents the PyMemberDef structure.
PyMemberDescrObject
PyMethodDef
Represents the PyMethodDef structure.
PyMethodDescrObject
PyModuleDef
PyModuleDef_Base
PyModuleDef_Slot
PyMutex
PyNumberMethods
PyOSErrorObjectNeither GraalPy nor PyPy
PyObject
PyObjectArenaAllocatorNeither GraalPy nor PyPy
PyObjectObFlagsAndRefcnt64-bit and Py_3_14 and little-endian and non-Py_GIL_DISABLED
This struct is anonymous in CPython, so the name was given by PyO3 because Rust structs need a name.
PyPreConfig
PySequenceMethods
PySetObjectNeither GraalPy nor Py_LIMITED_API nor PyPy
PySliceObjectNon-Py_LIMITED_API
PyStatus
PyStopIterationObject
PyStructSequence_Desc
PyStructSequence_Field
PySyntaxErrorObjectNeither GraalPy nor PyPy
PySystemExitObjectNeither GraalPy nor PyPy
PyThreadState
PyTupleObject
PyTypeObject
PyType_Slot
PyType_Spec
PyUnicodeErrorObjectNeither GraalPy nor PyPy
PyUnicodeObject
PyUnicodeWriter
PyVarObject
PyWeakReferenceNeither GraalPy nor PyPy
PyWideStringList
PyWrapperDescrObject
Py_buffer
Py_complex
_PyDateTime_BaseDateTimeNeither GraalPy nor PyPy
Structure representing a datetime.datetime without a tzinfo member.
_PyDateTime_BaseTimeNeither GraalPy nor PyPy
Structure representing a datetime.time without a tzinfo member.
_PyInterpreterFrame
_PyWeakReferenceNeither GraalPy nor PyPy
_frozenNon-PyPy
_inittabNon-PyPy
setentryNeither GraalPy nor Py_LIMITED_API nor PyPy
wrapperbase

Enums§

PyGILState_STATE
PyMemAllocatorDomain
PySendResultPy_3_10
_PyStatus_TYPE

Constants§

CO_ASYNC_GENERATOR
CO_COROUTINE
CO_FUTURE_ABSOLUTE_IMPORT
CO_FUTURE_BARRY_AS_BDFL
CO_FUTURE_DIVISION
CO_FUTURE_GENERATOR_STOP
CO_FUTURE_PRINT_FUNCTION
CO_FUTURE_UNICODE_LITERALS
CO_FUTURE_WITH_STATEMENT
CO_GENERATOR
CO_ITERABLE_COROUTINE
CO_MAXBLOCKS
CO_NESTED
CO_NEWLOCALS
CO_NOFREE
CO_OPTIMIZED
CO_VARARGS
CO_VARKEYWORDS
FUTURE_ABSOLUTE_IMPORT
FUTURE_ANNOTATIONS
FUTURE_BARRY_AS_BDFL
FUTURE_DIVISION
FUTURE_GENERATORS
FUTURE_GENERATOR_STOP
FUTURE_NESTED_SCOPES
FUTURE_PRINT_FUNCTION
FUTURE_UNICODE_LITERALS
FUTURE_WITH_STATEMENT
INT_MAX
MAX_CO_EXTRA_USERS
METH_CLASS
METH_COEXIST
METH_FASTCALLPy_3_10 or non-Py_LIMITED_API
METH_KEYWORDS
METH_METHODPy_3_9 and non-Py_LIMITED_API
METH_NOARGS
METH_O
METH_STATIC
METH_VARARGS
PYOS_STACK_MARGIN
PYTHON_ABI_VERSION
PYTHON_API_VERSION
PY_BIG_ENDIANLittle-endian
PY_INVALID_STACK_EFFECT
PY_ITERSEARCH_CONTAINS
PY_ITERSEARCH_COUNT
PY_ITERSEARCH_INDEX
PY_LITTLE_ENDIANLittle-endian
PY_SSIZE_T_MAX
PY_SSIZE_T_MIN
PY_STDIOTEXTMODE
PY_VECTORCALL_ARGUMENTS_OFFSETPy_3_12, or Py_3_8 and non-Py_LIMITED_API
PyBUF_ANY_CONTIGUOUS
PyBUF_CONTIG
PyBUF_CONTIG_RO
PyBUF_C_CONTIGUOUS
PyBUF_FORMAT
PyBUF_FULL
PyBUF_FULL_RO
PyBUF_F_CONTIGUOUS
PyBUF_INDIRECT
PyBUF_MAX_NDIM
Maximum number of dimensions
PyBUF_ND
PyBUF_READ
PyBUF_RECORDS
PyBUF_RECORDS_RO
PyBUF_SIMPLE
PyBUF_STRIDED
PyBUF_STRIDED_RO
PyBUF_STRIDES
PyBUF_WRITABLE
PyBUF_WRITE
PyBUF_WRITEABLE
PyDateTime_CAPSULE_NAME
PyInterpreterConfig_DEFAULT_GILPy_3_12
PyInterpreterConfig_OWN_GILPy_3_12
PyInterpreterConfig_SHARED_GILPy_3_12
PyModuleDef_HEAD_INIT
PyObject_HEAD_INIT
PySet_MINSIZE
PyTrace_CALL
PyTrace_C_CALL
PyTrace_C_EXCEPTION
PyTrace_C_RETURN
PyTrace_EXCEPTION
PyTrace_LINE
PyTrace_OPCODE
PyTrace_RETURN
PyUnicode_1BYTE_KIND
PyUnicode_2BYTE_KIND
PyUnicode_4BYTE_KIND
PyWrapperFlag_KEYWORDS
Py_ASNATIVEBYTES_BIG_ENDIANPy_3_13
Py_ASNATIVEBYTES_DEFAULTSPy_3_13
Py_ASNATIVEBYTES_LITTLE_ENDIANPy_3_13
Py_ASNATIVEBYTES_NATIVE_ENDIANPy_3_13
Py_ASNATIVEBYTES_REJECT_NEGATIVEPy_3_13
Py_ASNATIVEBYTES_UNSIGNED_BUFFERPy_3_13
Py_AUDIT_READPy_3_10
Py_CLEANUP_SUPPORTED
Py_CONSTANT_ELLIPSISPy_3_13
Py_CONSTANT_EMPTY_BYTESPy_3_13
Py_CONSTANT_EMPTY_STRPy_3_13
Py_CONSTANT_EMPTY_TUPLEPy_3_13
Py_CONSTANT_FALSEPy_3_13
Py_CONSTANT_NONEPy_3_13
Py_CONSTANT_NOT_IMPLEMENTEDPy_3_13
Py_CONSTANT_ONEPy_3_13
Py_CONSTANT_TRUEPy_3_13
Py_CONSTANT_ZEROPy_3_13
Py_DTSF_ADD_DOT_0
Py_DTSF_ALT
Py_DTSF_SIGN
Py_DTST_FINITE
Py_DTST_INFINITE
Py_DTST_NAN
Py_EQ
Py_GE
Py_GT
Py_HASH_EXTERNAL
Py_HASH_FNV
Py_HASH_SIPHASH24
Py_LE
Py_LT
Py_MOD_GIL_NOT_USEDPy_3_13
Py_MOD_GIL_USEDPy_3_13
Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTEDPy_3_12
Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTEDPy_3_12
Py_MOD_PER_INTERPRETER_GIL_SUPPORTEDPy_3_12
Py_NE
Py_PRINT_RAW
Py_READONLY
Py_RELATIVE_OFFSET
Py_TPFLAGS_BASETYPE
Set if the type allows subclassing
Py_TPFLAGS_BASE_EXC_SUBCLASS
Py_TPFLAGS_BYTES_SUBCLASS
Py_TPFLAGS_DEFAULT
Py_TPFLAGS_DICT_SUBCLASS
Py_TPFLAGS_DISALLOW_INSTANTIATIONPy_3_10
Py_TPFLAGS_HAVE_FINALIZE
Py_TPFLAGS_HAVE_GC
Objects support garbage collection (see objimp.h)
Py_TPFLAGS_HAVE_VECTORCALLPy_3_12, or Py_3_8 and non-Py_LIMITED_API
Set if the type implements the vectorcall protocol (PEP 590)
Py_TPFLAGS_HAVE_VERSION_TAG
Py_TPFLAGS_HEAPTYPE
Set if the type object is dynamically allocated
Py_TPFLAGS_IMMUTABLETYPEPy_3_10
Py_TPFLAGS_IS_ABSTRACT
Py_TPFLAGS_ITEMS_AT_ENDPy_3_12
Py_TPFLAGS_LIST_SUBCLASS
Py_TPFLAGS_LONG_SUBCLASS
Py_TPFLAGS_MANAGED_DICTPy_3_11 and non-Py_LIMITED_API
Py_TPFLAGS_MANAGED_WEAKREFPy_3_12 and non-Py_LIMITED_API
Py_TPFLAGS_MAPPINGPy_3_10 and non-Py_LIMITED_API
Py_TPFLAGS_METHOD_DESCRIPTORPy_3_8
Py_TPFLAGS_READY
Set if the type is ‘ready’ – fully initialized
Py_TPFLAGS_READYING
Set while the type is being ‘readied’, to prevent recursive ready calls
Py_TPFLAGS_SEQUENCEPy_3_10 and non-Py_LIMITED_API
Py_TPFLAGS_TUPLE_SUBCLASS
Py_TPFLAGS_TYPE_SUBCLASS
Py_TPFLAGS_UNICODE_SUBCLASS
Py_TPFLAGS_VALID_VERSION_TAG
Py_T_BOOL
Py_T_BYTE
Py_T_CHAR
Py_T_DOUBLE
Py_T_FLOAT
Py_T_INT
Py_T_LONG
Py_T_LONGLONG
Py_T_OBJECT_EX
Py_T_PYSSIZET
Py_T_SHORT
Py_T_STRING
Py_T_STRING_INPLACE
Py_T_UBYTE
Py_T_UINT
Py_T_ULONG
Py_T_ULONGLONG
Py_T_USHORT
Py_UNICODE_REPLACEMENT_CHARACTER
Py_am_aiter
Py_am_anext
Py_am_await
Py_bf_getbuffer
Py_bf_releasebuffer
Py_eval_input
Py_file_input
Py_fstring_inputPy_3_9
Py_func_type_inputPy_3_8
Py_mod_create
Py_mod_exec
Py_mod_gilPy_3_13
Py_mod_multiple_interpretersPy_3_12
Py_mp_ass_subscript
Py_mp_length
Py_mp_subscript
Py_nb_absolute
Py_nb_add
Py_nb_and
Py_nb_bool
Py_nb_divmod
Py_nb_float
Py_nb_floor_divide
Py_nb_index
Py_nb_inplace_add
Py_nb_inplace_and
Py_nb_inplace_floor_divide
Py_nb_inplace_lshift
Py_nb_inplace_matrix_multiply
Py_nb_inplace_multiply
Py_nb_inplace_or
Py_nb_inplace_power
Py_nb_inplace_remainder
Py_nb_inplace_rshift
Py_nb_inplace_subtract
Py_nb_inplace_true_divide
Py_nb_inplace_xor
Py_nb_int
Py_nb_invert
Py_nb_lshift
Py_nb_matrix_multiply
Py_nb_multiply
Py_nb_negative
Py_nb_or
Py_nb_positive
Py_nb_power
Py_nb_remainder
Py_nb_rshift
Py_nb_subtract
Py_nb_true_divide
Py_nb_xor
Py_single_input
Py_sq_ass_item
Py_sq_concat
Py_sq_contains
Py_sq_inplace_concat
Py_sq_inplace_repeat
Py_sq_item
Py_sq_length
Py_sq_repeat
Py_tp_alloc
Py_tp_base
Py_tp_bases
Py_tp_call
Py_tp_clear
Py_tp_dealloc
Py_tp_del
Py_tp_descr_get
Py_tp_descr_set
Py_tp_doc
Py_tp_finalize
Py_tp_free
Py_tp_getattr
Py_tp_getattro
Py_tp_getset
Py_tp_hash
Py_tp_init
Py_tp_is_gc
Py_tp_iter
Py_tp_iternext
Py_tp_members
Py_tp_methods
Py_tp_new
Py_tp_repr
Py_tp_richcompare
Py_tp_setattr
Py_tp_setattro
Py_tp_str
Py_tp_traverse
SSTATE_INTERNED_IMMORTAL
SSTATE_INTERNED_IMMORTAL_STATICPy_3_12
SSTATE_INTERNED_MORTAL
SSTATE_NOT_INTERNED
_PyHASH_MULTIPLIER
_PyInterpreterConfig_INITPy_3_12
_PyInterpreterConfig_LEGACY_INITPy_3_12
_Py_T_NONEDeprecated
_Py_T_OBJECTDeprecated
_Py_WRITE_RESTRICTEDDeprecated

Statics§

PyAsyncGen_Type
PyBaseObject_Type
built-in ‘object’
PyBool_Type
PyByteArrayIter_Type
PyByteArray_Type
PyBytesIter_Type
PyBytes_Type
PyCFunction_Type
PyCMethod_Type
PyCallIter_Type
PyCapsule_Type
PyClassMethodDescr_Type
PyCode_Type
PyComplex_Type
PyContextToken_Type
PyContextVar_Type
PyContext_Type
PyCoro_Type
PyDictItems_Type
PyDictIterItem_Type
PyDictIterKey_Type
PyDictIterValue_Type
PyDictKeys_Type
PyDictProxy_Type
PyDictRevIterItem_TypePy_3_8
PyDictRevIterKey_TypePy_3_8
PyDictRevIterValue_TypePy_3_8
PyDictValues_Type
PyDict_Type
PyEllipsis_Type
PyEnum_Type
PyExc_ArithmeticError
PyExc_AssertionError
PyExc_AttributeError
PyExc_BaseException
PyExc_BaseExceptionGroupPy_3_11
PyExc_BlockingIOError
PyExc_BrokenPipeError
PyExc_BufferError
PyExc_BytesWarning
PyExc_ChildProcessError
PyExc_ConnectionAbortedError
PyExc_ConnectionError
PyExc_ConnectionRefusedError
PyExc_ConnectionResetError
PyExc_DeprecationWarning
PyExc_EOFError
PyExc_EncodingWarningPy_3_10
PyExc_EnvironmentError
PyExc_Exception
PyExc_FileExistsError
PyExc_FileNotFoundError
PyExc_FloatingPointError
PyExc_FutureWarning
PyExc_GeneratorExit
PyExc_IOError
PyExc_ImportError
PyExc_ImportWarning
PyExc_IndentationError
PyExc_IndexError
PyExc_InterruptedError
PyExc_IsADirectoryError
PyExc_KeyError
PyExc_KeyboardInterrupt
PyExc_LookupError
PyExc_MemoryError
PyExc_ModuleNotFoundError
PyExc_NameError
PyExc_NotADirectoryError
PyExc_NotImplementedError
PyExc_OSError
PyExc_OverflowError
PyExc_PendingDeprecationWarning
PyExc_PermissionError
PyExc_ProcessLookupError
PyExc_RecursionError
PyExc_RecursionErrorInst
PyExc_ReferenceError
PyExc_ResourceWarning
PyExc_RuntimeError
PyExc_RuntimeWarning
PyExc_StopAsyncIteration
PyExc_StopIteration
PyExc_SyntaxError
PyExc_SyntaxWarning
PyExc_SystemError
PyExc_SystemExit
PyExc_TabError
PyExc_TimeoutError
PyExc_TypeError
PyExc_UnboundLocalError
PyExc_UnicodeDecodeError
PyExc_UnicodeEncodeError
PyExc_UnicodeError
PyExc_UnicodeTranslateError
PyExc_UnicodeWarning
PyExc_UserWarning
PyExc_ValueError
PyExc_Warning
PyExc_ZeroDivisionError
PyFilter_Type
PyFloat_Type
PyFrameLocalsProxy_TypePy_3_13
PyFrame_Type
PyFrozenSet_Type
PyFunction_TypeNot (PyPy and non-Py_3_8)
PyGen_Type
PyGetSetDescr_Type
PyImport_FrozenModulesNon-PyPy
PyImport_InittabNon-PyPy
PyListIter_Type
PyListRevIter_Type
PyList_Type
PyLongRangeIter_Type
PyLong_Type
PyMap_Type
PyMemberDescr_Type
PyMemoryView_Type
PyMethodDescr_Type
PyModuleDef_Type
PyModule_Type
PyProperty_Type
PyRangeIter_Type
PyRange_Type
PyReversed_Type
PySeqIter_Type
PySetIter_Type
PySet_Type
PySlice_Type
PySuper_Type
built-in ‘super’
PyTraceBack_Type
PyTupleIter_Type
PyTuple_Type
PyType_Type
built-in ‘type’
PyUnicodeIter_Type
PyUnicode_Type
PyWrapperDescr_Type
PyZip_Type
Py_BytesWarningFlagDeprecated
Py_DebugFlagDeprecated
Py_DontWriteBytecodeFlagDeprecated
Py_FileSystemDefaultEncodeErrorsDeprecated
Py_FileSystemDefaultEncodingDeprecated
Py_FrozenFlagDeprecated
Py_GenericAliasTypePy_3_9
Py_HasFileSystemDefaultEncodingDeprecated
Py_HashRandomizationFlag
Py_IgnoreEnvironmentFlagDeprecated
Py_InspectFlagDeprecated
Py_InteractiveFlagDeprecated
Py_IsolatedFlagDeprecated
Py_NoSiteFlagDeprecated
Py_NoUserSiteDirectoryDeprecated
Py_OptimizeFlagDeprecated
Py_QuietFlagDeprecated
Py_UnbufferedStdioFlagDeprecated
Py_UseClassExceptionsFlagDeprecated
Py_VerboseFlagDeprecated
Py_VersionPy_3_11
_PyWeakref_RefType

Functions§

PyAnySet_Check⚠
PyAnySet_CheckExact⚠Non-PyPy
PyArg_Parse⚠
PyArg_ParseTuple⚠
PyArg_ParseTupleAndKeywords⚠Py_3_13
PyArg_UnpackTuple⚠
PyArg_ValidateKeywordArguments⚠
PyAsyncGen_CheckExact⚠
PyBool_Check⚠
PyBool_FromLong⚠
PyBuffer_FillContiguousStrides⚠
PyBuffer_FillInfo⚠
PyBuffer_FromContiguous⚠
PyBuffer_GetPointer⚠
PyBuffer_IsContiguous⚠
PyBuffer_Release⚠
PyBuffer_SizeFromFormat⚠
PyBuffer_ToContiguous⚠
PyByteArray_AsString⚠
PyByteArray_Check⚠
PyByteArray_CheckExact⚠
PyByteArray_Concat⚠
PyByteArray_FromObject⚠
PyByteArray_FromStringAndSize⚠
PyByteArray_Resize⚠
PyByteArray_Size⚠
PyBytes_AS_STRING⚠Non-Py_LIMITED_API
PyBytes_AsString⚠
PyBytes_AsStringAndSize⚠
PyBytes_Check⚠
PyBytes_CheckExact⚠
PyBytes_Concat⚠
PyBytes_ConcatAndDel⚠
PyBytes_DecodeEscape⚠
PyBytes_FromFormat⚠
PyBytes_FromObject⚠
PyBytes_FromString⚠
PyBytes_FromStringAndSize⚠
PyBytes_Repr⚠
PyBytes_Size⚠
PyCFunction_Check⚠Py_3_9
PyCFunction_CheckExact⚠Py_3_9
PyCFunction_GET_CLASS⚠Non-GraalPy
PyCFunction_GET_FLAGS⚠Non-GraalPy
PyCFunction_GET_FUNCTION⚠Non-GraalPy
PyCFunction_GET_SELF⚠Non-GraalPy
PyCFunction_GetFlags⚠
PyCFunction_GetFunction⚠
PyCFunction_GetSelf⚠
PyCFunction_New⚠Py_3_9
PyCFunction_NewEx⚠Py_3_9
PyCMethod_Check⚠
PyCMethod_CheckExact⚠
PyCMethod_New⚠
PyCallIter_Check⚠
PyCallIter_New⚠
PyCallable_Check⚠
PyCapsule_CheckExact⚠
PyCapsule_GetContext⚠
PyCapsule_GetDestructor⚠
PyCapsule_GetName⚠
PyCapsule_GetPointer⚠
PyCapsule_Import⚠
PyCapsule_IsValid⚠
PyCapsule_New⚠
PyCapsule_SetContext⚠
PyCapsule_SetDestructor⚠
PyCapsule_SetName⚠
PyCapsule_SetPointer⚠
PyCode_Addr2Line⚠Non-GraalPy
PyCode_Check⚠Non-PyPy
PyCode_New⚠Non-GraalPy
PyCode_NewEmpty⚠Non-GraalPy
PyCode_NewWithPosOnlyArgs⚠Py_3_8 and non-GraalPy
PyCode_Optimize⚠
PyCodec_BackslashReplaceErrors⚠
PyCodec_Decode⚠
PyCodec_Decoder⚠
PyCodec_Encode⚠
PyCodec_Encoder⚠
PyCodec_IgnoreErrors⚠
PyCodec_IncrementalDecoder⚠
PyCodec_IncrementalEncoder⚠
PyCodec_KnownEncoding⚠
PyCodec_LookupError⚠
PyCodec_Register⚠
PyCodec_RegisterError⚠
PyCodec_ReplaceErrors⚠
PyCodec_StreamReader⚠
PyCodec_StreamWriter⚠
PyCodec_StrictErrors⚠
PyCodec_Unregister⚠Py_3_10 and non-PyPy
PyCodec_XMLCharRefReplaceErrors⚠
PyCompile_OpcodeStackEffect⚠
PyCompile_OpcodeStackEffectWithJump⚠Py_3_8
PyComplex_AsCComplex⚠
PyComplex_Check⚠
PyComplex_CheckExact⚠
PyComplex_FromCComplex⚠
PyComplex_FromDoubles⚠
PyComplex_ImagAsDouble⚠
PyComplex_RealAsDouble⚠
PyConfig_Clear⚠
PyConfig_InitIsolatedConfig⚠
PyConfig_InitPythonConfig⚠
PyConfig_Read⚠
PyConfig_SetArgv⚠
PyConfig_SetBytesArgv⚠
PyConfig_SetBytesString⚠
PyConfig_SetString⚠
PyConfig_SetWideStringList⚠
PyContextToken_CheckExact⚠
PyContextVar_CheckExact⚠
PyContextVar_Get⚠
PyContextVar_New⚠
PyContextVar_Reset⚠
PyContextVar_Set⚠
PyContext_CheckExact⚠
PyContext_Copy⚠
PyContext_CopyCurrent⚠
PyContext_Enter⚠
PyContext_Exit⚠
PyContext_New⚠
PyCoro_CheckExact⚠
PyCriticalSection2_Begin⚠
PyCriticalSection2_BeginMutex⚠Py_3_14
PyCriticalSection2_End⚠
PyCriticalSection_Begin⚠
PyCriticalSection_BeginMutex⚠Py_3_14
PyCriticalSection_End⚠
PyDateTimeAPI⚠
Returns a pointer to a PyDateTime_CAPI instance
PyDateTime_Check⚠
Check if op is a PyDateTimeAPI.DateTimeType or subtype.
PyDateTime_CheckExact⚠
Check if op’s type is exactly PyDateTimeAPI.DateTimeType.
PyDateTime_DATE_GET_FOLD⚠Neither GraalPy nor PyPy
Retrieve the fold component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 1]
PyDateTime_DATE_GET_HOUR⚠Neither GraalPy nor PyPy
Retrieve the hour component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 23]
PyDateTime_DATE_GET_MICROSECOND⚠Neither GraalPy nor PyPy
Retrieve the microsecond component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 999999]
PyDateTime_DATE_GET_MINUTE⚠Neither GraalPy nor PyPy
Retrieve the minute component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 59]
PyDateTime_DATE_GET_SECOND⚠Neither GraalPy nor PyPy
Retrieve the second component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 59]
PyDateTime_DATE_GET_TZINFO⚠Neither GraalPy nor PyPy
Retrieve the tzinfo component of a PyDateTime_DateTime. Returns a pointer to a PyObject that should be either NULL or an instance of a datetime.tzinfo subclass.
PyDateTime_DELTA_GET_DAYS⚠Neither GraalPy nor PyPy
Retrieve the days component of a PyDateTime_Delta.
PyDateTime_DELTA_GET_MICROSECONDS⚠Neither GraalPy nor PyPy
Retrieve the seconds component of a PyDateTime_Delta.
PyDateTime_DELTA_GET_SECONDS⚠Neither GraalPy nor PyPy
Retrieve the seconds component of a PyDateTime_Delta.
PyDateTime_FromTimestamp⚠Non-PyPy
PyDateTime_GET_DAY⚠Neither GraalPy nor PyPy
Retrieve the day component of a PyDateTime_Date or PyDateTime_DateTime. Returns a signed integer in the interval [1, 31].
PyDateTime_GET_MONTH⚠Neither GraalPy nor PyPy
Retrieve the month component of a PyDateTime_Date or PyDateTime_DateTime. Returns a signed integer in the range [1, 12].
PyDateTime_GET_YEAR⚠Neither GraalPy nor PyPy
Retrieve the year component of a PyDateTime_Date or PyDateTime_DateTime. Returns a signed integer greater than 0.
PyDateTime_IMPORT⚠
Populates the PyDateTimeAPI object
PyDateTime_TIME_GET_FOLD⚠Neither GraalPy nor PyPy
Retrieve the fold component of a PyDateTime_Time. Returns a signed integer in the interval [0, 1]
PyDateTime_TIME_GET_HOUR⚠Neither GraalPy nor PyPy
Retrieve the hour component of a PyDateTime_Time. Returns a signed integer in the interval [0, 23]
PyDateTime_TIME_GET_MICROSECOND⚠Neither GraalPy nor PyPy
Retrieve the microsecond component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 999999]
PyDateTime_TIME_GET_MINUTE⚠Neither GraalPy nor PyPy
Retrieve the minute component of a PyDateTime_Time. Returns a signed integer in the interval [0, 59]
PyDateTime_TIME_GET_SECOND⚠Neither GraalPy nor PyPy
Retrieve the second component of a PyDateTime_DateTime. Returns a signed integer in the interval [0, 59]
PyDateTime_TIME_GET_TZINFO⚠Neither GraalPy nor PyPy
Retrieve the tzinfo component of a PyDateTime_Time. Returns a pointer to a PyObject that should be either NULL or an instance of a datetime.tzinfo subclass.
PyDateTime_TimeZone_UTC⚠
PyDate_Check⚠
Type Check macros
PyDate_CheckExact⚠
Check if op’s type is exactly PyDateTimeAPI.DateType.
PyDate_FromTimestamp⚠Non-PyPy
PyDelta_Check⚠
Check if op is a PyDateTimeAPI.DetaType or subtype.
PyDelta_CheckExact⚠
Check if op’s type is exactly PyDateTimeAPI.DeltaType.
PyDescr_NewClassMethod⚠
PyDescr_NewGetSet⚠
PyDescr_NewMember⚠
PyDescr_NewMethod⚠
PyDictItems_Check⚠
PyDictKeys_Check⚠
PyDictProxy_New⚠
PyDictValues_Check⚠
PyDictViewSet_Check⚠
PyDict_Check⚠
PyDict_CheckExact⚠
PyDict_Clear⚠
PyDict_Contains⚠
PyDict_Copy⚠
PyDict_DelItem⚠
PyDict_DelItemString⚠
PyDict_GetItem⚠
PyDict_GetItemRef⚠Py_3_13
PyDict_GetItemString⚠
PyDict_GetItemStringRef⚠Py_3_13
PyDict_GetItemWithError⚠
PyDict_Items⚠
PyDict_Keys⚠
PyDict_Merge⚠
PyDict_MergeFromSeq2⚠
PyDict_New⚠
PyDict_Next⚠
PyDict_SetItem⚠
PyDict_SetItemString⚠
PyDict_Size⚠
PyDict_Update⚠
PyDict_Values⚠
PyErr_BadArgument⚠
PyErr_BadInternalCall⚠
PyErr_CheckSignals⚠
PyErr_Clear⚠
PyErr_Display⚠
PyErr_DisplayException⚠Py_3_12
PyErr_ExceptionMatches⚠
PyErr_Fetch⚠Deprecated
PyErr_Format⚠
PyErr_GetExcInfo⚠
PyErr_GetRaisedException⚠Py_3_12
PyErr_GivenExceptionMatches⚠
PyErr_NewException⚠
PyErr_NewExceptionWithDoc⚠
PyErr_NoMemory⚠
PyErr_NormalizeException⚠Deprecated
PyErr_Occurred⚠
PyErr_Print⚠
PyErr_PrintEx⚠
PyErr_ProgramText⚠
PyErr_ResourceWarning⚠
PyErr_Restore⚠Deprecated
PyErr_SetExcInfo⚠
PyErr_SetFromErrno⚠
PyErr_SetFromErrnoWithFilename⚠
PyErr_SetFromErrnoWithFilenameObject⚠
PyErr_SetFromErrnoWithFilenameObjects⚠
PyErr_SetImportError⚠
PyErr_SetImportErrorSubclass⚠
PyErr_SetInterrupt⚠
PyErr_SetInterruptEx⚠Py_3_10
PyErr_SetNone⚠
PyErr_SetObject⚠
PyErr_SetRaisedException⚠Py_3_12
PyErr_SetString⚠
PyErr_SyntaxLocation⚠
PyErr_SyntaxLocationEx⚠
PyErr_WarnEx⚠
PyErr_WarnExplicit⚠
PyErr_WarnFormat⚠
PyErr_WriteUnraisable⚠
PyEval_AcquireThread⚠
PyEval_EvalCode⚠
PyEval_EvalCodeEx⚠
PyEval_EvalFrame⚠
PyEval_EvalFrameEx⚠
PyEval_GetBuiltins⚠
PyEval_GetFrame⚠
PyEval_GetFrameBuiltins⚠Py_3_13
PyEval_GetFrameGlobals⚠Py_3_13
PyEval_GetFrameLocals⚠Py_3_13
PyEval_GetFuncDesc⚠
PyEval_GetFuncName⚠
PyEval_GetGlobals⚠
PyEval_GetLocals⚠
PyEval_InitThreads⚠Deprecated
PyEval_ReleaseThread⚠
PyEval_RestoreThread⚠
PyEval_SaveThread⚠
PyEval_SetProfile⚠
PyEval_SetTrace⚠
PyExceptionClass_Check⚠
PyExceptionInstance_Check⚠
PyExceptionInstance_Class⚠Non-PyPy
PyException_GetCause⚠
PyException_GetContext⚠
PyException_GetTraceback⚠
PyException_SetCause⚠
PyException_SetContext⚠
PyException_SetTraceback⚠
PyFile_FromFd⚠
PyFile_GetLine⚠
PyFile_WriteObject⚠
PyFile_WriteString⚠
PyFloat_AS_DOUBLE⚠
PyFloat_AsDouble⚠
PyFloat_Check⚠
PyFloat_CheckExact⚠
PyFloat_FromDouble⚠
PyFloat_FromString⚠
PyFloat_GetInfo⚠
PyFloat_GetMax⚠
PyFloat_GetMin⚠
PyFrameLocalsProxy_Check⚠Py_3_13
PyFrame_BlockSetup⚠
PyFrame_Check⚠
PyFrame_FastToLocals⚠
PyFrame_FastToLocalsWithError⚠
PyFrame_GetBack⚠Py_3_9 and non-PyPy
PyFrame_GetBuiltins⚠Py_3_11
PyFrame_GetCode⚠(Py_3_10, or Py_3_9 and non-Py_LIMITED_API) and non-GraalPy
PyFrame_GetGenerator⚠Py_3_11
PyFrame_GetGlobals⚠Py_3_11
PyFrame_GetLasti⚠Py_3_11
PyFrame_GetLineNumber⚠
PyFrame_GetLocals⚠Py_3_11
PyFrame_GetVar⚠Py_3_12
PyFrame_GetVarString⚠Py_3_12
PyFrame_LocalsToFast⚠
PyFrame_New⚠Non-GraalPy
PyFrozenSet_Check⚠Non-PyPy
PyFrozenSet_CheckExact⚠Neither GraalPy nor PyPy
PyFrozenSet_New⚠
PyFunction_Check⚠Not (PyPy and non-Py_3_8)
PyFunction_GetAnnotations⚠
PyFunction_GetClosure⚠
PyFunction_GetCode⚠
PyFunction_GetDefaults⚠
PyFunction_GetGlobals⚠
PyFunction_GetKwDefaults⚠
PyFunction_GetModule⚠
PyFunction_New⚠
PyFunction_NewWithQualName⚠
PyFunction_SetAnnotations⚠
PyFunction_SetClosure⚠
PyFunction_SetDefaults⚠
PyFunction_SetKwDefaults⚠
PyGC_Collect⚠
PyGC_Disable⚠Py_3_10
PyGC_Enable⚠Py_3_10
PyGC_IsEnabled⚠Py_3_10
PyGILState_Check⚠
PyGILState_Ensure⚠
PyGILState_GetThisThreadState⚠Non-PyPy
PyGILState_Release⚠
PyGen_Check⚠
PyGen_CheckExact⚠
PyGen_New⚠
PyHash_GetFuncDef⚠Non-PyPy
PyImport_AddModule⚠
PyImport_AddModuleObject⚠
PyImport_AddModuleRef⚠Py_3_13
PyImport_AppendInittab⚠
PyImport_ExecCodeModule⚠
PyImport_ExecCodeModuleEx⚠
PyImport_ExecCodeModuleObject⚠
PyImport_ExecCodeModuleWithPathnames⚠
PyImport_ExtendInittab⚠Non-PyPy
PyImport_GetImporter⚠
PyImport_GetMagicNumber⚠
PyImport_GetMagicTag⚠
PyImport_GetModule⚠
PyImport_GetModuleDict⚠
PyImport_Import⚠
PyImport_ImportFrozenModule⚠
PyImport_ImportFrozenModuleObject⚠
PyImport_ImportModule⚠
PyImport_ImportModuleAttr⚠Py_3_14
PyImport_ImportModuleAttrString⚠Py_3_14
PyImport_ImportModuleEx⚠
PyImport_ImportModuleLevel⚠
PyImport_ImportModuleLevelObject⚠
PyImport_ImportModuleNoBlock⚠Deprecated
PyImport_ReloadModule⚠
PyIndex_Check⚠Neither Py_LIMITED_API nor PyPy
PyInterpreterState_Clear⚠Non-PyPy
PyInterpreterState_Delete⚠Non-PyPy
PyInterpreterState_Get⚠Py_3_9 and non-PyPy
PyInterpreterState_GetDict⚠Py_3_8 and non-PyPy
PyInterpreterState_GetID⚠Non-PyPy
PyInterpreterState_Head⚠
PyInterpreterState_Main⚠Non-PyPy
PyInterpreterState_New⚠Non-PyPy
PyInterpreterState_Next⚠
PyInterpreterState_ThreadHead⚠Non-PyPy
PyIter_Check⚠Py_3_8 or PyPy
PyIter_Next⚠
PyIter_NextItem⚠Py_3_14
PyIter_Send⚠Py_3_10 and non-PyPy
PyList_Append⚠
PyList_AsTuple⚠
PyList_Check⚠
PyList_CheckExact⚠
PyList_Clear⚠Py_3_13
PyList_Extend⚠Py_3_13
PyList_GET_ITEM⚠Neither GraalPy nor PyPy
Macro, trading safety for speed
PyList_GET_SIZE⚠Non-PyPy
PyList_GetItem⚠
PyList_GetItemRef⚠Py_3_13
PyList_GetSlice⚠
PyList_Insert⚠
PyList_New⚠
PyList_Reverse⚠
PyList_SET_ITEM⚠Neither GraalPy nor PyPy
Macro, only to be used to fill in brand new lists
PyList_SetItem⚠
PyList_SetSlice⚠
PyList_Size⚠
PyList_Sort⚠
PyLong_AsDouble⚠
PyLong_AsLong⚠
PyLong_AsLongAndOverflow⚠
PyLong_AsLongLong⚠
PyLong_AsLongLongAndOverflow⚠
PyLong_AsNativeBytes⚠Py_3_13
PyLong_AsSize_t⚠
PyLong_AsSsize_t⚠
PyLong_AsUnsignedLong⚠
PyLong_AsUnsignedLongLong⚠
PyLong_AsUnsignedLongLongMask⚠
PyLong_AsUnsignedLongMask⚠
PyLong_AsVoidPtr⚠
PyLong_Check⚠
PyLong_CheckExact⚠
PyLong_FromDouble⚠
PyLong_FromLong⚠
PyLong_FromLongLong⚠
PyLong_FromNativeBytes⚠Py_3_13
PyLong_FromSize_t⚠
PyLong_FromSsize_t⚠
PyLong_FromString⚠
PyLong_FromUnicodeObject⚠
PyLong_FromUnsignedLong⚠
PyLong_FromUnsignedLongLong⚠
PyLong_FromUnsignedNativeBytes⚠Py_3_13
PyLong_FromVoidPtr⚠
PyLong_GetInfo⚠
PyMapping_Check⚠
PyMapping_DelItem⚠
PyMapping_DelItemString⚠
PyMapping_GetItemString⚠
PyMapping_HasKey⚠
PyMapping_HasKeyString⚠
PyMapping_Items⚠
PyMapping_Keys⚠
PyMapping_Length⚠Non-PyPy
PyMapping_SetItemString⚠
PyMapping_Size⚠
PyMapping_Values⚠
PyMarshal_ReadObjectFromString⚠
PyMarshal_WriteObjectToString⚠
PyMem_Calloc⚠
PyMem_Free⚠
PyMem_GetAllocator⚠Neither GraalPy nor PyPy
PyMem_Malloc⚠
PyMem_RawCalloc⚠
PyMem_RawFree⚠
PyMem_RawMalloc⚠
PyMem_RawRealloc⚠
PyMem_Realloc⚠
PyMem_SetAllocator⚠Neither GraalPy nor PyPy
PyMem_SetupDebugHooks⚠Neither GraalPy nor PyPy
PyMember_GetOne⚠
PyMember_SetOne⚠
PyMemoryView_Check⚠
PyMemoryView_FromBuffer⚠Py_3_11 or non-Py_LIMITED_API
PyMemoryView_FromMemory⚠
PyMemoryView_FromObject⚠
PyMemoryView_GetContiguous⚠
PyModuleDef_Init⚠
PyModule_Add⚠Py_3_13
PyModule_AddFunctions⚠
PyModule_AddIntConstant⚠
PyModule_AddObject⚠
PyModule_AddObjectRef⚠Py_3_10
PyModule_AddStringConstant⚠
PyModule_AddType⚠Py_3_10, or Py_3_9 and non-Py_LIMITED_API
PyModule_Check⚠
PyModule_CheckExact⚠
PyModule_Create⚠
PyModule_Create2⚠Non-py_sys_config=Py_TRACE_REFS
PyModule_ExecDef⚠
PyModule_FromDefAndSpec⚠
PyModule_FromDefAndSpec2⚠Non-py_sys_config=Py_TRACE_REFS
PyModule_GetDef⚠
PyModule_GetDict⚠
PyModule_GetFilename⚠DeprecatedNot (PyPy and Windows)
PyModule_GetFilenameObject⚠Non-PyPy
PyModule_GetName⚠
PyModule_GetNameObject⚠Non-PyPy
PyModule_GetState⚠
PyModule_New⚠
PyModule_NewObject⚠
PyModule_SetDocString⚠
PyMutex_IsLocked⚠Py_3_14
PyMutex_Lock⚠
PyMutex_Unlock⚠
PyNumber_Absolute⚠
PyNumber_Add⚠
PyNumber_And⚠
PyNumber_AsSsize_t⚠
PyNumber_Check⚠
PyNumber_Divmod⚠
PyNumber_Float⚠
PyNumber_FloorDivide⚠
PyNumber_InPlaceAdd⚠
PyNumber_InPlaceAnd⚠
PyNumber_InPlaceFloorDivide⚠
PyNumber_InPlaceLshift⚠
PyNumber_InPlaceMatrixMultiply⚠
PyNumber_InPlaceMultiply⚠
PyNumber_InPlaceOr⚠
PyNumber_InPlacePower⚠
PyNumber_InPlaceRemainder⚠
PyNumber_InPlaceRshift⚠
PyNumber_InPlaceSubtract⚠
PyNumber_InPlaceTrueDivide⚠
PyNumber_InPlaceXor⚠
PyNumber_Index⚠
PyNumber_Invert⚠
PyNumber_Long⚠
PyNumber_Lshift⚠
PyNumber_MatrixMultiply⚠
PyNumber_Multiply⚠
PyNumber_Negative⚠
PyNumber_Or⚠
PyNumber_Positive⚠
PyNumber_Power⚠
PyNumber_Remainder⚠
PyNumber_Rshift⚠
PyNumber_Subtract⚠
PyNumber_ToBase⚠
PyNumber_TrueDivide⚠
PyNumber_Xor⚠
PyOS_AfterFork⚠Deprecated
PyOS_AfterFork_Child⚠
PyOS_AfterFork_Parent⚠
PyOS_BeforeFork⚠
PyOS_FSPath⚠
PyOS_InterruptOccurred⚠
PyOS_double_to_string⚠
PyOS_getsig⚠
PyOS_setsig⚠
PyOS_string_to_double⚠
PyOS_strtol⚠
PyOS_strtoul⚠
PyObject_ASCII⚠
PyObject_AsFileDescriptor⚠
PyObject_Bytes⚠
PyObject_Call⚠
PyObject_CallFinalizer⚠
PyObject_CallFinalizerFromDealloc⚠
PyObject_CallFunction⚠
PyObject_CallFunctionObjArgs⚠
PyObject_CallMethod⚠
PyObject_CallMethodNoArgs⚠Py_3_9 and non-PyPy
PyObject_CallMethodObjArgs⚠
PyObject_CallMethodOneArg⚠Py_3_9 and non-PyPy
PyObject_CallNoArgs⚠(Py_3_10, or Py_3_9 and non-Py_LIMITED_API) and non-PyPy
PyObject_CallObject⚠
PyObject_CallOneArg⚠Py_3_8 and non-PyPy
PyObject_Calloc⚠
PyObject_CheckBuffer⚠Non-PyPy
PyObject_ClearWeakRefs⚠
PyObject_CopyData⚠
PyObject_DelAttr⚠Py_3_13, or PyPy and non-Py_3_11
PyObject_DelAttrString⚠Py_3_13, or PyPy and non-Py_3_11
PyObject_DelItem⚠
PyObject_DelItemString⚠
PyObject_Dir⚠
PyObject_Format⚠
PyObject_Free⚠
PyObject_GC_Del⚠
PyObject_GC_IsFinalized⚠Py_3_10, or Py_3_9 and non-PyPy
PyObject_GC_IsTracked⚠Py_3_10, or Py_3_9 and non-PyPy
PyObject_GC_New⚠
PyObject_GC_NewVar⚠
PyObject_GC_Resize⚠
PyObject_GC_Track⚠Non-PyPy
PyObject_GC_UnTrack⚠Non-PyPy
PyObject_GET_WEAKREFS_LISTPTR⚠
PyObject_GenericGetAttr⚠
PyObject_GenericGetDict⚠Not (Py_LIMITED_API and non-Py_3_10)
PyObject_GenericHash⚠Py_3_13
PyObject_GenericSetAttr⚠
PyObject_GenericSetDict⚠
PyObject_GetArenaAllocator⚠Neither GraalPy nor PyPy
PyObject_GetAttr⚠
PyObject_GetAttrString⚠
PyObject_GetBuffer⚠
PyObject_GetItem⚠
PyObject_GetIter⚠
PyObject_GetOptionalAttr⚠Py_3_13
PyObject_GetOptionalAttrString⚠Py_3_13
PyObject_GetTypeData⚠Py_3_12
PyObject_HasAttr⚠
PyObject_HasAttrString⚠
PyObject_HasAttrStringWithError⚠Py_3_13
PyObject_HasAttrWithError⚠Py_3_13
PyObject_Hash⚠
PyObject_HashNotImplemented⚠
PyObject_IS_GC⚠Py_3_9
PyObject_Init⚠
PyObject_InitVar⚠
PyObject_IsInstance⚠
PyObject_IsSubclass⚠
PyObject_IsTrue⚠
PyObject_Length⚠
PyObject_LengthHint⚠
PyObject_Malloc⚠
PyObject_New⚠
PyObject_NewVar⚠
PyObject_Not⚠
PyObject_Print⚠
PyObject_Realloc⚠
PyObject_Repr⚠
PyObject_RichCompare⚠
PyObject_RichCompareBool⚠
PyObject_SelfIter⚠
PyObject_SetArenaAllocator⚠Neither GraalPy nor PyPy
PyObject_SetAttr⚠
PyObject_SetAttrString⚠
PyObject_SetItem⚠
PyObject_Size⚠
PyObject_Str⚠
PyObject_Type⚠
PyObject_TypeCheck⚠
PyObject_Vectorcall⚠Py_3_12, or Py_3_11 and non-Py_LIMITED_API
PyObject_VectorcallDict⚠Py_3_8
PyObject_VectorcallMethod⚠Py_3_12, or Py_3_9 and neither Py_LIMITED_API nor PyPy
PyPreConfig_InitIsolatedConfig⚠
PyPreConfig_InitPythonConfig⚠
PyRange_Check⚠
PyRun_AnyFile⚠Neither GraalPy nor PyPy
PyRun_AnyFileEx⚠Neither GraalPy nor PyPy
PyRun_AnyFileExFlags⚠
PyRun_AnyFileFlags⚠Neither GraalPy nor PyPy
PyRun_File⚠
PyRun_FileEx⚠Neither GraalPy nor PyPy
PyRun_FileExFlags⚠Neither GraalPy nor PyPy
PyRun_FileFlags⚠Neither GraalPy nor PyPy
PyRun_InteractiveLoop⚠Neither GraalPy nor PyPy
PyRun_InteractiveLoopFlags⚠
PyRun_InteractiveOne⚠Neither GraalPy nor PyPy
PyRun_InteractiveOneFlags⚠
PyRun_InteractiveOneObject⚠
PyRun_SimpleFile⚠Neither GraalPy nor PyPy
PyRun_SimpleFileEx⚠Neither GraalPy nor PyPy
PyRun_SimpleFileExFlags⚠
PyRun_SimpleString⚠
PyRun_SimpleStringFlags⚠
PyRun_String⚠
PyRun_StringFlags⚠
PySeqIter_Check⚠
PySeqIter_New⚠
PySequence_Check⚠
PySequence_Concat⚠
PySequence_Contains⚠
PySequence_Count⚠
PySequence_DelItem⚠
PySequence_DelSlice⚠
PySequence_Fast⚠
PySequence_GetItem⚠
PySequence_GetSlice⚠
PySequence_In⚠
PySequence_InPlaceConcat⚠
PySequence_InPlaceRepeat⚠
PySequence_Index⚠
PySequence_Length⚠Non-PyPy
PySequence_List⚠
PySequence_Repeat⚠
PySequence_SetItem⚠
PySequence_SetSlice⚠
PySequence_Size⚠
PySequence_Tuple⚠
PySet_Add⚠
PySet_Check⚠Non-PyPy
PySet_CheckExact⚠Py_3_10
PySet_Clear⚠
PySet_Contains⚠
PySet_Discard⚠
PySet_GET_SIZE⚠Neither GraalPy nor PyPy and non-Py_LIMITED_API
PySet_New⚠
PySet_Pop⚠
PySet_Size⚠
PySlice_AdjustIndices⚠
PySlice_Check⚠
PySlice_GetIndices⚠
PySlice_GetIndicesEx⚠
PySlice_New⚠
PySlice_Unpack⚠
PyState_AddModule⚠
PyState_FindModule⚠
PyState_RemoveModule⚠
PyStatus_Error⚠
PyStatus_Exception⚠
PyStatus_Exit⚠
PyStatus_IsError⚠
PyStatus_IsExit⚠
PyStatus_NoMemory⚠
PyStatus_Ok⚠
PyStructSequence_GET_ITEM⚠Neither GraalPy nor Py_LIMITED_API nor PyPy
PyStructSequence_GetItem⚠Non-PyPy
PyStructSequence_InitType⚠Non-Py_LIMITED_API
PyStructSequence_InitType2⚠Non-Py_LIMITED_API
PyStructSequence_New⚠
PyStructSequence_NewType⚠Non-PyPy
PyStructSequence_SET_ITEM⚠Neither GraalPy nor Py_LIMITED_API nor PyPy
PyStructSequence_SetItem⚠Non-PyPy
PySys_AddWarnOption⚠Deprecated
PySys_AddWarnOptionUnicode⚠Deprecated
PySys_AddXOption⚠
PySys_FormatStderr⚠
PySys_FormatStdout⚠
PySys_GetObject⚠
PySys_GetXOptions⚠
PySys_HasWarnOptions⚠Deprecated
PySys_ResetWarnOptions⚠Deprecated
PySys_SetArgv⚠Deprecated
PySys_SetArgvEx⚠Deprecated
PySys_SetObject⚠
PySys_SetPath⚠
PySys_WriteStderr⚠
PySys_WriteStdout⚠
PyTZInfo_Check⚠
Check if op is a PyDateTimeAPI.TZInfoType or subtype.
PyTZInfo_CheckExact⚠
Check if op’s type is exactly PyDateTimeAPI.TZInfoType.
PyThreadState_Clear⚠
PyThreadState_Delete⚠
PyThreadState_DeleteCurrent⚠
PyThreadState_EnterTracing⚠Py_3_11
PyThreadState_GET⚠
PyThreadState_Get⚠
PyThreadState_GetDict⚠
PyThreadState_GetFrame⚠(Py_3_10, or Py_3_9 and non-Py_LIMITED_API) and non-PyPy
PyThreadState_GetID⚠(Py_3_10, or Py_3_9 and non-Py_LIMITED_API) and non-PyPy
PyThreadState_GetInterpreter⚠(Py_3_10, or Py_3_9 and non-Py_LIMITED_API) and non-PyPy
PyThreadState_GetUnchecked⚠Py_3_13
PyThreadState_LeaveTracing⚠Py_3_11
PyThreadState_New⚠
PyThreadState_Next⚠Non-PyPy
PyThreadState_SetAsyncExc⚠Non-PyPy
PyThreadState_Swap⚠
PyTimeZone_FromOffset⚠
PyTimeZone_FromOffsetAndName⚠
PyTime_Check⚠
Check if op is a PyDateTimeAPI.TimeType or subtype.
PyTime_CheckExact⚠
Check if op’s type is exactly PyDateTimeAPI.TimeType.
PyTraceBack_Check⚠Non-PyPy
PyTraceBack_Here⚠
PyTraceBack_Print⚠
PyTuple_Check⚠
PyTuple_CheckExact⚠
PyTuple_GET_ITEM⚠Neither GraalPy nor PyPy
PyTuple_GET_SIZE⚠Non-PyPy
Macro, trading safety for speed
PyTuple_GetItem⚠
PyTuple_GetSlice⚠
PyTuple_New⚠
PyTuple_Pack⚠
PyTuple_SET_ITEM⚠Neither GraalPy nor PyPy
Macro, only to be used to fill in brand new tuples
PyTuple_SetItem⚠
PyTuple_Size⚠
PyType_Check⚠
PyType_CheckExact⚠
PyType_ClearCache⚠
PyType_FastSubclass⚠
PyType_Freeze⚠Py_3_14
PyType_FromMetaclass⚠Py_3_12
PyType_FromModuleAndSpec⚠Py_3_10, or Py_3_9 and non-Py_LIMITED_API
PyType_FromSpec⚠
PyType_FromSpecWithBases⚠
PyType_GenericAlloc⚠
PyType_GenericNew⚠
PyType_GetDict⚠Py_3_12
PyType_GetFlags⚠
PyType_GetFullyQualifiedName⚠Py_3_13
PyType_GetModule⚠Py_3_10, or Py_3_9 and non-Py_LIMITED_API
PyType_GetModuleByDef⚠Py_3_13, or Py_3_11 and non-Py_LIMITED_API
PyType_GetModuleName⚠Py_3_13
PyType_GetModuleState⚠Py_3_10, or Py_3_9 and non-Py_LIMITED_API
PyType_GetName⚠Py_3_11
PyType_GetQualName⚠Py_3_11
PyType_GetSlot⚠
PyType_GetTypeDataSize⚠Py_3_12
PyType_HasFeature⚠
PyType_IS_GC⚠
PyType_IsSubtype⚠
PyType_Modified⚠
PyType_Ready⚠
PyType_SUPPORTS_WEAKREFS⚠
PyUnicodeDecodeError_Create⚠Non-PyPy
PyUnicodeDecodeError_GetEncoding⚠
PyUnicodeDecodeError_GetEnd⚠
PyUnicodeDecodeError_GetObject⚠
PyUnicodeDecodeError_GetReason⚠
PyUnicodeDecodeError_GetStart⚠
PyUnicodeDecodeError_SetEnd⚠
PyUnicodeDecodeError_SetReason⚠
PyUnicodeDecodeError_SetStart⚠
PyUnicodeEncodeError_GetEncoding⚠
PyUnicodeEncodeError_GetEnd⚠
PyUnicodeEncodeError_GetObject⚠
PyUnicodeEncodeError_GetReason⚠
PyUnicodeEncodeError_GetStart⚠
PyUnicodeEncodeError_SetEnd⚠
PyUnicodeEncodeError_SetReason⚠
PyUnicodeEncodeError_SetStart⚠
PyUnicodeTranslateError_GetEnd⚠
PyUnicodeTranslateError_GetObject⚠
PyUnicodeTranslateError_GetReason⚠
PyUnicodeTranslateError_GetStart⚠
PyUnicodeTranslateError_SetEnd⚠
PyUnicodeTranslateError_SetReason⚠
PyUnicodeTranslateError_SetStart⚠
PyUnicodeWriter_Create⚠Py_3_14
PyUnicodeWriter_Discard⚠Py_3_14
PyUnicodeWriter_Finish⚠Py_3_14
PyUnicodeWriter_WriteChar⚠Py_3_14
PyUnicodeWriter_WriteUTF8⚠Py_3_14
PyUnicode_1BYTE_DATA⚠Neither GraalPy nor PyPy
PyUnicode_2BYTE_DATA⚠Neither GraalPy nor PyPy
PyUnicode_4BYTE_DATA⚠Neither GraalPy nor PyPy
PyUnicode_Append⚠
PyUnicode_AppendAndDel⚠
PyUnicode_AsASCIIString⚠
PyUnicode_AsCharmapString⚠
PyUnicode_AsDecodedObject⚠
PyUnicode_AsDecodedUnicode⚠
PyUnicode_AsEncodedObject⚠
PyUnicode_AsEncodedString⚠
PyUnicode_AsEncodedUnicode⚠
PyUnicode_AsLatin1String⚠
PyUnicode_AsRawUnicodeEscapeString⚠
PyUnicode_AsUCS4⚠
PyUnicode_AsUCS4Copy⚠
PyUnicode_AsUTF8⚠
PyUnicode_AsUTF8AndSize⚠Py_3_10 or non-Py_LIMITED_API
PyUnicode_AsUTF8String⚠
PyUnicode_AsUTF16String⚠
PyUnicode_AsUTF32String⚠
PyUnicode_AsUnicodeEscapeString⚠
PyUnicode_AsWideChar⚠
PyUnicode_AsWideCharString⚠
PyUnicode_BuildEncodingMap⚠
PyUnicode_Check⚠Non-PyPy
PyUnicode_CheckExact⚠Non-PyPy
PyUnicode_ClearFreeList⚠
PyUnicode_Compare⚠
PyUnicode_CompareWithASCIIString⚠
PyUnicode_Concat⚠
PyUnicode_Contains⚠
PyUnicode_CopyCharacters⚠Non-PyPy
PyUnicode_Count⚠
PyUnicode_DATA⚠
PyUnicode_Decode⚠
PyUnicode_DecodeASCII⚠
PyUnicode_DecodeCharmap⚠
PyUnicode_DecodeFSDefault⚠
PyUnicode_DecodeFSDefaultAndSize⚠
PyUnicode_DecodeLatin1⚠
PyUnicode_DecodeLocale⚠
PyUnicode_DecodeLocaleAndSize⚠
PyUnicode_DecodeRawUnicodeEscape⚠
PyUnicode_DecodeUTF7⚠
PyUnicode_DecodeUTF8⚠
PyUnicode_DecodeUTF7Stateful⚠
PyUnicode_DecodeUTF8Stateful⚠
PyUnicode_DecodeUTF16⚠
PyUnicode_DecodeUTF32⚠
PyUnicode_DecodeUTF16Stateful⚠
PyUnicode_DecodeUTF32Stateful⚠
PyUnicode_DecodeUnicodeEscape⚠
PyUnicode_Encode⚠
PyUnicode_EncodeASCII⚠
PyUnicode_EncodeCharmap⚠
PyUnicode_EncodeDecimal⚠
PyUnicode_EncodeFSDefault⚠
PyUnicode_EncodeLatin1⚠
PyUnicode_EncodeLocale⚠
PyUnicode_EncodeRawUnicodeEscape⚠
PyUnicode_EncodeUTF7⚠
PyUnicode_EncodeUTF8⚠
PyUnicode_EncodeUTF16⚠
PyUnicode_EncodeUTF32⚠
PyUnicode_EncodeUnicodeEscape⚠
PyUnicode_EqualToUTF8⚠Py_3_13
PyUnicode_EqualToUTF8AndSize⚠Py_3_13
PyUnicode_FSConverter⚠
PyUnicode_FSDecoder⚠
PyUnicode_Fill⚠Non-PyPy
PyUnicode_Find⚠
PyUnicode_FindChar⚠
PyUnicode_Format⚠
PyUnicode_FromEncodedObject⚠
PyUnicode_FromFormat⚠
PyUnicode_FromKindAndData⚠
PyUnicode_FromObject⚠
PyUnicode_FromOrdinal⚠
PyUnicode_FromString⚠
PyUnicode_FromStringAndSize⚠
PyUnicode_FromWideChar⚠
PyUnicode_GET_LENGTH⚠Non-GraalPy
PyUnicode_GetDefaultEncoding⚠
PyUnicode_GetLength⚠
PyUnicode_IS_READY⚠GraalPy or Py_3_12
PyUnicode_InternFromString⚠
PyUnicode_InternInPlace⚠
PyUnicode_IsIdentifier⚠
PyUnicode_Join⚠
PyUnicode_KIND⚠
PyUnicode_New⚠
PyUnicode_Partition⚠
PyUnicode_READY⚠GraalPy or Py_3_12
PyUnicode_RPartition⚠
PyUnicode_RSplit⚠
PyUnicode_ReadChar⚠
PyUnicode_Replace⚠
PyUnicode_Resize⚠
PyUnicode_RichCompare⚠
PyUnicode_Split⚠
PyUnicode_Splitlines⚠
PyUnicode_Substring⚠
PyUnicode_Tailmatch⚠
PyUnicode_TransformDecimalToASCII⚠
PyUnicode_Translate⚠
PyUnicode_TranslateCharmap⚠
PyUnicode_WriteChar⚠
PyVectorcall_Call⚠Py_3_8
PyVectorcall_Function⚠Py_3_8 and non-PyPy
PyVectorcall_NARGS⚠Py_3_8
PyWeakref_Check⚠
PyWeakref_CheckProxy⚠Non-PyPy
PyWeakref_CheckRef⚠Non-PyPy
PyWeakref_CheckRefExact⚠Non-PyPy
PyWeakref_GetObject⚠Deprecated
PyWeakref_GetRef⚠Py_3_13
PyWeakref_NewProxy⚠
PyWeakref_NewRef⚠
PyWideStringList_Append⚠
PyWideStringList_Insert⚠
PyWrapper_New⚠
Py_AddPendingCall⚠
Py_AtExit⚠
Py_BuildValue⚠
Py_BytesMain⚠
Py_CLEAR⚠
Py_CompileString⚠Neither GraalPy nor PyPy
Py_CompileStringExFlags⚠Neither GraalPy nor PyPy
Py_CompileStringFlags⚠Neither GraalPy nor PyPy
Py_CompileStringObject⚠Non-Py_LIMITED_API
Py_DECREF⚠
Py_DecRef⚠
Py_DecodeLocale⚠
Py_Ellipsis⚠
Py_EncodeLocale⚠
Py_EndInterpreter⚠
Py_EnterRecursiveCall⚠Py_3_9
Py_Exit⚠
Py_ExitStatusException⚠
Py_False⚠
Py_FatalError⚠
Py_Finalize⚠
Py_FinalizeEx⚠
Py_GETENV⚠Py_3_11
Py_GenericAlias⚠Py_3_9
Py_GetArgcArgv⚠
Py_GetBuildInfo⚠
Py_GetCompiler⚠
Py_GetConstant⚠Py_3_13
Py_GetConstantBorrowed⚠Py_3_13
Py_GetCopyright⚠
Py_GetExecPrefix⚠Deprecated
Py_GetPath⚠Deprecated
Py_GetPlatform⚠
Py_GetPrefix⚠Deprecated
Py_GetProgramFullPath⚠Deprecated
Py_GetProgramName⚠Deprecated
Py_GetPythonHome⚠Deprecated
Py_GetRecursionLimit⚠
Py_GetVersion⚠
Py_HashBuffer⚠Py_3_14
Py_HashPointer⚠Py_3_13
Py_INCREF⚠
Py_IS_TYPE⚠
Py_IncRef⚠
Py_Initialize⚠
Py_InitializeEx⚠
Py_InitializeFromConfig⚠
Py_Is⚠Neither GraalPy nor PyPy
Py_IsFalse⚠
Py_IsFinalizing⚠Py_3_13
Py_IsInitialized⚠
Py_IsNone⚠
Py_IsTrue⚠
Py_LeaveRecursiveCall⚠Py_3_9
Py_Main⚠
Py_MakePendingCalls⚠
Py_NewInterpreter⚠
Py_NewInterpreterFromConfig⚠Py_3_12
Py_NewRef⚠Py_3_10 and (PyPy or non-Py_LIMITED_API)
Py_None⚠
Py_NotImplemented⚠
Py_PreInitialize⚠
Py_PreInitializeFromArgs⚠
Py_PreInitializeFromBytesArgs⚠
Py_REFCNT⚠Not (Py_3_14 and Py_LIMITED_API)
Py_ReprEnter⚠
Py_ReprLeave⚠
Py_RunMain⚠
Py_SIZE⚠
Py_SetProgramName⚠Deprecated
Py_SetPythonHome⚠Deprecated
Py_SetRecursionLimit⚠
Py_TYPE⚠
Py_True⚠
Py_XDECREF⚠
Py_XINCREF⚠
Py_XNewRef⚠Py_3_10 and (PyPy or non-Py_LIMITED_API)
_PyBytes_Resize⚠
_PyCode_GetExtra⚠
_PyCode_SetExtra⚠
_PyErr_BadInternalCall⚠
_PyEval_EvalFrameDefault⚠Py_3_11
_PyEval_RequestCodeExtraIndex⚠
_PyFloat_CAST⚠
_PyLong_AsByteArray⚠
_PyLong_FromByteArray⚠
_PyLong_NumBits⚠
_PyObject_CallNoArg⚠Py_3_8 and non-PyPy
_PyObject_FastCall⚠Py_3_8 and neither GraalPy nor PyPy
_PyObject_FastCallTstate⚠Py_3_8 and neither GraalPy nor PyPy
_PyObject_MakeTpCall⚠Py_3_8 and non-PyPy
_PyObject_VectorcallTstate⚠Py_3_8 and non-PyPy
_PyRun_AnyFileObject⚠
_PyRun_InteractiveLoopObject⚠
_PyRun_SimpleFileObject⚠
_PySequence_IterSearch⚠Neither GraalPy nor PyPy
_PySet_NextEntry⚠Non-Py_LIMITED_API
_PyStack_AsDict⚠Py_3_8 and neither GraalPy nor PyPy
_PyUnicode_CheckConsistency⚠Neither GraalPy nor PyPy
_PyUnicode_NONCOMPACT_DATA⚠Neither GraalPy nor PyPy
_PyUnicode_Ready⚠
_Py_CheckFunctionResult⚠Py_3_8 and non-PyPy
_Py_HashBytes⚠Neither Py_LIMITED_API nor PyPy

Type Aliases§

PY_INT32_T
PY_INT64_T
PY_UINT32_T
PY_UINT64_T
PyCFunction
PyCFunctionFastPy_3_10 or non-Py_LIMITED_API
PyCFunctionFastWithKeywordsPy_3_10 or non-Py_LIMITED_API
PyCFunctionWithKeywords
PyCMethodPy_3_9 and non-Py_LIMITED_API
PyCapsule_Destructor
PyStructSequenceNon-Py_LIMITED_API
Py_UCS1
Py_UCS2
Py_UCS4
Py_UNICODEDeprecatedNon-Py_LIMITED_API
Py_hash_t
Py_intptr_t
Py_ssize_t
Py_tracefunc
Py_uhash_t
Py_uintptr_t
_PyCFunctionFastDeprecatedPy_3_10 or non-Py_LIMITED_API
_PyCFunctionFastWithKeywordsDeprecatedPy_3_10 or non-Py_LIMITED_API
allocfunc
binaryfunc
descrgetfunc
descrsetfunc
destructor
freefunc
getattrfunc
getattrofunc
getbufferproc
getiterfunc
getter
hashfunc
initproc
inquiry
ipowfunc
Helper to use as pymethod ffi definition
iternextfunc
lenfunc
newfunc
objobjargproc
objobjproc
printfunc
releasebufferproc
reprfunc
richcmpfunc
sendfuncPy_3_10
setattrfunc
setattrofunc
setter
ssizeargfunc
ssizeobjargproc
ssizessizeargfunc
ssizessizeobjargproc
ternaryfunc
traverseproc
unaryfunc
vectorcallfuncPy_3_8
visitproc
wrapperfunc
wrapperfunc_kwds

Unions§

PyMethodDefPointer
Function types used to implement Python callables.
PyObjectObRefcntPy_3_12 and non-Py_GIL_DISABLED
This union is anonymous in CPython, so the name was given by PyO3 because Rust union need a name.
PyUnicodeObjectData