Expand description
Raw FFI declarations for Python’s C API.
PyO3 can be used to write native Python modules or run Python code and modules from Rust.
This crate just 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 crate at all.
The contents of this crate 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 crate 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.
§Feature flags
PyO3 uses feature flags to enable you to opt-in to additional functionality. For a detailed description, see the Features chapter of the guide.
§Optional feature flags
The following features customize PyO3’s behavior:
abi3
: Restricts PyO3’s API to a subset of the full Python API which is guaranteed by PEP 384 to be forward-compatible with future Python versions.extension-module
: This will tell the linker to keep the Python symbols unresolved, so that your module can also be used with statically linked Python interpreters. Use this feature when building an extension module.
§rustc
environment flags
PyO3 uses rustc
’s --cfg
flags to enable or disable code used for different Python versions.
If you want to do this for your own crate, you can do so with the pyo3-build-config
crate.
Py_3_7
,Py_3_8
,Py_3_9
,Py_3_10
,Py_3_11
,Py_3_12
,Py_3_13
: Marks code that is only enabled when compiling for a given minimum Python version.Py_LIMITED_API
: Marks code enabled when theabi3
feature flag is enabled.Py_GIL_DISABLED
: Marks code that runs only in the free-threaded build of CPython.PyPy
- Marks code enabled when compiling for PyPy.GraalPy
- Marks code enabled when compiling for GraalPy.
Additionally, you can query for the values Py_DEBUG
, Py_REF_DEBUG
,
Py_TRACE_REFS
, and COUNT_ALLOCS
from py_sys_config
to query for the
corresponding C build-time defines. For example, to conditionally define
debug code using Py_DEBUG
, you could do:
#[cfg(py_sys_config = "Py_DEBUG")]
println!("only runs if python was compiled with Py_DEBUG")
To use these attributes, add pyo3-build-config
as a build dependency in
your Cargo.toml
:
[build-dependencies]
pyo3-build-config ="0.24.0"
And then either create a new build.rs
file in the project root or modify
the existing build.rs
file to call use_pyo3_cfgs()
:
fn main() {
pyo3_build_config::use_pyo3_cfgs();
}
§Minimum supported Rust and Python versions
pyo3-ffi
supports the following Python distributions:
- CPython 3.7 or greater
- PyPy 7.3 (Python 3.9+)
- GraalPy 24.0 or greater (Python 3.10+)
§Example: Building Python Native modules
PyO3 can be used to generate a native Python module. The easiest way to try this out for the
first time is to use maturin
. maturin
is a tool for building and publishing Rust-based
Python packages with minimal configuration. The following steps set up some files for an example
Python module, install maturin
, and then show how to build and import the Python module.
First, create a new folder (let’s call it string_sum
) containing the following two files:
Cargo.toml
[lib]
name = "string_sum"
# "cdylib" is necessary to produce a shared library for Python to import from.
#
# Downstream Rust code (including code in `bin/`, `examples/`, and `tests/`) will not be able
# to `use string_sum;` unless the "rlib" or "lib" crate type is also included, e.g.:
# crate-type = ["cdylib", "rlib"]
crate-type = ["cdylib"]
[dependencies.pyo3-ffi]
version = "0.24.0"
features = ["extension-module"]
[build-dependencies]
# This is only necessary if you need to configure your build based on
# the Python version or the compile-time configuration for the interpreter.
pyo3_build_config = "0.24.0"
If you need to use conditional compilation based on Python version or how
Python was compiled, you need to add pyo3-build-config
as a
build-dependency
in your Cargo.toml
as in the example above and either
create a new build.rs
file or modify an existing one so that
pyo3_build_config::use_pyo3_cfgs()
gets called at build time:
build.rs
fn main() {
pyo3_build_config::use_pyo3_cfgs()
}
src/lib.rs
use std::os::raw::{c_char, c_long};
use std::ptr;
use pyo3_ffi::*;
static mut MODULE_DEF: PyModuleDef = PyModuleDef {
m_base: PyModuleDef_HEAD_INIT,
m_name: c_str!("string_sum").as_ptr(),
m_doc: c_str!("A Python module written in Rust.").as_ptr(),
m_size: 0,
m_methods: unsafe { METHODS as *const [PyMethodDef] as *mut PyMethodDef },
m_slots: std::ptr::null_mut(),
m_traverse: None,
m_clear: None,
m_free: None,
};
static mut METHODS: &[PyMethodDef] = &[
PyMethodDef {
ml_name: c_str!("sum_as_string").as_ptr(),
ml_meth: PyMethodDefPointer {
PyCFunctionFast: sum_as_string,
},
ml_flags: METH_FASTCALL,
ml_doc: c_str!("returns the sum of two integers as a string").as_ptr(),
},
// A zeroed PyMethodDef to mark the end of the array.
PyMethodDef::zeroed(),
];
// The module initialization function, which must be named `PyInit_<your_module>`.
#[allow(non_snake_case)]
#[no_mangle]
pub unsafe extern "C" fn PyInit_string_sum() -> *mut PyObject {
let module = PyModule_Create(ptr::addr_of_mut!(MODULE_DEF));
if module.is_null() {
return module;
}
#[cfg(Py_GIL_DISABLED)]
{
if PyUnstable_Module_SetGIL(module, Py_MOD_GIL_NOT_USED) < 0 {
Py_DECREF(module);
return std::ptr::null_mut();
}
}
module
}
/// A helper to parse function arguments
/// If we used PyO3's proc macros they'd handle all of this boilerplate for us :)
unsafe fn parse_arg_as_i32(obj: *mut PyObject, n_arg: usize) -> Option<i32> {
if PyLong_Check(obj) == 0 {
let msg = format!(
"sum_as_string expected an int for positional argument {}\0",
n_arg
);
PyErr_SetString(PyExc_TypeError, msg.as_ptr().cast::<c_char>());
return None;
}
// Let's keep the behaviour consistent on platforms where `c_long` is bigger than 32 bits.
// In particular, it is an i32 on Windows but i64 on most Linux systems
let mut overflow = 0;
let i_long: c_long = PyLong_AsLongAndOverflow(obj, &mut overflow);
#[allow(irrefutable_let_patterns)] // some platforms have c_long equal to i32
if overflow != 0 {
raise_overflowerror(obj);
None
} else if let Ok(i) = i_long.try_into() {
Some(i)
} else {
raise_overflowerror(obj);
None
}
}
unsafe fn raise_overflowerror(obj: *mut PyObject) {
let obj_repr = PyObject_Str(obj);
if !obj_repr.is_null() {
let mut size = 0;
let p = PyUnicode_AsUTF8AndSize(obj_repr, &mut size);
if !p.is_null() {
let s = std::str::from_utf8_unchecked(std::slice::from_raw_parts(
p.cast::<u8>(),
size as usize,
));
let msg = format!("cannot fit {} in 32 bits\0", s);
PyErr_SetString(PyExc_OverflowError, msg.as_ptr().cast::<c_char>());
}
Py_DECREF(obj_repr);
}
}
pub unsafe extern "C" fn sum_as_string(
_self: *mut PyObject,
args: *mut *mut PyObject,
nargs: Py_ssize_t,
) -> *mut PyObject {
if nargs != 2 {
PyErr_SetString(
PyExc_TypeError,
c_str!("sum_as_string expected 2 positional arguments").as_ptr(),
);
return std::ptr::null_mut();
}
let (first, second) = (*args, *args.add(1));
let first = match parse_arg_as_i32(first, 1) {
Some(x) => x,
None => return std::ptr::null_mut(),
};
let second = match parse_arg_as_i32(second, 2) {
Some(x) => x,
None => return std::ptr::null_mut(),
};
match first.checked_add(second) {
Some(sum) => {
let string = sum.to_string();
PyUnicode_FromStringAndSize(string.as_ptr().cast::<c_char>(), string.len() as isize)
}
None => {
PyErr_SetString(
PyExc_OverflowError,
c_str!("arguments too large to add").as_ptr(),
);
std::ptr::null_mut()
}
}
}
With those two files in place, now maturin
needs to be installed. This can be done using
Python’s package manager pip
. First, load up a new Python virtualenv
, and install maturin
into it:
$ cd string_sum
$ python -m venv .env
$ source .env/bin/activate
$ pip install maturin
Now build and execute the module:
$ maturin develop
# lots of progress output as maturin runs the compilation...
$ python
>>> import string_sum
>>> string_sum.sum_as_string(5, 20)
'25'
As well as with maturin
, it is possible to build using setuptools-rust or
manually. Both offer more flexibility than maturin
but require further
configuration.
This example stores the module definition statically and uses the PyModule_Create
function
in the CPython C API to register the module. This is the “old” style for registering modules
and has the limitation that it cannot support subinterpreters. You can also create a module
using the new multi-phase initialization API that does support subinterpreters. See the
sequential
project located in the examples
directory at the root of the pyo3-ffi
crate
for a worked example of how to this using pyo3-ffi
.
§Using Python from Rust
To embed Python into a Rust binary, you need to ensure that your Python installation contains a shared library. The following steps demonstrate how to ensure this (for Ubuntu).
To install the Python shared library on Ubuntu:
sudo apt install python3-dev
While most projects use the safe wrapper provided by pyo3,
you can take a look at the orjson
library as an example on how to use pyo3-ffi
directly.
For those well versed in C and Rust the tutorials from the CPython documentation
can be easily converted to rust as well.
Re-exports§
pub use crate::_PyWeakReference as PyWeakReference;
pub use self::marshal::*;
Modules§
- compat
- C API Compatibility Shims
- marshal
- structmember
Deprecated
Macros§
- c_str
- This is a helper macro to create a
&'static CStr
.
Structs§
- PyASCII
Object - PyArena
- PyAsync
Methods - PyBase
Exception Object - PyBuffer
Procs - PyByte
Array Object - PyBytes
Object - PyCode
Object - PyCompact
Unicode Object - PyCompiler
Flags - PyComplex
Object - PyConfig
- PyDate
Time_ CAPI - PyDate
Time_ Date - Structure representing a
datetime.date
- PyDate
Time_ Date Time - Structure representing a
datetime.datetime
. - PyDate
Time_ Delta - Structure representing a
datetime.timedelta
. - PyDate
Time_ Time - Structure representing a
datetime.time
. - PyDescr
Object - PyDict
Keys Object - PyDict
Object - PyFloat
Object - PyFrame
Object - PyFunction
Object - PyFuture
Features - PyGen
Object - PyGet
SetDef - Represents the PyGetSetDef structure.
- PyGet
SetDescr Object - PyHash_
Func Def - PyHeap
Type Object - PyImport
Error Object - PyInterpreter
State - PyList
Object - PyLong
Object - PyMapping
Methods - PyMem
Allocator Ex - PyMember
Def - Represents the PyMemberDef structure.
- PyMember
Descr Object - PyMethod
Def - Represents the PyMethodDef structure.
- PyMethod
Descr Object - PyModule
Def - PyModule
Def_ Base - PyModule
Def_ Slot - PyNumber
Methods - PyOS
Error Object - PyObject
- PyObject
Arena Allocator - PyPre
Config - PySequence
Methods - PySet
Object - PySlice
Object - PyStatus
- PyStop
Iteration Object - PyStruct
Sequence_ Desc - PyStruct
Sequence_ Field - PySyntax
Error Object - PySystem
Exit Object - PyThread
State - PyTry
Block - PyTuple
Object - PyType
Object - PyType_
Slot - PyType_
Spec - PyUnicode
Error Object - PyUnicode
Object - PyVar
Object - PyWide
String List - PyWrapper
Descr Object - Py_
buffer - Py_
complex - _PyDate
Time_ Base Date Time - Structure representing a
datetime.datetime
without atzinfo
member. - _PyDate
Time_ Base Time - Structure representing a
datetime.time
without atzinfo
member. - _PyErr_
Stack Item - _PyOpcache
- _PyWeak
Reference - _frozen
- _inittab
- _mod
- _node
- setentry
- symtable
- wrapperbase
Enums§
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_
BARRY_ AS_ BDFL - FUTURE_
DIVISION - FUTURE_
GENERATORS - FUTURE_
GENERATOR_ STOP - FUTURE_
NESTED_ SCOPES - FUTURE_
PRINT_ FUNCTION - FUTURE_
UNICODE_ LITERALS - FUTURE_
WITH_ STATEMENT - MAX_
CO_ EXTRA_ USERS - METH_
CLASS - METH_
COEXIST - METH_
FASTCALL - METH_
KEYWORDS - METH_
NOARGS - METH_O
- METH_
STATIC - METH_
VARARGS - PYOS_
STACK_ MARGIN - PYTHON_
ABI_ VERSION - PYTHON_
API_ VERSION - PY_
BIG_ ENDIAN - PY_
ITERSEARCH_ CONTAINS - PY_
ITERSEARCH_ COUNT - PY_
ITERSEARCH_ INDEX - PY_
LITTLE_ ENDIAN - PY_
SSIZE_ T_ MAX - PY_
SSIZE_ T_ MIN - PY_
STDIOTEXTMODE - PY_
VECTORCALL_ ARGUMENTS_ OFFSET - 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 - PyDate
Time_ CAPSULE_ NAME - PyModule
Def_ 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 - PyUnicode_
WCHAR_ KIND Deprecated - PyWrapper
Flag_ KEYWORDS - Py_
CLEANUP_ SUPPORTED - 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_ SIPHAS H24 - Py_LE
- Py_LT
- 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_ HAVE_ FINALIZE - Py_
TPFLAGS_ HAVE_ GC - Objects support garbage collection (see objimp.h)
- Py_
TPFLAGS_ HAVE_ VECTORCALL - 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_ IS_ ABSTRACT - Py_
TPFLAGS_ LIST_ SUBCLASS - Py_
TPFLAGS_ LONG_ SUBCLASS - Py_
TPFLAGS_ METHOD_ DESCRIPTOR - 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_ 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_
func_ type_ input - Py_
mod_ create - Py_
mod_ exec - 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_ MORTAL - SSTATE_
NOT_ INTERNED - _PyHASH_
MULTIPLIER - _Py_
T_ NONE Deprecated - _Py_
T_ OBJECT Deprecated - _Py_
WRITE_ RESTRICTED Deprecated
Statics§
- PyAsync
Gen_ ⚠Type - PyBase
Object_ ⚠Type - built-in ‘object’
- PyBool_
Type ⚠ - PyByte
Array ⚠Iter_ Type - PyByte
Array_ ⚠Type - PyBytes
Iter_ ⚠Type - PyBytes_
Type ⚠ - PyCFunction_
Type ⚠ - PyCall
Iter_ ⚠Type - PyCapsule_
Type ⚠ - PyClass
Method ⚠Descr_ Type - PyCode_
Type ⚠ - PyComplex_
Type ⚠ - PyContext
Token_ ⚠Type - PyContext
Var_ ⚠Type - PyContext_
Type ⚠ - PyCoro_
Type ⚠ - PyDict
Items_ ⚠Type - PyDict
Iter ⚠Item_ Type - PyDict
Iter ⚠Key_ Type - PyDict
Iter ⚠Value_ Type - PyDict
Keys_ ⚠Type - PyDict
Proxy_ ⚠Type - PyDict
RevIter ⚠Item_ Type - PyDict
RevIter ⚠Key_ Type - PyDict
RevIter ⚠Value_ Type - PyDict
Values_ ⚠Type - PyDict_
Type ⚠ - PyEllipsis_
Type ⚠ - PyEnum_
Type ⚠ - PyExc_
Arithmetic ⚠Error - PyExc_
Assertion ⚠Error - PyExc_
Attribute ⚠Error - PyExc_
Base ⚠Exception - PyExc_
BlockingIO ⚠Error - PyExc_
Broken ⚠Pipe Error - PyExc_
Buffer ⚠Error - PyExc_
Bytes ⚠Warning - PyExc_
Child ⚠Process Error - PyExc_
Connection ⚠Aborted Error - PyExc_
Connection ⚠Error - PyExc_
Connection ⚠Refused Error - PyExc_
Connection ⚠Reset Error - PyExc_
Deprecation ⚠Warning - PyExc_
EOFError ⚠ - PyExc_
Environment ⚠Error - PyExc_
Exception ⚠ - PyExc_
File ⚠Exists Error - PyExc_
File ⚠NotFound Error - PyExc_
Floating ⚠Point Error - PyExc_
Future ⚠Warning - PyExc_
Generator ⚠Exit - PyExc_
IOError ⚠ - PyExc_
Import ⚠Error - PyExc_
Import ⚠Warning - PyExc_
Indentation ⚠Error - PyExc_
Index ⚠Error - PyExc_
Interrupted ⚠Error - PyExc_
IsADirectory ⚠Error - PyExc_
KeyError ⚠ - PyExc_
Keyboard ⚠Interrupt - PyExc_
Lookup ⚠Error - PyExc_
Memory ⚠Error - PyExc_
Module ⚠NotFound Error - PyExc_
Name ⚠Error - PyExc_
NotA ⚠Directory Error - PyExc_
NotImplemented ⚠Error - PyExc_
OSError ⚠ - PyExc_
Overflow ⚠Error - PyExc_
Pending ⚠Deprecation Warning - PyExc_
Permission ⚠Error - PyExc_
Process ⚠Lookup Error - PyExc_
Recursion ⚠Error - PyExc_
Recursion ⚠Error Inst - PyExc_
Reference ⚠Error - PyExc_
Resource ⚠Warning - PyExc_
Runtime ⚠Error - PyExc_
Runtime ⚠Warning - PyExc_
Stop ⚠Async Iteration - PyExc_
Stop ⚠Iteration - PyExc_
Syntax ⚠Error - PyExc_
Syntax ⚠Warning - PyExc_
System ⚠Error - PyExc_
System ⚠Exit - PyExc_
TabError ⚠ - PyExc_
Timeout ⚠Error - PyExc_
Type ⚠Error - PyExc_
Unbound ⚠Local Error - PyExc_
Unicode ⚠Decode Error - PyExc_
Unicode ⚠Encode Error - PyExc_
Unicode ⚠Error - PyExc_
Unicode ⚠Translate Error - PyExc_
Unicode ⚠Warning - PyExc_
User ⚠Warning - PyExc_
Value ⚠Error - PyExc_
Warning ⚠ - PyExc_
Zero ⚠Division Error - PyFilter_
Type ⚠ - PyFloat_
Type ⚠ - PyFrame_
Type ⚠ - PyFrozen
Set_ ⚠Type - PyFunction_
Type ⚠ - PyGen_
Type ⚠ - PyGet
SetDescr_ ⚠Type - PyImport_
Frozen ⚠Modules - PyImport_
Inittab ⚠ - PyList
Iter_ ⚠Type - PyList
RevIter_ ⚠Type - PyList_
Type ⚠ - PyLong
Range ⚠Iter_ Type - PyLong_
Type ⚠ - PyMap_
Type ⚠ - PyMember
Descr_ ⚠Type - PyMemory
View_ ⚠Type - PyMethod
Descr_ ⚠Type - PyModule
Def_ ⚠Type - PyModule_
Type ⚠ - PyProperty_
Type ⚠ - PyRange
Iter_ ⚠Type - PyRange_
Type ⚠ - PyReversed_
Type ⚠ - PySeq
Iter_ ⚠Type - PySet
Iter_ ⚠Type - PySet_
Type ⚠ - PySlice_
Type ⚠ - PySuper_
Type ⚠ - built-in ‘super’
- PyTrace
Back_ ⚠Type - PyTuple
Iter_ ⚠Type - PyTuple_
Type ⚠ - PyType_
Type ⚠ - built-in ‘type’
- PyUnicode
Iter_ ⚠Type - PyUnicode_
Type ⚠ - PyWrapper
Descr_ ⚠Type - PyZip_
Type ⚠ - Py_
Bytes ⚠Warning Flag Deprecated - Py_
Debug ⚠Flag Deprecated - Py_
Dont ⚠Write Bytecode Flag Deprecated - Py_
File ⚠System Default Encode Errors Deprecated - Py_
File ⚠System Default Encoding Deprecated - Py_
Frozen ⚠Flag Deprecated - Py_
HasFile ⚠System Default Encoding Deprecated - Py_
Hash ⚠Randomization Flag - Py_
Ignore ⚠Environment Flag Deprecated - Py_
Inspect ⚠Flag Deprecated - Py_
Interactive ⚠Flag Deprecated - Py_
Isolated ⚠Flag Deprecated - Py_
NoSite ⚠Flag Deprecated - Py_
NoUser ⚠Site Directory Deprecated - Py_
Optimize ⚠Flag Deprecated - Py_
Quiet ⚠Flag Deprecated - Py_
Unbuffered ⚠Stdio Flag Deprecated - Py_
UseClass ⚠Exceptions Flag Deprecated - Py_
Verbose ⚠Flag Deprecated - _PyCoro
Wrapper_ ⚠Type - _PyManaged
Buffer_ ⚠Type - _PyMethod
Wrapper_ ⚠Type - _PySet_
Dummy ⚠ - _PyWeakref_
Callable ⚠Proxy Type - _PyWeakref_
Proxy ⚠Type - _PyWeakref_
RefType ⚠
Functions§
- PyAST_
Compile ⚠Ex - PyAST_
Compile ⚠Object - PyAny
Set_ ⚠Check - PyAny
Set_ ⚠Check Exact - PyArg_
Parse ⚠ - PyArg_
Parse ⚠Tuple - PyArg_
Parse ⚠Tuple AndKeywords - PyArg_
Unpack ⚠Tuple - PyArg_
Validate ⚠Keyword Arguments - PyAsync
Gen_ ⚠Check Exact - PyBool_
Check ⚠ - PyBool_
From ⚠Long - PyBuffer_
Fill ⚠Contiguous Strides - PyBuffer_
Fill ⚠Info - PyBuffer_
From ⚠Contiguous - PyBuffer_
GetPointer ⚠ - PyBuffer_
IsContiguous ⚠ - PyBuffer_
Release ⚠ - PyBuffer_
Size ⚠From Format - PyBuffer_
ToContiguous ⚠ - PyByte
Array_ ⚠AsString - PyByte
Array_ ⚠Check - PyByte
Array_ ⚠Check Exact - PyByte
Array_ ⚠Concat - PyByte
Array_ ⚠From Object - PyByte
Array_ ⚠From String AndSize - PyByte
Array_ ⚠Resize - PyByte
Array_ ⚠Size - PyBytes_
AsString ⚠ - PyBytes_
AsString ⚠AndSize - PyBytes_
Check ⚠ - PyBytes_
Check ⚠Exact - PyBytes_
Concat ⚠ - PyBytes_
Concat ⚠AndDel - PyBytes_
Decode ⚠Escape - PyBytes_
From ⚠Format - PyBytes_
From ⚠Object - PyBytes_
From ⚠String - PyBytes_
From ⚠String AndSize - PyBytes_
Repr ⚠ - PyBytes_
Size ⚠ - PyCFunction_
Call ⚠ - PyCFunction_
Check ⚠ - PyCFunction_
Clear ⚠Free List - PyCFunction_
GetFlags ⚠ - PyCFunction_
GetFunction ⚠ - PyCFunction_
GetSelf ⚠ - PyCFunction_
New ⚠ - PyCFunction_
NewEx ⚠ - PyCall
Iter_ ⚠Check - PyCall
Iter_ ⚠New - PyCallable_
Check ⚠ - PyCapsule_
Check ⚠Exact - PyCapsule_
GetContext ⚠ - PyCapsule_
GetDestructor ⚠ - PyCapsule_
GetName ⚠ - PyCapsule_
GetPointer ⚠ - PyCapsule_
Import ⚠ - PyCapsule_
IsValid ⚠ - PyCapsule_
New ⚠ - PyCapsule_
SetContext ⚠ - PyCapsule_
SetDestructor ⚠ - PyCapsule_
SetName ⚠ - PyCapsule_
SetPointer ⚠ - PyCode_
Addr2 ⚠Line - PyCode_
Check ⚠ - PyCode_
New ⚠ - PyCode_
NewEmpty ⚠ - PyCode_
NewWith ⚠PosOnly Args - PyCode_
Optimize ⚠ - PyCodec_
Backslash ⚠Replace Errors - PyCodec_
Decode ⚠ - PyCodec_
Decoder ⚠ - PyCodec_
Encode ⚠ - PyCodec_
Encoder ⚠ - PyCodec_
Ignore ⚠Errors - PyCodec_
Incremental ⚠Decoder - PyCodec_
Incremental ⚠Encoder - PyCodec_
Known ⚠Encoding - PyCodec_
Lookup ⚠Error - PyCodec_
Register ⚠ - PyCodec_
Register ⚠Error - PyCodec_
Replace ⚠Errors - PyCodec_
Stream ⚠Reader - PyCodec_
Stream ⚠Writer - PyCodec_
Strict ⚠Errors - PyCodec_
XMLChar ⚠RefReplace Errors - PyCompile_
Opcode ⚠Stack Effect - PyCompile_
Opcode ⚠Stack Effect With Jump - PyComplex_
AsCComplex ⚠ - PyComplex_
Check ⚠ - PyComplex_
Check ⚠Exact - PyComplex_
FromC ⚠Complex - PyComplex_
From ⚠Doubles - PyComplex_
Imag ⚠AsDouble - PyComplex_
Real ⚠AsDouble - PyConfig_
Clear ⚠ - PyConfig_
Init ⚠Isolated Config - PyConfig_
Init ⚠Python Config - PyConfig_
Read ⚠ - PyConfig_
SetArgv ⚠ - PyConfig_
SetBytes ⚠Argv - PyConfig_
SetBytes ⚠String - PyConfig_
SetString ⚠ - PyConfig_
SetWide ⚠String List - PyContext
Token_ ⚠Check Exact - PyContext
Var_ ⚠Check Exact - PyContext
Var_ ⚠Get - PyContext
Var_ ⚠New - PyContext
Var_ ⚠Reset - PyContext
Var_ ⚠Set - PyContext_
Check ⚠Exact - PyContext_
Copy ⚠ - PyContext_
Copy ⚠Current - PyContext_
Enter ⚠ - PyContext_
Exit ⚠ - PyContext_
New ⚠ - PyCoro_
Check ⚠Exact - PyDate
TimeAPI ⚠ - Returns a pointer to a
PyDateTime_CAPI
instance - PyDate
Time_ ⚠Check - Check if
op
is aPyDateTimeAPI.DateTimeType
or subtype. - PyDate
Time_ ⚠Check Exact - Check if
op
’s type is exactlyPyDateTimeAPI.DateTimeType
. - PyDate
Time_ ⚠DATE_ GET_ FOLD - Retrieve the fold component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 1]
- PyDate
Time_ ⚠DATE_ GET_ HOUR - Retrieve the hour component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 23]
- PyDate
Time_ ⚠DATE_ GET_ MICROSECOND - Retrieve the microsecond component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 999999]
- PyDate
Time_ ⚠DATE_ GET_ MINUTE - Retrieve the minute component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 59]
- PyDate
Time_ ⚠DATE_ GET_ SECOND - Retrieve the second component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 59]
- PyDate
Time_ ⚠DATE_ GET_ TZINFO - Retrieve the tzinfo component of a
PyDateTime_DateTime
. Returns a pointer to aPyObject
that should be either NULL or an instance of adatetime.tzinfo
subclass. - PyDate
Time_ ⚠DELTA_ GET_ DAYS - Retrieve the days component of a
PyDateTime_Delta
. - PyDate
Time_ ⚠DELTA_ GET_ MICROSECONDS - Retrieve the seconds component of a
PyDateTime_Delta
. - PyDate
Time_ ⚠DELTA_ GET_ SECONDS - Retrieve the seconds component of a
PyDateTime_Delta
. - PyDate
Time_ ⚠From Timestamp - PyDate
Time_ ⚠GET_ DAY - Retrieve the day component of a
PyDateTime_Date
orPyDateTime_DateTime
. Returns a signed integer in the interval[1, 31]
. - PyDate
Time_ ⚠GET_ MONTH - Retrieve the month component of a
PyDateTime_Date
orPyDateTime_DateTime
. Returns a signed integer in the range[1, 12]
. - PyDate
Time_ ⚠GET_ YEAR - Retrieve the year component of a
PyDateTime_Date
orPyDateTime_DateTime
. Returns a signed integer greater than 0. - PyDate
Time_ ⚠IMPORT - Populates the
PyDateTimeAPI
object - PyDate
Time_ ⚠TIME_ GET_ FOLD - Retrieve the fold component of a
PyDateTime_Time
. Returns a signed integer in the interval[0, 1]
- PyDate
Time_ ⚠TIME_ GET_ HOUR - Retrieve the hour component of a
PyDateTime_Time
. Returns a signed integer in the interval[0, 23]
- PyDate
Time_ ⚠TIME_ GET_ MICROSECOND - Retrieve the microsecond component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 999999]
- PyDate
Time_ ⚠TIME_ GET_ MINUTE - Retrieve the minute component of a
PyDateTime_Time
. Returns a signed integer in the interval[0, 59]
- PyDate
Time_ ⚠TIME_ GET_ SECOND - Retrieve the second component of a
PyDateTime_DateTime
. Returns a signed integer in the interval[0, 59]
- PyDate
Time_ ⚠TIME_ GET_ TZINFO - Retrieve the tzinfo component of a
PyDateTime_Time
. Returns a pointer to aPyObject
that should be either NULL or an instance of adatetime.tzinfo
subclass. - PyDate
Time_ ⚠Time Zone_ UTC - PyDate_
Check ⚠ - Type Check macros
- PyDate_
Check ⚠Exact - Check if
op
’s type is exactlyPyDateTimeAPI.DateType
. - PyDate_
From ⚠Timestamp - PyDelta_
Check ⚠ - Check if
op
is aPyDateTimeAPI.DetaType
or subtype. - PyDelta_
Check ⚠Exact - Check if
op
’s type is exactlyPyDateTimeAPI.DeltaType
. - PyDescr_
NewClass ⚠Method - PyDescr_
NewGet ⚠Set - PyDescr_
NewMember ⚠ - PyDescr_
NewMethod ⚠ - PyDict
Items_ ⚠Check - PyDict
Keys_ ⚠Check - PyDict
Proxy_ ⚠New - PyDict
Values_ ⚠Check - PyDict
View ⚠Set_ Check - PyDict_
Check ⚠ - PyDict_
Check ⚠Exact - PyDict_
Clear ⚠ - PyDict_
Contains ⚠ - PyDict_
Copy ⚠ - PyDict_
DelItem ⚠ - PyDict_
DelItem ⚠String - PyDict_
GetItem ⚠ - PyDict_
GetItem ⚠String - PyDict_
GetItem ⚠With Error - PyDict_
Items ⚠ - PyDict_
Keys ⚠ - PyDict_
Merge ⚠ - PyDict_
Merge ⚠From Seq2 - PyDict_
New ⚠ - PyDict_
Next ⚠ - PyDict_
SetItem ⚠ - PyDict_
SetItem ⚠String - PyDict_
Size ⚠ - PyDict_
Update ⚠ - PyDict_
Values ⚠ - PyErr_
BadArgument ⚠ - PyErr_
BadInternal ⚠Call - PyErr_
Check ⚠Signals - PyErr_
Clear ⚠ - PyErr_
Display ⚠ - PyErr_
Exception ⚠Matches - PyErr_
Fetch ⚠ - PyErr_
Format ⚠ - PyErr_
GetExc ⚠Info - PyErr_
Given ⚠Exception Matches - PyErr_
NewException ⚠ - PyErr_
NewException ⚠With Doc - PyErr_
NoMemory ⚠ - PyErr_
Normalize ⚠Exception - PyErr_
Occurred ⚠ - PyErr_
Print ⚠ - PyErr_
Print ⚠Ex - PyErr_
Program ⚠Text - PyErr_
Resource ⚠Warning - PyErr_
Restore ⚠ - PyErr_
SetExc ⚠Info - PyErr_
SetFrom ⚠Errno - PyErr_
SetFrom ⚠Errno With Filename - PyErr_
SetFrom ⚠Errno With Filename Object - PyErr_
SetFrom ⚠Errno With Filename Objects - PyErr_
SetImport ⚠Error - PyErr_
SetImport ⚠Error Subclass - PyErr_
SetInterrupt ⚠ - PyErr_
SetNone ⚠ - PyErr_
SetObject ⚠ - PyErr_
SetString ⚠ - PyErr_
Syntax ⚠Location - PyErr_
Syntax ⚠Location Ex - PyErr_
Warn ⚠Ex - PyErr_
Warn ⚠Explicit - PyErr_
Warn ⚠Format - PyErr_
Write ⚠Unraisable - PyEval_
Acquire ⚠Lock - PyEval_
Acquire ⚠Thread - PyEval_
Call ⚠Function - PyEval_
Call ⚠Method - PyEval_
Call ⚠Object - PyEval_
Call ⚠Object With Keywords - PyEval_
Eval ⚠Code - PyEval_
Eval ⚠Code Ex - PyEval_
Eval ⚠Frame - PyEval_
Eval ⚠Frame Ex - PyEval_
GetBuiltins ⚠ - PyEval_
GetCall ⚠Stats - PyEval_
GetFrame ⚠ - PyEval_
GetFunc ⚠Desc - PyEval_
GetFunc ⚠Name - PyEval_
GetGlobals ⚠ - PyEval_
GetLocals ⚠ - PyEval_
Init ⚠Threads - PyEval_
Release ⚠Lock - PyEval_
Release ⚠Thread - PyEval_
Restore ⚠Thread - PyEval_
Save ⚠Thread - PyEval_
SetProfile ⚠ - PyEval_
SetTrace ⚠ - PyEval_
Threads ⚠Initialized - PyException
Class_ ⚠Check - PyException
Instance_ ⚠Check - PyException
Instance_ ⚠Class - PyException_
GetCause ⚠ - PyException_
GetContext ⚠ - PyException_
GetTraceback ⚠ - PyException_
SetCause ⚠ - PyException_
SetContext ⚠ - PyException_
SetTraceback ⚠ - PyFile_
From ⚠Fd - PyFile_
GetLine ⚠ - PyFile_
Write ⚠Object - PyFile_
Write ⚠String - PyFloat_
AS_ ⚠DOUBLE - PyFloat_
AsDouble ⚠ - PyFloat_
Check ⚠ - PyFloat_
Check ⚠Exact - PyFloat_
From ⚠Double - PyFloat_
From ⚠String - PyFloat_
GetInfo ⚠ - PyFloat_
GetMax ⚠ - PyFloat_
GetMin ⚠ - PyFrame_
Block ⚠Pop - PyFrame_
Block ⚠Setup - PyFrame_
Check ⚠ - PyFrame_
Clear ⚠Free List - PyFrame_
Fast ⚠ToLocals - PyFrame_
Fast ⚠ToLocals With Error - PyFrame_
GetLine ⚠Number - PyFrame_
Locals ⚠ToFast - PyFrame_
New ⚠ - PyFrozen
Set_ ⚠Check - PyFrozen
Set_ ⚠Check Exact - PyFrozen
Set_ ⚠New - PyFunction_
Check ⚠ - PyFunction_
GetAnnotations ⚠ - PyFunction_
GetClosure ⚠ - PyFunction_
GetCode ⚠ - PyFunction_
GetDefaults ⚠ - PyFunction_
GetGlobals ⚠ - PyFunction_
GetKw ⚠Defaults - PyFunction_
GetModule ⚠ - PyFunction_
New ⚠ - PyFunction_
NewWith ⚠Qual Name - PyFunction_
SetAnnotations ⚠ - PyFunction_
SetClosure ⚠ - PyFunction_
SetDefaults ⚠ - PyFunction_
SetKw ⚠Defaults - PyFuture_
FromAST ⚠ - PyFuture_
FromAST ⚠Object - PyGC_
Collect ⚠ - PyGIL
State_ ⚠Check - PyGIL
State_ ⚠Ensure - PyGIL
State_ ⚠GetThis Thread State - PyGIL
State_ ⚠Release - PyGen_
Check ⚠ - PyGen_
Check ⚠Exact - PyGen_
Needs ⚠Finalizing Deprecated - PyGen_
New ⚠ - PyHash_
GetFunc ⚠Def - PyHeap
Type_ ⚠GET_ MEMBERS - PyImport_
AddModule ⚠ - PyImport_
AddModule ⚠Object - PyImport_
Append ⚠Inittab - PyImport_
Cleanup ⚠Deprecated - PyImport_
Exec ⚠Code Module - PyImport_
Exec ⚠Code Module Ex - PyImport_
Exec ⚠Code Module Object - PyImport_
Exec ⚠Code Module With Pathnames - PyImport_
Extend ⚠Inittab - PyImport_
GetImporter ⚠ - PyImport_
GetMagic ⚠Number - PyImport_
GetMagic ⚠Tag - PyImport_
GetModule ⚠Dict - PyImport_
Import ⚠ - PyImport_
Import ⚠Frozen Module - PyImport_
Import ⚠Frozen Module Object - PyImport_
Import ⚠Module - PyImport_
Import ⚠Module Ex - PyImport_
Import ⚠Module Level - PyImport_
Import ⚠Module Level Object - PyImport_
Import ⚠Module NoBlock - PyImport_
Reload ⚠Module - PyIndex_
Check ⚠ - PyInterpreter
State_ ⚠Clear - PyInterpreter
State_ ⚠Delete - PyInterpreter
State_ ⚠GetDict - PyInterpreter
State_ ⚠GetID - PyInterpreter
State_ ⚠Head - PyInterpreter
State_ ⚠Main - PyInterpreter
State_ ⚠New - PyInterpreter
State_ ⚠Next - PyInterpreter
State_ ⚠Thread Head - PyIter_
Check ⚠ - PyIter_
Next ⚠ - PyList_
Append ⚠ - PyList_
AsTuple ⚠ - PyList_
Check ⚠ - PyList_
Check ⚠Exact - PyList_
GET_ ⚠ITEM - Macro, trading safety for speed
- PyList_
GET_ ⚠SIZE - PyList_
GetItem ⚠ - PyList_
GetSlice ⚠ - PyList_
Insert ⚠ - PyList_
New ⚠ - PyList_
Reverse ⚠ - PyList_
SET_ ⚠ITEM - Macro, only to be used to fill in brand new lists
- PyList_
SetItem ⚠ - PyList_
SetSlice ⚠ - PyList_
Size ⚠ - PyList_
Sort ⚠ - PyLong_
AsDouble ⚠ - PyLong_
AsLong ⚠ - PyLong_
AsLong ⚠AndOverflow - PyLong_
AsLong ⚠Long - PyLong_
AsLong ⚠Long AndOverflow - PyLong_
AsSize_ ⚠t - PyLong_
AsSsize_ ⚠t - PyLong_
AsUnsigned ⚠Long - PyLong_
AsUnsigned ⚠Long Long - PyLong_
AsUnsigned ⚠Long Long Mask - PyLong_
AsUnsigned ⚠Long Mask - PyLong_
AsVoid ⚠Ptr - PyLong_
Check ⚠ - PyLong_
Check ⚠Exact - PyLong_
From ⚠Double - PyLong_
From ⚠Long - PyLong_
From ⚠Long Long - PyLong_
From ⚠Size_ t - PyLong_
From ⚠Ssize_ t - PyLong_
From ⚠String - PyLong_
From ⚠Unsigned Long - PyLong_
From ⚠Unsigned Long Long - PyLong_
From ⚠Void Ptr - PyLong_
GetInfo ⚠ - PyMapping_
Check ⚠ - PyMapping_
DelItem ⚠ - PyMapping_
DelItem ⚠String - PyMapping_
GetItem ⚠String - PyMapping_
HasKey ⚠ - PyMapping_
HasKey ⚠String - PyMapping_
Items ⚠ - PyMapping_
Keys ⚠ - PyMapping_
Length ⚠ - PyMapping_
SetItem ⚠String - PyMapping_
Size ⚠ - PyMapping_
Values ⚠ - PyMem_
Calloc ⚠ - PyMem_
Free ⚠ - PyMem_
GetAllocator ⚠ - PyMem_
Malloc ⚠ - PyMem_
RawCalloc ⚠ - PyMem_
RawFree ⚠ - PyMem_
RawMalloc ⚠ - PyMem_
RawRealloc ⚠ - PyMem_
Realloc ⚠ - PyMem_
SetAllocator ⚠ - PyMem_
Setup ⚠Debug Hooks - PyMember_
GetOne ⚠ - PyMember_
SetOne ⚠ - PyMemory
View_ ⚠Check - PyMemory
View_ ⚠From Buffer - PyMemory
View_ ⚠From Memory - PyMemory
View_ ⚠From Object - PyMemory
View_ ⚠GetContiguous - PyModule
Def_ ⚠Init - PyModule_
AddFunctions ⚠ - PyModule_
AddInt ⚠Constant - PyModule_
AddObject ⚠ - PyModule_
AddString ⚠Constant - PyModule_
Check ⚠ - PyModule_
Check ⚠Exact - PyModule_
Create ⚠ - PyModule_
Create2 ⚠ - PyModule_
Exec ⚠Def - PyModule_
From ⚠DefAnd Spec - PyModule_
From ⚠DefAnd Spec2 - PyModule_
GetDef ⚠ - PyModule_
GetDict ⚠ - PyModule_
GetFilename ⚠Deprecated - PyModule_
GetFilename ⚠Object - PyModule_
GetName ⚠ - PyModule_
GetName ⚠Object - PyModule_
GetState ⚠ - PyModule_
New ⚠ - PyModule_
NewObject ⚠ - PyModule_
SetDoc ⚠String - PyNode_
Compile ⚠ - PyNumber_
Absolute ⚠ - PyNumber_
Add ⚠ - PyNumber_
And ⚠ - PyNumber_
AsSsize_ ⚠t - PyNumber_
Check ⚠ - PyNumber_
Divmod ⚠ - PyNumber_
Float ⚠ - PyNumber_
Floor ⚠Divide - PyNumber_
InPlace ⚠Add - PyNumber_
InPlace ⚠And - PyNumber_
InPlace ⚠Floor Divide - PyNumber_
InPlace ⚠Lshift - PyNumber_
InPlace ⚠Matrix Multiply - PyNumber_
InPlace ⚠Multiply - PyNumber_
InPlace ⚠Or - PyNumber_
InPlace ⚠Power - PyNumber_
InPlace ⚠Remainder - PyNumber_
InPlace ⚠Rshift - PyNumber_
InPlace ⚠Subtract - PyNumber_
InPlace ⚠True Divide - PyNumber_
InPlace ⚠Xor - PyNumber_
Index ⚠ - PyNumber_
Invert ⚠ - PyNumber_
Long ⚠ - PyNumber_
Lshift ⚠ - PyNumber_
Matrix ⚠Multiply - PyNumber_
Multiply ⚠ - PyNumber_
Negative ⚠ - PyNumber_
Or ⚠ - PyNumber_
Positive ⚠ - PyNumber_
Power ⚠ - PyNumber_
Remainder ⚠ - PyNumber_
Rshift ⚠ - PyNumber_
Subtract ⚠ - PyNumber_
ToBase ⚠ - PyNumber_
True ⚠Divide - PyNumber_
Xor ⚠ - PyOS_
After ⚠Fork Deprecated - PyOS_
After ⚠Fork_ Child - PyOS_
After ⚠Fork_ Parent - PyOS_
Before ⚠Fork - PyOS_
FSPath ⚠ - PyOS_
Init ⚠Interrupts Deprecated - PyOS_
Interrupt ⚠Occurred - PyOS_
double_ ⚠to_ string - PyOS_
getsig ⚠ - PyOS_
setsig ⚠ - PyOS_
string_ ⚠to_ double - PyOS_
strtol ⚠ - PyOS_
strtoul ⚠ - PyObject_
ASCII ⚠ - PyObject_
AsFile ⚠Descriptor - PyObject_
Bytes ⚠ - PyObject_
Call ⚠ - PyObject_
Call ⚠Finalizer - PyObject_
Call ⚠Finalizer From Dealloc - PyObject_
Call ⚠Function - PyObject_
Call ⚠Function ObjArgs - PyObject_
Call ⚠Method - PyObject_
Call ⚠Method ObjArgs - PyObject_
Call ⚠Object - PyObject_
Call ⚠OneArg - PyObject_
Calloc ⚠ - PyObject_
Check ⚠Buffer - PyObject_
Clear ⚠Weak Refs - PyObject_
Copy ⚠Data - PyObject_
DelAttr ⚠ - PyObject_
DelAttr ⚠String - PyObject_
DelItem ⚠ - PyObject_
DelItem ⚠String - PyObject_
Dir ⚠ - PyObject_
Format ⚠ - PyObject_
Free ⚠ - PyObject_
GC_ ⚠Del - PyObject_
GC_ ⚠Track - PyObject_
GC_ ⚠UnTrack - PyObject_
GET_ ⚠WEAKREFS_ LISTPTR - PyObject_
Generic ⚠GetAttr - PyObject_
Generic ⚠GetDict - PyObject_
Generic ⚠SetAttr - PyObject_
Generic ⚠SetDict - PyObject_
GetArena ⚠Allocator - PyObject_
GetAttr ⚠ - PyObject_
GetAttr ⚠String - PyObject_
GetBuffer ⚠ - PyObject_
GetItem ⚠ - PyObject_
GetIter ⚠ - PyObject_
HasAttr ⚠ - PyObject_
HasAttr ⚠String - PyObject_
Hash ⚠ - PyObject_
Hash ⚠NotImplemented - PyObject_
IS_ ⚠GC - PyObject_
Init ⚠ - PyObject_
Init ⚠Var - PyObject_
IsInstance ⚠ - PyObject_
IsSubclass ⚠ - PyObject_
IsTrue ⚠ - PyObject_
Length ⚠ - PyObject_
Length ⚠Hint - PyObject_
Malloc ⚠ - PyObject_
Not ⚠ - PyObject_
Print ⚠ - PyObject_
Realloc ⚠ - PyObject_
Repr ⚠ - PyObject_
Rich ⚠Compare - PyObject_
Rich ⚠Compare Bool - PyObject_
Self ⚠Iter - PyObject_
SetArena ⚠Allocator - PyObject_
SetAttr ⚠ - PyObject_
SetAttr ⚠String - PyObject_
SetItem ⚠ - PyObject_
Size ⚠ - PyObject_
Str ⚠ - PyObject_
Type ⚠ - PyObject_
Type ⚠Check - PyObject_
Vectorcall ⚠ - PyObject_
Vectorcall ⚠Dict - PyParser_
ASTFrom ⚠File - PyParser_
ASTFrom ⚠File Object - PyParser_
ASTFrom ⚠String - PyParser_
ASTFrom ⚠String Object - PyParser_
Simple ⚠Parse File - PyParser_
Simple ⚠Parse File Flags - PyParser_
Simple ⚠Parse String - PyParser_
Simple ⚠Parse String Flags - PyParser_
Simple ⚠Parse String Flags Filename - PyPre
Config_ ⚠Init Isolated Config - PyPre
Config_ ⚠Init Python Config - PyRange_
Check ⚠ - PyRun_
AnyFile ⚠ - PyRun_
AnyFile ⚠Ex - PyRun_
AnyFile ⚠ExFlags - PyRun_
AnyFile ⚠Flags - PyRun_
File ⚠ - PyRun_
File ⚠Ex - PyRun_
File ⚠ExFlags - PyRun_
File ⚠Flags - PyRun_
Interactive ⚠Loop - PyRun_
Interactive ⚠Loop Flags - PyRun_
Interactive ⚠One - PyRun_
Interactive ⚠OneFlags - PyRun_
Interactive ⚠OneObject - PyRun_
Simple ⚠File - PyRun_
Simple ⚠File Ex - PyRun_
Simple ⚠File ExFlags - PyRun_
Simple ⚠String - PyRun_
Simple ⚠String Flags - PyRun_
String ⚠ - PyRun_
String ⚠Flags - PySeq
Iter_ ⚠Check - PySeq
Iter_ ⚠New - PySequence_
Check ⚠ - PySequence_
Concat ⚠ - PySequence_
Contains ⚠ - PySequence_
Count ⚠ - PySequence_
DelItem ⚠ - PySequence_
DelSlice ⚠ - PySequence_
Fast ⚠ - PySequence_
GetItem ⚠ - PySequence_
GetSlice ⚠ - PySequence_
In ⚠ - PySequence_
InPlace ⚠Concat - PySequence_
InPlace ⚠Repeat - PySequence_
Index ⚠ - PySequence_
Length ⚠ - PySequence_
List ⚠ - PySequence_
Repeat ⚠ - PySequence_
SetItem ⚠ - PySequence_
SetSlice ⚠ - PySequence_
Size ⚠ - PySequence_
Tuple ⚠ - PySet_
Add ⚠ - PySet_
Check ⚠ - PySet_
Clear ⚠ - PySet_
Contains ⚠ - PySet_
Discard ⚠ - PySet_
GET_ ⚠SIZE - PySet_
New ⚠ - PySet_
Pop ⚠ - PySet_
Size ⚠ - PySlice_
Adjust ⚠Indices - PySlice_
Check ⚠ - PySlice_
GetIndices ⚠ - PySlice_
GetIndices ⚠Ex - PySlice_
New ⚠ - PySlice_
Unpack ⚠ - PyState_
AddModule ⚠ - PyState_
Find ⚠Module - PyState_
Remove ⚠Module - PyStatus_
Error ⚠ - PyStatus_
Exception ⚠ - PyStatus_
Exit ⚠ - PyStatus_
IsError ⚠ - PyStatus_
IsExit ⚠ - PyStatus_
NoMemory ⚠ - PyStatus_
Ok ⚠ - PyStruct
Sequence_ ⚠GET_ ITEM - PyStruct
Sequence_ ⚠GetItem - PyStruct
Sequence_ ⚠Init Type - PyStruct
Sequence_ ⚠Init Type2 - PyStruct
Sequence_ ⚠New - PyStruct
Sequence_ ⚠NewType - PyStruct
Sequence_ ⚠SET_ ITEM - PyStruct
Sequence_ ⚠SetItem - PySys_
AddWarn ⚠Option - PySys_
AddWarn ⚠Option Unicode - PySys_
AddX ⚠Option - PySys_
Format ⚠Stderr - PySys_
Format ⚠Stdout - PySys_
GetObject ⚠ - PySys_
GetX ⚠Options - PySys_
HasWarn ⚠Options - PySys_
Reset ⚠Warn Options - PySys_
SetArgv ⚠ - PySys_
SetArgv ⚠Ex - PySys_
SetObject ⚠ - PySys_
SetPath ⚠ - PySys_
Write ⚠Stderr - PySys_
Write ⚠Stdout - PyTZ
Info_ ⚠Check - Check if
op
is aPyDateTimeAPI.TZInfoType
or subtype. - PyTZ
Info_ ⚠Check Exact - Check if
op
’s type is exactlyPyDateTimeAPI.TZInfoType
. - PyThread
State_ ⚠Clear - PyThread
State_ ⚠Delete - PyThread
State_ ⚠Delete Current - PyThread
State_ ⚠GET - PyThread
State_ ⚠Get - PyThread
State_ ⚠GetDict - PyThread
State_ ⚠New - PyThread
State_ ⚠Next - PyThread
State_ ⚠SetAsync Exc - PyThread
State_ ⚠Swap - PyTime
Zone_ ⚠From Offset - PyTime
Zone_ ⚠From Offset AndName - PyTime_
Check ⚠ - Check if
op
is aPyDateTimeAPI.TimeType
or subtype. - PyTime_
Check ⚠Exact - Check if
op
’s type is exactlyPyDateTimeAPI.TimeType
. - PyTrace
Back_ ⚠Check - PyTrace
Back_ ⚠Here - PyTrace
Back_ ⚠Print - PyTuple_
Check ⚠ - PyTuple_
Check ⚠Exact - PyTuple_
Clear ⚠Free List - PyTuple_
GET_ ⚠ITEM - PyTuple_
GET_ ⚠SIZE - Macro, trading safety for speed
- PyTuple_
GetItem ⚠ - PyTuple_
GetSlice ⚠ - PyTuple_
New ⚠ - PyTuple_
Pack ⚠ - PyTuple_
SET_ ⚠ITEM - Macro, only to be used to fill in brand new tuples
- PyTuple_
SetItem ⚠ - PyTuple_
Size ⚠ - PyType_
Check ⚠ - PyType_
Check ⚠Exact - PyType_
Clear ⚠Cache - PyType_
Fast ⚠Subclass - PyType_
From ⚠Spec - PyType_
From ⚠Spec With Bases - PyType_
Generic ⚠Alloc - PyType_
Generic ⚠New - PyType_
GetFlags ⚠ - PyType_
GetSlot ⚠ - PyType_
HasFeature ⚠ - PyType_
IS_ ⚠GC - PyType_
IsSubtype ⚠ - PyType_
Modified ⚠ - PyType_
Ready ⚠ - PyType_
SUPPORTS_ ⚠WEAKREFS - PyUnicode
Decode ⚠Error_ Create - PyUnicode
Decode ⚠Error_ GetEncoding - PyUnicode
Decode ⚠Error_ GetEnd - PyUnicode
Decode ⚠Error_ GetObject - PyUnicode
Decode ⚠Error_ GetReason - PyUnicode
Decode ⚠Error_ GetStart - PyUnicode
Decode ⚠Error_ SetEnd - PyUnicode
Decode ⚠Error_ SetReason - PyUnicode
Decode ⚠Error_ SetStart - PyUnicode
Encode ⚠Error_ GetEncoding - PyUnicode
Encode ⚠Error_ GetEnd - PyUnicode
Encode ⚠Error_ GetObject - PyUnicode
Encode ⚠Error_ GetReason - PyUnicode
Encode ⚠Error_ GetStart - PyUnicode
Encode ⚠Error_ SetEnd - PyUnicode
Encode ⚠Error_ SetReason - PyUnicode
Encode ⚠Error_ SetStart - PyUnicode
Translate ⚠Error_ GetEnd - PyUnicode
Translate ⚠Error_ GetObject - PyUnicode
Translate ⚠Error_ GetReason - PyUnicode
Translate ⚠Error_ GetStart - PyUnicode
Translate ⚠Error_ SetEnd - PyUnicode
Translate ⚠Error_ SetReason - PyUnicode
Translate ⚠Error_ SetStart - PyUnicode_
1BYTE_ ⚠DATA - PyUnicode_
2BYTE_ ⚠DATA - PyUnicode_
4BYTE_ ⚠DATA - PyUnicode_
Append ⚠ - PyUnicode_
Append ⚠AndDel - PyUnicode_
AsASCII ⚠String - PyUnicode_
AsCharmap ⚠String - PyUnicode_
AsDecoded ⚠Object - PyUnicode_
AsDecoded ⚠Unicode - PyUnicode_
AsEncoded ⚠Object - PyUnicode_
AsEncoded ⚠String - PyUnicode_
AsEncoded ⚠Unicode - PyUnicode_
AsLatin1 ⚠String - PyUnicode_
AsRaw ⚠Unicode Escape String - PyUnicode_
AsUC ⚠S4 - PyUnicode_
AsUC ⚠S4Copy - PyUnicode_
AsUT ⚠F8 - PyUnicode_
AsUT ⚠F8And Size - PyUnicode_
AsUT ⚠F8String - PyUnicode_
AsUT ⚠F16String - PyUnicode_
AsUT ⚠F32String - PyUnicode_
AsUnicode ⚠Deprecated - PyUnicode_
AsUnicode ⚠AndSize Deprecated - PyUnicode_
AsUnicode ⚠Escape String - PyUnicode_
AsWide ⚠Char - PyUnicode_
AsWide ⚠Char String - PyUnicode_
Build ⚠Encoding Map - PyUnicode_
Check ⚠ - PyUnicode_
Check ⚠Exact - PyUnicode_
Clear ⚠Free List - PyUnicode_
Compare ⚠ - PyUnicode_
Compare ⚠WithASCII String - PyUnicode_
Concat ⚠ - PyUnicode_
Contains ⚠ - PyUnicode_
Copy ⚠Characters - PyUnicode_
Count ⚠ - PyUnicode_
DATA ⚠ - PyUnicode_
Decode ⚠ - PyUnicode_
DecodeASCII ⚠ - PyUnicode_
Decode ⚠Charmap - PyUnicode_
DecodeFS ⚠Default - PyUnicode_
DecodeFS ⚠Default AndSize - PyUnicode_
Decode ⚠Latin1 - PyUnicode_
Decode ⚠Locale - PyUnicode_
Decode ⚠Locale AndSize - PyUnicode_
Decode ⚠RawUnicode Escape - PyUnicode_
DecodeUT ⚠F7 - PyUnicode_
DecodeUT ⚠F8 - PyUnicode_
DecodeUT ⚠F7Stateful - PyUnicode_
DecodeUT ⚠F8Stateful - PyUnicode_
DecodeUT ⚠F16 - PyUnicode_
DecodeUT ⚠F32 - PyUnicode_
DecodeUT ⚠F16Stateful - PyUnicode_
DecodeUT ⚠F32Stateful - PyUnicode_
Decode ⚠Unicode Escape - PyUnicode_
Encode ⚠ - PyUnicode_
EncodeASCII ⚠ - PyUnicode_
Encode ⚠Charmap - PyUnicode_
Encode ⚠Decimal - PyUnicode_
EncodeFS ⚠Default - PyUnicode_
Encode ⚠Latin1 - PyUnicode_
Encode ⚠Locale - PyUnicode_
Encode ⚠RawUnicode Escape - PyUnicode_
EncodeUT ⚠F7 - PyUnicode_
EncodeUT ⚠F8 - PyUnicode_
EncodeUT ⚠F16 - PyUnicode_
EncodeUT ⚠F32 - PyUnicode_
Encode ⚠Unicode Escape - PyUnicode_
FSConverter ⚠ - PyUnicode_
FSDecoder ⚠ - PyUnicode_
Fill ⚠ - PyUnicode_
Find ⚠ - PyUnicode_
Find ⚠Char - PyUnicode_
Format ⚠ - PyUnicode_
From ⚠Encoded Object - PyUnicode_
From ⚠Format - PyUnicode_
From ⚠Kind AndData - PyUnicode_
From ⚠Object - PyUnicode_
From ⚠Ordinal - PyUnicode_
From ⚠String - PyUnicode_
From ⚠String AndSize - PyUnicode_
From ⚠Unicode Deprecated - PyUnicode_
From ⚠Wide Char - PyUnicode_
GET_ ⚠LENGTH - PyUnicode_
GetDefault ⚠Encoding - PyUnicode_
GetLength ⚠ - PyUnicode_
GetSize ⚠Deprecated - PyUnicode_
IS_ ⚠ASCII - PyUnicode_
IS_ ⚠COMPACT - PyUnicode_
IS_ ⚠COMPACT_ ASCII - PyUnicode_
IS_ ⚠READY - PyUnicode_
Intern ⚠From String - PyUnicode_
Intern ⚠Immortal - PyUnicode_
Intern ⚠InPlace - PyUnicode_
IsIdentifier ⚠ - PyUnicode_
Join ⚠ - PyUnicode_
KIND ⚠ - PyUnicode_
New ⚠ - PyUnicode_
Partition ⚠ - PyUnicode_
READY ⚠ - PyUnicode_
RPartition ⚠ - PyUnicode_
RSplit ⚠ - PyUnicode_
Read ⚠Char - PyUnicode_
Replace ⚠ - PyUnicode_
Resize ⚠ - PyUnicode_
Rich ⚠Compare - PyUnicode_
Split ⚠ - PyUnicode_
Splitlines ⚠ - PyUnicode_
Substring ⚠ - PyUnicode_
Tailmatch ⚠ - PyUnicode_
Transform ⚠Decimal ToASCII - PyUnicode_
Translate ⚠ - PyUnicode_
Translate ⚠Charmap - PyUnicode_
Write ⚠Char - PyVectorcall_
Call ⚠ - PyVectorcall_
Function ⚠ - PyVectorcall_
NARGS ⚠ - PyWeakref_
Check ⚠ - PyWeakref_
Check ⚠Proxy - PyWeakref_
Check ⚠Ref - PyWeakref_
Check ⚠RefExact - PyWeakref_
GetObject ⚠ - PyWeakref_
NewProxy ⚠ - PyWeakref_
NewRef ⚠ - PyWide
String ⚠List_ Append - PyWide
String ⚠List_ Insert - PyWrapper_
New ⚠ - Py_
AddPending ⚠Call - Py_
AtExit ⚠ - Py_
Build ⚠Value - Py_
Bytes ⚠Main - Py_
CLEAR ⚠ - Py_
Compile ⚠String - Py_
Compile ⚠String ExFlags - Py_
Compile ⚠String Flags - Py_
Compile ⚠String Object - Py_
DECREF ⚠ - Py_
DecRef ⚠ - Py_
Decode ⚠Locale - Py_
Ellipsis ⚠ - Py_
Encode ⚠Locale - Py_
EndInterpreter ⚠ - Py_Exit⚠
- Py_
Exit ⚠Status Exception - Py_
False ⚠ - Py_
Fatal ⚠Error - Py_
Finalize ⚠ - Py_
Finalize ⚠Ex - Py_
GETENV ⚠ - Py_
GetArgc ⚠Argv - Py_
GetBuild ⚠Info - Py_
GetCompiler ⚠ - Py_
GetCopyright ⚠ - Py_
GetExec ⚠Prefix - Py_
GetPath ⚠ - Py_
GetPlatform ⚠ - Py_
GetPrefix ⚠ - Py_
GetProgram ⚠Full Path - Py_
GetProgram ⚠Name - Py_
GetPython ⚠Home - Py_
GetRecursion ⚠Limit - Py_
GetVersion ⚠ - Py_
INCREF ⚠ - Py_
IS_ ⚠TYPE - Py_
IncRef ⚠ - Py_
Initialize ⚠ - Py_
Initialize ⚠Ex - Py_
Initialize ⚠From Config - Py_Is⚠
- Py_
IsFalse ⚠ - Py_
IsInitialized ⚠ - Py_
IsNone ⚠ - Py_
IsTrue ⚠ - Py_Main⚠
- Py_
Make ⚠Pending Calls - Py_
NewInterpreter ⚠ - Py_None⚠
- Py_
NotImplemented ⚠ - Py_
PreInitialize ⚠ - Py_
PreInitialize ⚠From Args - Py_
PreInitialize ⚠From Bytes Args - Py_
REFCNT ⚠ - Py_
Repr ⚠Enter - Py_
Repr ⚠Leave - Py_
RunMain ⚠ - Py_SIZE⚠
- Py_
SetPath ⚠ - Py_
SetProgram ⚠Name - Py_
SetPython ⚠Home - Py_
SetRecursion ⚠Limit - Py_
Symtable ⚠String - Py_
Symtable ⚠String Object - Py_TYPE⚠
- Py_True⚠
- Py_
XDECREF ⚠ - Py_
XINCREF ⚠ - _PyBytes_
Resize ⚠ - _PyCode_
GetExtra ⚠ - _PyCode_
SetExtra ⚠ - _PyDict_
Contains ⚠ - _PyDict_
NewPresized ⚠ - _PyDict_
Next ⚠ - _PyDict_
SetItem_ ⚠Known Hash - _PyErr_
BadInternal ⚠Call - _PyEval_
Eval ⚠Frame Default - _PyEval_
Request ⚠Code Extra Index - _PyFloat_
CAST ⚠ - _PyImport_
Acquire ⚠Lock - _PyImport_
Find ⚠Builtin - _PyImport_
Find ⚠Extension Object - _PyImport_
Fixup ⚠Builtin - _PyImport_
Fixup ⚠Extension Object - _PyImport_
IsInitialized ⚠ - _PyImport_
Release ⚠Lock - _PyImport_
SetModule ⚠ - _PyImport_
SetModule ⚠String - _PyLong_
AsByte ⚠Array - _PyLong_
From ⚠Byte Array - _PyLong_
NumBits ⚠ - _PyObject_
Call ⚠Function_ SizeT - _PyObject_
Call ⚠Method_ SizeT - _PyObject_
Call ⚠NoArg - _PyObject_
Fast ⚠Call - _PyObject_
Fast ⚠Call Tstate - _PyObject_
GC_ ⚠Calloc - _PyObject_
GC_ ⚠Malloc - _PyObject_
GC_ ⚠New - _PyObject_
GC_ ⚠NewVar - _PyObject_
GC_ ⚠Resize - _PyObject_
Make ⚠TpCall - _PyObject_
New ⚠ - _PyObject_
NewVar ⚠ - _PyObject_
Vectorcall ⚠Tstate - _PyRun_
AnyFile ⚠Object - _PyRun_
Interactive ⚠Loop Object - _PyRun_
Simple ⚠File Object - _PySequence_
Iter ⚠Search - _PySet_
Next ⚠Entry - _PyStack_
AsDict ⚠ - _PyUnicode_
COMPACT_ ⚠DATA - _PyUnicode_
Check ⚠Consistency - _PyUnicode_
NONCOMPACT_ ⚠DATA - _PyUnicode_
Ready ⚠ - _Py_
Check ⚠Function Result - _Py_
GetAllocated ⚠Blocks - _Py_
Hash ⚠Bytes - _Py_
Initialize ⚠Main - _Py_
IsCore ⚠Initialized
Type Aliases§
- PY_
INT32_ T - PY_
INT64_ T - PY_
UINT32_ T - PY_
UINT64_ T - PyCFunction
- PyCFunction
Fast - PyCFunction
Fast With Keywords - PyCFunction
With Keywords - PyCapsule_
Destructor - PyFrame
State - PyObject
ObRefcnt - PyStruct
Sequence - Py_UCS1
- Py_UCS2
- Py_UCS4
- Py_
UNICODE - Py_
hash_ t - Py_
intptr_ t - Py_
ssize_ t - Py_
tracefunc - Py_
uhash_ t - Py_
uintptr_ t - _PyC
Function Fast Deprecated - _PyC
Function Fast With Keywords Deprecated - allocfunc
- binaryfunc
- descrgetfunc
- descrsetfunc
- destructor
- freefunc
- getattrfunc
- getattrofunc
- getbufferproc
- getiterfunc
- getter
- hashfunc
- initproc
- inquiry
- iternextfunc
- lenfunc
- newfunc
- objobjargproc
- objobjproc
- printfunc
- releasebufferproc
- reprfunc
- richcmpfunc
- setattrfunc
- setattrofunc
- setter
- ssizeargfunc
- ssizeobjargproc
- ssizessizeargfunc
- ssizessizeobjargproc
- ternaryfunc
- traverseproc
- unaryfunc
- vectorcallfunc
- visitproc
- wrapperfunc
- wrapperfunc_
kwds
Unions§
- PyMethod
DefPointer - Function types used to implement Python callables.
- PyUnicode
Object Data