Partial list of Python/C API functions ====================================== This data is collected based on Python 3.5; see https://docs.python.org/3.5/c-api/ . This document is supporting material for the Project Nayuki page located at https://www.nayuki.io/page/java-native-interface-compared-to-python-c-api . Reference counting ------------------ void Py_INCREF(PyObject *o) void Py_XINCREF(PyObject *o) void Py_DECREF(PyObject *o) void Py_XDECREF(PyObject *o) void Py_CLEAR(PyObject *o) Exception handling ------------------ void PyErr_Clear() void PyErr_PrintEx(int set_sys_last_vars) void PyErr_Print() void PyErr_WriteUnraisable(PyObject *obj) void PyErr_SetString(PyObject *type, const char *message) void PyErr_SetObject(PyObject *type, PyObject *value) PyObject* PyErr_Format(PyObject *exception, const char *format, ...) PyObject* PyErr_FormatV(PyObject *exception, const char *format, va_list vargs) void PyErr_SetNone(PyObject *type) int PyErr_BadArgument() PyObject* PyErr_NoMemory() PyObject* PyErr_SetFromErrno(PyObject *type) PyObject* PyErr_SetFromErrnoWithFilenameObject(PyObject *type, PyObject *filenameObject) PyObject* PyErr_SetFromErrnoWithFilenameObjects(PyObject *type, PyObject *filenameObject, PyObject *filenameObject2) PyObject* PyErr_SetFromErrnoWithFilename(PyObject *type, const char *filename) PyObject* PyErr_SetFromWindowsErr(int ierr) PyObject* PyErr_SetExcFromWindowsErr(PyObject *type, int ierr) PyObject* PyErr_SetFromWindowsErrWithFilename(int ierr, const char *filename) PyObject* PyErr_SetExcFromWindowsErrWithFilenameObject(PyObject *type, int ierr, PyObject *filename) PyObject* PyErr_SetExcFromWindowsErrWithFilenameObjects(PyObject *type, int ierr, PyObject *filename, PyObject *filename2) PyObject* PyErr_SetExcFromWindowsErrWithFilename(PyObject *type, int ierr, const char *filename) PyObject* PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path) void PyErr_SyntaxLocationObject(PyObject *filename, int lineno, int col_offset) void PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset) void PyErr_SyntaxLocation(const char *filename, int lineno) void PyErr_BadInternalCall() int PyErr_WarnEx(PyObject *category, const char *message, Py_ssize_t stack_level) int PyErr_WarnExplicitObject(PyObject *category, PyObject *message, PyObject *filename, int lineno, PyObject *module, PyObject *registry) int PyErr_WarnExplicit(PyObject *category, const char *message, const char *filename, int lineno, const char *module, PyObject *registry) int PyErr_WarnFormat(PyObject *category, Py_ssize_t stack_level, const char *format, ...) PyObject* PyErr_Occurred() int PyErr_ExceptionMatches(PyObject *exc) int PyErr_GivenExceptionMatches(PyObject *given, PyObject *exc) void PyErr_Fetch(PyObject **ptype, PyObject **pvalue, PyObject **ptraceback) void PyErr_Restore(PyObject *type, PyObject *value, PyObject *traceback) void PyErr_NormalizeException(PyObject**exc, PyObject**val, PyObject**tb) void PyErr_GetExcInfo(PyObject **ptype, PyObject **pvalue, PyObject **ptraceback) void PyErr_SetExcInfo(PyObject *type, PyObject *value, PyObject *traceback) int PyErr_CheckSignals() void PyErr_SetInterrupt() int PySignal_SetWakeupFd(int fd) PyObject* PyErr_NewException(const char *name, PyObject *base, PyObject *dict) PyObject* PyErr_NewExceptionWithDoc(const char *name, const char *doc, PyObject *base, PyObject *dict) PyObject* PyException_GetTraceback(PyObject *ex) int PyException_SetTraceback(PyObject *ex, PyObject *tb) PyObject* PyException_GetContext(PyObject *ex) void PyException_SetContext(PyObject *ex, PyObject *ctx) PyObject* PyException_GetCause(PyObject *ex) void PyException_SetCause(PyObject *ex, PyObject *cause) PyObject* PyUnicodeDecodeError_Create(const char *encoding, const char *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason) PyObject* PyUnicodeEncodeError_Create(const char *encoding, const Py_UNICODE *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason) PyObject* PyUnicodeTranslateError_Create(const Py_UNICODE *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason) PyObject* PyUnicodeDecodeError_GetEncoding(PyObject *exc) PyObject* PyUnicodeEncodeError_GetEncoding(PyObject *exc) PyObject* PyUnicodeDecodeError_GetObject(PyObject *exc) PyObject* PyUnicodeEncodeError_GetObject(PyObject *exc) PyObject* PyUnicodeTranslateError_GetObject(PyObject *exc) int PyUnicodeDecodeError_GetStart(PyObject *exc, Py_ssize_t *start) int PyUnicodeEncodeError_GetStart(PyObject *exc, Py_ssize_t *start) int PyUnicodeTranslateError_GetStart(PyObject *exc, Py_ssize_t *start) int PyUnicodeDecodeError_SetStart(PyObject *exc, Py_ssize_t start) int PyUnicodeEncodeError_SetStart(PyObject *exc, Py_ssize_t start) int PyUnicodeTranslateError_SetStart(PyObject *exc, Py_ssize_t start) int PyUnicodeDecodeError_GetEnd(PyObject *exc, Py_ssize_t *end) int PyUnicodeEncodeError_GetEnd(PyObject *exc, Py_ssize_t *end) int PyUnicodeTranslateError_GetEnd(PyObject *exc, Py_ssize_t *end) int PyUnicodeDecodeError_SetEnd(PyObject *exc, Py_ssize_t end) int PyUnicodeEncodeError_SetEnd(PyObject *exc, Py_ssize_t end) int PyUnicodeTranslateError_SetEnd(PyObject *exc, Py_ssize_t end) PyObject* PyUnicodeDecodeError_GetReason(PyObject *exc) PyObject* PyUnicodeEncodeError_GetReason(PyObject *exc) PyObject* PyUnicodeTranslateError_GetReason(PyObject *exc) int PyUnicodeDecodeError_SetReason(PyObject *exc, const char *reason) int PyUnicodeEncodeError_SetReason(PyObject *exc, const char *reason) int PyUnicodeTranslateError_SetReason(PyObject *exc, const char *reason) int Py_EnterRecursiveCall(const char *where) void Py_LeaveRecursiveCall() int Py_ReprEnter(PyObject *object) void Py_ReprLeave(PyObject *object) Operating system utilities -------------------------- int Py_FdIsInteractive(FILE *fp, const char *filename) void PyOS_AfterFork() int PyOS_CheckStack() PyOS_sighandler_t PyOS_getsig(int i) PyOS_sighandler_t PyOS_setsig(int i, PyOS_sighandler_t h) wchar_t* Py_DecodeLocale(const char* arg, size_t *size) char* Py_EncodeLocale(const wchar_t *text, size_t *error_pos) PyObject *PySys_GetObject(const char *name) int PySys_SetObject(const char *name, PyObject *v) void PySys_ResetWarnOptions() void PySys_AddWarnOption(wchar_t *s) void PySys_AddWarnOptionUnicode(PyObject *unicode) void PySys_SetPath(wchar_t *path) void PySys_WriteStdout(const char *format, ...) void PySys_WriteStderr(const char *format, ...) void PySys_FormatStdout(const char *format, ...) void PySys_FormatStderr(const char *format, ...) void PySys_AddXOption(const wchar_t *s) PyObject *PySys_GetXOptions() void Py_FatalError(const char *message) void Py_Exit(int status) int Py_AtExit(void (*func)()) Importing modules ----------------- PyObject* PyImport_ImportModule(const char *name) PyObject* PyImport_ImportModuleNoBlock(const char *name) PyObject* PyImport_ImportModuleEx(const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist) PyObject* PyImport_ImportModuleLevelObject(PyObject *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level) PyObject* PyImport_ImportModuleLevel(const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level) PyObject* PyImport_Import(PyObject *name) PyObject* PyImport_ReloadModule(PyObject *m) PyObject* PyImport_AddModuleObject(PyObject *name) PyObject* PyImport_AddModule(const char *name) PyObject* PyImport_ExecCodeModule(const char *name, PyObject *co) PyObject* PyImport_ExecCodeModuleEx(const char *name, PyObject *co, const char *pathname) PyObject* PyImport_ExecCodeModuleObject(PyObject *name, PyObject *co, PyObject *pathname, PyObject *cpathname) PyObject* PyImport_ExecCodeModuleWithPathnames(const char *name, PyObject *co, const char *pathname, const char *cpathname) long PyImport_GetMagicNumber() const char * PyImport_GetMagicTag() PyObject* PyImport_GetModuleDict() PyObject* PyImport_GetImporter(PyObject *path) void _PyImport_Init() void PyImport_Cleanup() void _PyImport_Fini() PyObject* _PyImport_FindExtension(char *, char *) int PyImport_ImportFrozenModuleObject(PyObject *name) int PyImport_ImportFrozenModule(const char *name) int PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)) int PyImport_ExtendInittab(struct _inittab *newtab) Data marshalling support ------------------------ void PyMarshal_WriteLongToFile(long value, FILE *file, int version) void PyMarshal_WriteObjectToFile(PyObject *value, FILE *file, int version) PyObject* PyMarshal_WriteObjectToString(PyObject *value, int version) long PyMarshal_ReadLongFromFile(FILE *file) int PyMarshal_ReadShortFromFile(FILE *file) PyObject* PyMarshal_ReadObjectFromFile(FILE *file) PyObject* PyMarshal_ReadLastObjectFromFile(FILE *file) PyObject* PyMarshal_ReadObjectFromString(const char *string, Py_ssize_t len) Parsing arguments and building values ------------------------------------- int PyArg_ParseTuple(PyObject *args, const char *format, ...) int PyArg_VaParse(PyObject *args, const char *format, va_list vargs) int PyArg_ParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], ...) int PyArg_VaParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], va_list vargs) int PyArg_ValidateKeywordArguments(PyObject *) int PyArg_Parse(PyObject *args, const char *format, ...) int PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, ...) PyObject* Py_BuildValue(const char *format, ...) PyObject* Py_VaBuildValue(const char *format, va_list vargs) String conversion and formatting -------------------------------- int PyOS_snprintf(char *str, size_t size, const char *format, ...) int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) double PyOS_string_to_double(const char *s, char **endptr, PyObject *overflow_exception) char* PyOS_double_to_string(double val, char format_code, int precision, int flags, int *ptype) int PyOS_stricmp(const char *s1, const char *s2) int PyOS_strnicmp(const char *s1, const char *s2, Py_ssize_t size) Reflection ---------- PyObject* PyEval_GetBuiltins() PyObject* PyEval_GetLocals() PyObject* PyEval_GetGlobals() PyFrameObject* PyEval_GetFrame() int PyFrame_GetLineNumber(PyFrameObject *frame) const char* PyEval_GetFuncName(PyObject *func) const char* PyEval_GetFuncDesc(PyObject *func) Codec registry and support functions ------------------------------------ int PyCodec_Register(PyObject *search_function) int PyCodec_KnownEncoding(const char *encoding) PyObject* PyCodec_Encode(PyObject *object, const char *encoding, const char *errors) PyObject* PyCodec_Decode(PyObject *object, const char *encoding, const char *errors) PyObject* PyCodec_Encoder(const char *encoding) PyObject* PyCodec_Decoder(const char *encoding) PyObject* PyCodec_IncrementalEncoder(const char *encoding, const char *errors) PyObject* PyCodec_IncrementalDecoder(const char *encoding, const char *errors) PyObject* PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors) PyObject* PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors) int PyCodec_RegisterError(const char *name, PyObject *error) PyObject* PyCodec_LookupError(const char *name) PyObject* PyCodec_StrictErrors(PyObject *exc) PyObject* PyCodec_IgnoreErrors(PyObject *exc) PyObject* PyCodec_ReplaceErrors(PyObject *exc) PyObject* PyCodec_XMLCharRefReplaceErrors(PyObject *exc) PyObject* PyCodec_BackslashReplaceErrors(PyObject *exc) PyObject* PyCodec_NameReplaceErrors(PyObject *exc) Object protocol --------------- int PyObject_Print(PyObject *o, FILE *fp, int flags) int PyObject_HasAttr(PyObject *o, PyObject *attr_name) int PyObject_HasAttrString(PyObject *o, const char *attr_name) PyObject* PyObject_GetAttr(PyObject *o, PyObject *attr_name) PyObject* PyObject_GetAttrString(PyObject *o, const char *attr_name) PyObject* PyObject_GenericGetAttr(PyObject *o, PyObject *name) int PyObject_SetAttr(PyObject *o, PyObject *attr_name, PyObject *v) int PyObject_SetAttrString(PyObject *o, const char *attr_name, PyObject *v) int PyObject_GenericSetAttr(PyObject *o, PyObject *name, PyObject *value) int PyObject_DelAttr(PyObject *o, PyObject *attr_name) int PyObject_DelAttrString(PyObject *o, const char *attr_name) PyObject* PyObject_GenericGetDict(PyObject *o, void *context) int PyObject_GenericSetDict(PyObject *o, void *context) PyObject* PyObject_RichCompare(PyObject *o1, PyObject *o2, int opid) int PyObject_RichCompareBool(PyObject *o1, PyObject *o2, int opid) PyObject* PyObject_Repr(PyObject *o) PyObject* PyObject_ASCII(PyObject *o) PyObject* PyObject_Str(PyObject *o) PyObject* PyObject_Bytes(PyObject *o) int PyObject_IsSubclass(PyObject *derived, PyObject *cls) int PyObject_IsInstance(PyObject *inst, PyObject *cls)int PyCallable_Check(PyObject *o) PyObject* PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kw) PyObject* PyObject_CallObject(PyObject *callable_object, PyObject *args) PyObject* PyObject_CallFunction(PyObject *callable, const char *format, ...) PyObject* PyObject_CallMethod(PyObject *o, const char *method, const char *format, ...) PyObject* PyObject_CallFunctionObjArgs(PyObject *callable, ..., NULL) PyObject* PyObject_CallMethodObjArgs(PyObject *o, PyObject *name, ..., NULL) Py_hash_t PyObject_Hash(PyObject *o) Py_hash_t PyObject_HashNotImplemented(PyObject *o) int PyObject_IsTrue(PyObject *o) int PyObject_Not(PyObject *o) PyObject* PyObject_Type(PyObject *o) int PyObject_TypeCheck(PyObject *o, PyTypeObject *type) Py_ssize_t PyObject_Length(PyObject *o) Py_ssize_t PyObject_Size(PyObject *o) Py_ssize_t PyObject_LengthHint(PyObject *o, Py_ssize_t default) PyObject* PyObject_GetItem(PyObject *o, PyObject *key) int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v) int PyObject_DelItem(PyObject *o, PyObject *key) PyObject* PyObject_Dir(PyObject *o) PyObject* PyObject_GetIter(PyObject *o) Number protocol --------------- int PyNumber_Check(PyObject *o) PyObject* PyNumber_Add(PyObject *o1, PyObject *o2) PyObject* PyNumber_Subtract(PyObject *o1, PyObject *o2) PyObject* PyNumber_Multiply(PyObject *o1, PyObject *o2) PyObject* PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2) PyObject* PyNumber_FloorDivide(PyObject *o1, PyObject *o2) PyObject* PyNumber_TrueDivide(PyObject *o1, PyObject *o2) PyObject* PyNumber_Remainder(PyObject *o1, PyObject *o2) PyObject* PyNumber_Divmod(PyObject *o1, PyObject *o2) PyObject* PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3) PyObject* PyNumber_Negative(PyObject *o) PyObject* PyNumber_Positive(PyObject *o) PyObject* PyNumber_Absolute(PyObject *o) PyObject* PyNumber_Invert(PyObject *o) PyObject* PyNumber_Lshift(PyObject *o1, PyObject *o2) PyObject* PyNumber_Rshift(PyObject *o1, PyObject *o2) PyObject* PyNumber_And(PyObject *o1, PyObject *o2) PyObject* PyNumber_Xor(PyObject *o1, PyObject *o2) PyObject* PyNumber_Or(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3) PyObject* PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceXor(PyObject *o1, PyObject *o2) PyObject* PyNumber_InPlaceOr(PyObject *o1, PyObject *o2) PyObject* PyNumber_Long(PyObject *o) PyObject* PyNumber_Float(PyObject *o) PyObject* PyNumber_Index(PyObject *o) PyObject* PyNumber_ToBase(PyObject *n, int base) Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc) int PyIndex_Check(PyObject *o) Sequence protocol ----------------- int PySequence_Check(PyObject *o) Py_ssize_t PySequence_Size(PyObject *o) Py_ssize_t PySequence_Length(PyObject *o) PyObject* PySequence_Concat(PyObject *o1, PyObject *o2) PyObject* PySequence_Repeat(PyObject *o, Py_ssize_t count) PyObject* PySequence_InPlaceConcat(PyObject *o1, PyObject *o2) PyObject* PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count) PyObject* PySequence_GetItem(PyObject *o, Py_ssize_t i) PyObject* PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v) int PySequence_DelItem(PyObject *o, Py_ssize_t i) int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v) int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) Py_ssize_t PySequence_Count(PyObject *o, PyObject *value) int PySequence_Contains(PyObject *o, PyObject *value) Py_ssize_t PySequence_Index(PyObject *o, PyObject *value) PyObject* PySequence_List(PyObject *o) PyObject* PySequence_Tuple(PyObject *o) PyObject* PySequence_Fast(PyObject *o, const char *m) PyObject* PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t i) PyObject** PySequence_Fast_ITEMS(PyObject *o) PyObject* PySequence_ITEM(PyObject *o, Py_ssize_t i) Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o) Mapping protocol ---------------- int PyMapping_Check(PyObject *o) Py_ssize_t PyMapping_Size(PyObject *o) Py_ssize_t PyMapping_Length(PyObject *o) int PyMapping_DelItemString(PyObject *o, const char *key) int PyMapping_DelItem(PyObject *o, PyObject *key) int PyMapping_HasKeyString(PyObject *o, const char *key) int PyMapping_HasKey(PyObject *o, PyObject *key) PyObject* PyMapping_Keys(PyObject *o) PyObject* PyMapping_Values(PyObject *o) PyObject* PyMapping_Items(PyObject *o) PyObject* PyMapping_GetItemString(PyObject *o, const char *key) int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v) Iterator protocol ----------------- int PyIter_Check(PyObject *o) PyObject* PyIter_Next(PyObject *o) Buffer protocol --------------- int PyObject_CheckBuffer(PyObject *obj) int PyObject_GetBuffer(PyObject *exporter, Py_buffer *view, int flags) void PyBuffer_Release(Py_buffer *view) Py_ssize_t PyBuffer_SizeFromFormat(const char *) int PyBuffer_IsContiguous(Py_buffer *view, char order) void PyBuffer_FillContiguousStrides(int ndim, Py_ssize_t *shape, Py_ssize_t *strides, Py_ssize_t itemsize, char order) int PyBuffer_FillInfo(Py_buffer *view, PyObject *exporter, void *buf, Py_ssize_t len, int readonly, int flags) Type objects ------------ int PyType_Check(PyObject *o) int PyType_CheckExact(PyObject *o) unsigned int PyType_ClearCache() long PyType_GetFlags(PyTypeObject* type) void PyType_Modified(PyTypeObject *type) int PyType_HasFeature(PyTypeObject *o, int feature) int PyType_IS_GC(PyTypeObject *o) int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b) PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems) PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds) int PyType_Ready(PyTypeObject *type) PyObject* PyType_FromSpec(PyType_Spec *spec) PyObject* PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases) void* PyType_GetSlot(PyTypeObject *type, int slot) Integer objects --------------- int PyLong_Check(PyObject *p) int PyLong_CheckExact(PyObject *p) PyObject* PyLong_FromLong(long v) PyObject* PyLong_FromUnsignedLong(unsigned long v) PyObject* PyLong_FromSsize_t(Py_ssize_t v) PyObject* PyLong_FromSize_t(size_t v) PyObject* PyLong_FromLongLong(PY_LONG_LONG v) PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v) PyObject* PyLong_FromDouble(double v) PyObject* PyLong_FromString(const char *str, char **pend, int base) PyObject* PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base) PyObject* PyLong_FromUnicodeObject(PyObject *u, int base) PyObject* PyLong_FromVoidPtr(void *p) long PyLong_AsLong(PyObject *obj) long PyLong_AsLongAndOverflow(PyObject *obj, int *overflow) PY_LONG_LONG PyLong_AsLongLong(PyObject *obj) PY_LONG_LONG PyLong_AsLongLongAndOverflow(PyObject *obj, int *overflow) Py_ssize_t PyLong_AsSsize_t(PyObject *pylong) unsigned long PyLong_AsUnsignedLong(PyObject *pylong) size_t PyLong_AsSize_t(PyObject *pylong) unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong) unsigned long PyLong_AsUnsignedLongMask(PyObject *obj) unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *obj) double PyLong_AsDouble(PyObject *pylong) void* PyLong_AsVoidPtr(PyObject *pylong) Boolean objects --------------- int PyBool_Check(PyObject *o) PyObject* PyBool_FromLong(long v) Floating point objects ---------------------- int PyFloat_Check(PyObject *p) int PyFloat_CheckExact(PyObject *p) PyObject* PyFloat_FromString(PyObject *str) PyObject* PyFloat_FromDouble(double v) double PyFloat_AsDouble(PyObject *pyfloat) double PyFloat_AS_DOUBLE(PyObject *pyfloat) PyObject* PyFloat_GetInfo(void) double PyFloat_GetMax() double PyFloat_GetMin() int PyFloat_ClearFreeList() Complex number objects ---------------------- Py_complex _Py_c_sum(Py_complex left, Py_complex right) Py_complex _Py_c_diff(Py_complex left, Py_complex right) Py_complex _Py_c_neg(Py_complex complex) Py_complex _Py_c_prod(Py_complex left, Py_complex right) Py_complex _Py_c_quot(Py_complex dividend, Py_complex divisor) Py_complex _Py_c_pow(Py_complex num, Py_complex exp) int PyComplex_Check(PyObject *p) int PyComplex_CheckExact(PyObject *p) PyObject* PyComplex_FromCComplex(Py_complex v) PyObject* PyComplex_FromDoubles(double real, double imag) double PyComplex_RealAsDouble(PyObject *op) double PyComplex_ImagAsDouble(PyObject *op) Py_complex PyComplex_AsCComplex(PyObject *op) Bytes objects ------------- int PyBytes_Check(PyObject *o) int PyBytes_CheckExact(PyObject *o) PyObject* PyBytes_FromString(const char *v) PyObject* PyBytes_FromStringAndSize(const char *v, Py_ssize_t len) PyObject* PyBytes_FromFormat(const char *format, ...) PyObject* PyBytes_FromFormatV(const char *format, va_list vargs) PyObject* PyBytes_FromObject(PyObject *o) Py_ssize_t PyBytes_Size(PyObject *o) Py_ssize_t PyBytes_GET_SIZE(PyObject *o) char* PyBytes_AsString(PyObject *o) char* PyBytes_AS_STRING(PyObject *string) int PyBytes_AsStringAndSize(PyObject *obj, char **buffer, Py_ssize_t *length) void PyBytes_Concat(PyObject **bytes, PyObject *newpart) void PyBytes_ConcatAndDel(PyObject **bytes, PyObject *newpart) int _PyBytes_Resize(PyObject **bytes, Py_ssize_t newsize) Byte array objects ------------------ int PyByteArray_Check(PyObject *o) int PyByteArray_CheckExact(PyObject *o) PyObject* PyByteArray_FromObject(PyObject *o) PyObject* PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len) PyObject* PyByteArray_Concat(PyObject *a, PyObject *b) Py_ssize_t PyByteArray_Size(PyObject *bytearray) char* PyByteArray_AsString(PyObject *bytearray) int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len) char* PyByteArray_AS_STRING(PyObject *bytearray) Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray) Unicode objects and codecs -------------------------- int PyUnicode_Check(PyObject *o) int PyUnicode_CheckExact(PyObject *o) int PyUnicode_READY(PyObject *o) Py_ssize_t PyUnicode_GET_LENGTH(PyObject *o) Py_UCS1* PyUnicode_1BYTE_DATA(PyObject *o) Py_UCS2* PyUnicode_2BYTE_DATA(PyObject *o) Py_UCS4* PyUnicode_4BYTE_DATA(PyObject *o) int PyUnicode_KIND(PyObject *o) void* PyUnicode_DATA(PyObject *o) void PyUnicode_WRITE(int kind, void *data, Py_ssize_t index, Py_UCS4 value) Py_UCS4 PyUnicode_READ(int kind, void *data, Py_ssize_t index) Py_UCS4 PyUnicode_READ_CHAR(PyObject *o, Py_ssize_t index) PyUnicode_MAX_CHAR_VALUE(PyObject *o) int PyUnicode_ClearFreeList() Py_ssize_t PyUnicode_GET_SIZE(PyObject *o) Py_ssize_t PyUnicode_GET_DATA_SIZE(PyObject *o) Py_UNICODE* PyUnicode_AS_UNICODE(PyObject *o) const char* PyUnicode_AS_DATA(PyObject *o) int Py_UNICODE_ISSPACE(Py_UNICODE ch) int Py_UNICODE_ISLOWER(Py_UNICODE ch) int Py_UNICODE_ISUPPER(Py_UNICODE ch) int Py_UNICODE_ISTITLE(Py_UNICODE ch) int Py_UNICODE_ISLINEBREAK(Py_UNICODE ch) int Py_UNICODE_ISDECIMAL(Py_UNICODE ch) int Py_UNICODE_ISDIGIT(Py_UNICODE ch) int Py_UNICODE_ISNUMERIC(Py_UNICODE ch) int Py_UNICODE_ISALPHA(Py_UNICODE ch) int Py_UNICODE_ISALNUM(Py_UNICODE ch) int Py_UNICODE_ISPRINTABLE(Py_UNICODE ch) Py_UNICODE Py_UNICODE_TOLOWER(Py_UNICODE ch) Py_UNICODE Py_UNICODE_TOUPPER(Py_UNICODE ch) Py_UNICODE Py_UNICODE_TOTITLE(Py_UNICODE ch) int Py_UNICODE_TODECIMAL(Py_UNICODE ch) int Py_UNICODE_TODIGIT(Py_UNICODE ch) double Py_UNICODE_TONUMERIC(Py_UNICODE ch) Py_UNICODE_IS_SURROGATE(ch) Py_UNICODE_IS_HIGH_SURROGATE(ch) Py_UNICODE_IS_LOW_SURROGATE(ch) Py_UNICODE_JOIN_SURROGATES(high, low) PyObject* PyUnicode_New(Py_ssize_t size, Py_UCS4 maxchar) PyObject* PyUnicode_FromKindAndData(int kind, const void *buffer, Py_ssize_t size) PyObject* PyUnicode_FromStringAndSize(const char *u, Py_ssize_t size) PyObject *PyUnicode_FromString(const char *u) PyObject* PyUnicode_FromFormat(const char *format, ...) PyObject* PyUnicode_FromFormatV(const char *format, va_list vargs) PyObject* PyUnicode_FromEncodedObject(PyObject *obj, const char *encoding, const char *errors) Py_ssize_t PyUnicode_GetLength(PyObject *unicode) int PyUnicode_CopyCharacters(PyObject *to, Py_ssize_t to_start, PyObject *from, Py_ssize_t from_start, Py_ssize_t how_many) Py_ssize_t PyUnicode_Fill(PyObject *unicode, Py_ssize_t start, Py_ssize_t length, Py_UCS4 fill_char) int PyUnicode_WriteChar(PyObject *unicode, Py_ssize_t index, Py_UCS4 character) Py_UCS4 PyUnicode_ReadChar(PyObject *unicode, Py_ssize_t index) PyObject* PyUnicode_Substring(PyObject *str, Py_ssize_t start, Py_ssize_t end) Py_UCS4* PyUnicode_AsUCS4(PyObject *u, Py_UCS4 *buffer, Py_ssize_t buflen, int copy_null) Py_UCS4* PyUnicode_AsUCS4Copy(PyObject *u) PyObject* PyUnicode_FromUnicode(const Py_UNICODE *u, Py_ssize_t size) Py_UNICODE* PyUnicode_AsUnicode(PyObject *unicode) PyObject* PyUnicode_TransformDecimalToASCII(Py_UNICODE *s, Py_ssize_t size) Py_UNICODE* PyUnicode_AsUnicodeAndSize(PyObject *unicode, Py_ssize_t *size) Py_UNICODE* PyUnicode_AsUnicodeCopy(PyObject *unicode) Py_ssize_t PyUnicode_GetSize(PyObject *unicode) PyObject* PyUnicode_FromObject(PyObject *obj) PyObject* PyUnicode_DecodeLocaleAndSize(const char *str, Py_ssize_t len, const char *errors) PyObject* PyUnicode_DecodeLocale(const char *str, const char *errors) PyObject* PyUnicode_EncodeLocale(PyObject *unicode, const char *errors) int PyUnicode_FSConverter(PyObject* obj, void* result) int PyUnicode_FSDecoder(PyObject* obj, void* result) PyObject* PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size) PyObject* PyUnicode_DecodeFSDefault(const char *s) PyObject* PyUnicode_EncodeFSDefault(PyObject *unicode) PyObject* PyUnicode_FromWideChar(const wchar_t *w, Py_ssize_t size) Py_ssize_t PyUnicode_AsWideChar(PyUnicodeObject *unicode, wchar_t *w, Py_ssize_t size) wchar_t* PyUnicode_AsWideCharString(PyObject *unicode, Py_ssize_t *size) size_t Py_UCS4_strlen(const Py_UCS4 *u) Py_UCS4* Py_UCS4_strcpy(Py_UCS4 *s1, const Py_UCS4 *s2) Py_UCS4* Py_UCS4_strncpy(Py_UCS4 *s1, const Py_UCS4 *s2, size_t n) Py_UCS4* Py_UCS4_strcat(Py_UCS4 *s1, const Py_UCS4 *s2) int Py_UCS4_strcmp(const Py_UCS4 *s1, const Py_UCS4 *s2) int Py_UCS4_strncmp(const Py_UCS4 *s1, const Py_UCS4 *s2, size_t n) Py_UCS4* Py_UCS4_strchr(const Py_UCS4 *s, Py_UCS4 c) Py_UCS4* Py_UCS4_strrchr(const Py_UCS4 *s, Py_UCS4 c) PyObject* PyUnicode_Decode(const char *s, Py_ssize_t size, const char *encoding, const char *errors) PyObject* PyUnicode_AsEncodedString(PyObject *unicode, const char *encoding, const char *errors) PyObject* PyUnicode_Encode(const Py_UNICODE *s, Py_ssize_t size, const char *encoding, const char *errors) PyObject* PyUnicode_DecodeUTF8(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeUTF8Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) PyObject* PyUnicode_AsUTF8String(PyObject *unicode) char* PyUnicode_AsUTF8AndSize(PyObject *unicode, Py_ssize_t *size) char* PyUnicode_AsUTF8(PyObject *unicode) PyObject* PyUnicode_EncodeUTF8(const Py_UNICODE *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeUTF32(const char *s, Py_ssize_t size, const char *errors, int *byteorder) PyObject* PyUnicode_DecodeUTF32Stateful(const char *s, Py_ssize_t size, const char *errors, int *byteorder, Py_ssize_t *consumed) PyObject* PyUnicode_AsUTF32String(PyObject *unicode) PyObject* PyUnicode_EncodeUTF32(const Py_UNICODE *s, Py_ssize_t size, const char *errors, int byteorder) PyObject* PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors, int *byteorder) PyObject* PyUnicode_DecodeUTF16Stateful(const char *s, Py_ssize_t size, const char *errors, int *byteorder, Py_ssize_t *consumed) PyObject* PyUnicode_AsUTF16String(PyObject *unicode) PyObject* PyUnicode_EncodeUTF16(const Py_UNICODE *s, Py_ssize_t size, const char *errors, int byteorder) PyObject* PyUnicode_DecodeUTF7(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeUTF7Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) PyObject* PyUnicode_EncodeUTF7(const Py_UNICODE *s, Py_ssize_t size, int base64SetO, int base64WhiteSpace, const char *errors) PyObject* PyUnicode_DecodeUnicodeEscape(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_AsUnicodeEscapeString(PyObject *unicode) PyObject* PyUnicode_EncodeUnicodeEscape(const Py_UNICODE *s, Py_ssize_t size) PyObject* PyUnicode_DecodeRawUnicodeEscape(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_AsRawUnicodeEscapeString(PyObject *unicode) PyObject* PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeLatin1(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_AsLatin1String(PyObject *unicode) PyObject* PyUnicode_EncodeLatin1(const Py_UNICODE *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeASCII(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_AsASCIIString(PyObject *unicode) PyObject* PyUnicode_EncodeASCII(const Py_UNICODE *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeCharmap(const char *s, Py_ssize_t size, PyObject *mapping, const char *errors) PyObject* PyUnicode_AsCharmapString(PyObject *unicode, PyObject *mapping) PyObject* PyUnicode_TranslateCharmap(const Py_UNICODE *s, Py_ssize_t size, PyObject *table, const char *errors) PyObject* PyUnicode_EncodeCharmap(const Py_UNICODE *s, Py_ssize_t size, PyObject *mapping, const char *errors) PyObject* PyUnicode_DecodeMBCS(const char *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_DecodeMBCSStateful(const char *s, int size, const char *errors, int *consumed) PyObject* PyUnicode_AsMBCSString(PyObject *unicode) PyObject* PyUnicode_EncodeCodePage(int code_page, PyObject *unicode, const char *errors) PyObject* PyUnicode_EncodeMBCS(const Py_UNICODE *s, Py_ssize_t size, const char *errors) PyObject* PyUnicode_Concat(PyObject *left, PyObject *right) PyObject* PyUnicode_Split(PyObject *s, PyObject *sep, Py_ssize_t maxsplit) PyObject* PyUnicode_Splitlines(PyObject *s, int keepend) PyObject* PyUnicode_Translate(PyObject *str, PyObject *table, const char *errors) PyObject* PyUnicode_Join(PyObject *separator, PyObject *seq) Py_ssize_t PyUnicode_Tailmatch(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction) Py_ssize_t PyUnicode_Find(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction) Py_ssize_t PyUnicode_FindChar(PyObject *str, Py_UCS4 ch, Py_ssize_t start, Py_ssize_t end, int direction) Py_ssize_t PyUnicode_Count(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end) PyObject* PyUnicode_Replace(PyObject *str, PyObject *substr, PyObject *replstr, Py_ssize_t maxcount) int PyUnicode_Compare(PyObject *left, PyObject *right) int PyUnicode_CompareWithASCIIString(PyObject *uni, const char *string) PyObject* PyUnicode_RichCompare(PyObject *left, PyObject *right, int op) PyObject* PyUnicode_Format(PyObject *format, PyObject *args) int PyUnicode_Contains(PyObject *container, PyObject *element) void PyUnicode_InternInPlace(PyObject **string) PyObject* PyUnicode_InternFromString(const char *v) Tuple objects ------------- int PyTuple_Check(PyObject *p) int PyTuple_CheckExact(PyObject *p) PyObject* PyTuple_New(Py_ssize_t len) PyObject* PyTuple_Pack(Py_ssize_t n, ...) Py_ssize_t PyTuple_Size(PyObject *p) Py_ssize_t PyTuple_GET_SIZE(PyObject *p) PyObject* PyTuple_GetItem(PyObject *p, Py_ssize_t pos) PyObject* PyTuple_GET_ITEM(PyObject *p, Py_ssize_t pos) PyObject* PyTuple_GetSlice(PyObject *p, Py_ssize_t low, Py_ssize_t high) int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o) void PyTuple_SET_ITEM(PyObject *p, Py_ssize_t pos, PyObject *o) int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize) int PyTuple_ClearFreeList() PyTypeObject* PyStructSequence_NewType(PyStructSequence_Desc *desc) void PyStructSequence_InitType(PyTypeObject *type, PyStructSequence_Desc *desc) int PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc) PyObject* PyStructSequence_New(PyTypeObject *type) PyObject* PyStructSequence_GetItem(PyObject *p, Py_ssize_t pos) PyObject* PyStructSequence_GET_ITEM(PyObject *p, Py_ssize_t pos) void PyStructSequence_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o) PyObject* PyStructSequence_SET_ITEM(PyObject *p, Py_ssize_t *pos, PyObject *o) List objects ------------ int PyList_Check(PyObject *p) int PyList_CheckExact(PyObject *p) PyObject* PyList_New(Py_ssize_t len) Py_ssize_t PyList_Size(PyObject *list) Py_ssize_t PyList_GET_SIZE(PyObject *list) PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index) PyObject* PyList_GET_ITEM(PyObject *list, Py_ssize_t i) int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item) void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o) int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item) int PyList_Append(PyObject *list, PyObject *item) PyObject* PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high) int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist) int PyList_Sort(PyObject *list) int PyList_Reverse(PyObject *list) PyObject* PyList_AsTuple(PyObject *list) int PyList_ClearFreeList() Dictionary objects ------------------ int PyDict_Check(PyObject *p) int PyDict_CheckExact(PyObject *p) PyObject* PyDict_New() PyObject* PyDictProxy_New(PyObject *mapping) void PyDict_Clear(PyObject *p) int PyDict_Contains(PyObject *p, PyObject *key) PyObject* PyDict_Copy(PyObject *p) int PyDict_SetItem(PyObject *p, PyObject *key, PyObject *val) int PyDict_SetItemString(PyObject *p, const char *key, PyObject *val) int PyDict_DelItem(PyObject *p, PyObject *key) int PyDict_DelItemString(PyObject *p, const char *key) PyObject* PyDict_GetItem(PyObject *p, PyObject *key) PyObject* PyDict_GetItemWithError(PyObject *p, PyObject *key) PyObject* PyDict_GetItemString(PyObject *p, const char *key) PyObject* PyDict_SetDefault(PyObject *p, PyObject *key, PyObject *default) PyObject* PyDict_Items(PyObject *p) PyObject* PyDict_Keys(PyObject *p) PyObject* PyDict_Values(PyObject *p) Py_ssize_t PyDict_Size(PyObject *p) int PyDict_Next(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) int PyDict_Merge(PyObject *a, PyObject *b, int override) int PyDict_Update(PyObject *a, PyObject *b) int PyDict_MergeFromSeq2(PyObject *a, PyObject *seq2, int override) int PyDict_ClearFreeList() Set objects ----------- int PySet_Check(PyObject *p) int PyFrozenSet_Check(PyObject *p) int PyAnySet_Check(PyObject *p) int PyAnySet_CheckExact(PyObject *p) int PyFrozenSet_CheckExact(PyObject *p) PyObject* PySet_New(PyObject *iterable) PyObject* PyFrozenSet_New(PyObject *iterable) Py_ssize_t PySet_Size(PyObject *anyset) Py_ssize_t PySet_GET_SIZE(PyObject *anyset) int PySet_Contains(PyObject *anyset, PyObject *key) int PySet_Add(PyObject *set, PyObject *key) int PySet_Discard(PyObject *set, PyObject *key) PyObject* PySet_Pop(PyObject *set) int PySet_Clear(PyObject *set) int PySet_ClearFreeList() Function objects ---------------- int PyFunction_Check(PyObject *o) PyObject* PyFunction_New(PyObject *code, PyObject *globals) PyObject* PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname) PyObject* PyFunction_GetCode(PyObject *op) PyObject* PyFunction_GetGlobals(PyObject *op) PyObject* PyFunction_GetModule(PyObject *op) PyObject* PyFunction_GetDefaults(PyObject *op) int PyFunction_SetDefaults(PyObject *op, PyObject *defaults) PyObject* PyFunction_GetClosure(PyObject *op) int PyFunction_SetClosure(PyObject *op, PyObject *closure) PyObject *PyFunction_GetAnnotations(PyObject *op) int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations) Instance method objects ----------------------- int PyInstanceMethod_Check(PyObject *o) PyObject* PyInstanceMethod_New(PyObject *func) PyObject* PyInstanceMethod_Function(PyObject *im) PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im) int PyMethod_Check(PyObject *o) PyObject* PyMethod_New(PyObject *func, PyObject *self) PyObject* PyMethod_Function(PyObject *meth) PyObject* PyMethod_GET_FUNCTION(PyObject *meth) PyObject* PyMethod_Self(PyObject *meth) PyObject* PyMethod_GET_SELF(PyObject *meth) int PyMethod_ClearFreeList() File objects ------------ PyFile_FromFd(int fd, const char *name, const char *mode, int buffering, const char *encoding, const char *errors, const char *newline, int closefd) int PyObject_AsFileDescriptor(PyObject *p) PyObject* PyFile_GetLine(PyObject *p, int n) int PyFile_WriteObject(PyObject *obj, PyObject *p, int flags) int PyFile_WriteString(const char *s, PyObject *p) Module objects -------------- int PyModule_Check(PyObject *p) int PyModule_CheckExact(PyObject *p) PyObject* PyModule_NewObject(PyObject *name) PyObject* PyModule_New(const char *name) PyObject* PyModule_GetDict(PyObject *module) PyObject* PyModule_GetNameObject(PyObject *module) char* PyModule_GetName(PyObject *module) void* PyModule_GetState(PyObject *module) PyModuleDef* PyModule_GetDef(PyObject *module) PyObject* PyModule_GetFilenameObject(PyObject *module) char* PyModule_GetFilename(PyObject *module) PyObject* PyModule_Create(PyModuleDef *def) PyObject* PyModule_Create2(PyModuleDef *def, int module_api_version) PyObject* PyModuleDef_Init(PyModuleDef *def) PyObject * PyModule_FromDefAndSpec(PyModuleDef *def, PyObject *spec) PyObject * PyModule_FromDefAndSpec2(PyModuleDef *def, PyObject *spec, int module_api_version) int PyModule_ExecDef(PyObject *module, PyModuleDef *def) int PyModule_SetDocString(PyObject *module, const char *docstring) int PyModule_AddFunctions(PyObject *module, PyMethodDef *functions) int PyModule_AddObject(PyObject *module, const char *name, PyObject *value) int PyModule_AddIntConstant(PyObject *module, const char *name, long value) int PyModule_AddStringConstant(PyObject *module, const char *name, const char *value) int PyModule_AddIntMacro(PyObject *module, macro) int PyModule_AddStringMacro(PyObject *module, macro) PyObject* PyState_FindModule(PyModuleDef *def) int PyState_AddModule(PyObject *module, PyModuleDef *def) int PyState_RemoveModule(PyModuleDef *def) Iterator objects ---------------- int PySeqIter_Check(op) PyObject* PySeqIter_New(PyObject *seq) int PyCallIter_Check(op) PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel) Slice objects ------------- int PySlice_Check(PyObject *ob) PyObject* PySlice_New(PyObject *start, PyObject *stop, PyObject *step) int PySlice_GetIndices(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step) int PySlice_GetIndicesEx(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength) Weak reference objects ---------------------- int PyWeakref_Check(ob) int PyWeakref_CheckRef(ob) int PyWeakref_CheckProxy(ob) PyObject* PyWeakref_NewRef(PyObject *ob, PyObject *callback) PyObject* PyWeakref_NewProxy(PyObject *ob, PyObject *callback) PyObject* PyWeakref_GetObject(PyObject *ref) PyObject* PyWeakref_GET_OBJECT(PyObject *ref) Generator objects ----------------- int PyGen_Check(PyObject *ob) int PyGen_CheckExact(PyObject *ob) PyObject* PyGen_New(PyFrameObject *frame) PyObject* PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname) Coroutine objects ----------------- int PyCoro_CheckExact(PyObject *ob) PyObject* PyCoro_New(PyFrameObject *frame, PyObject *name, PyObject *qualname) DateTime objects ---------------- int PyDate_Check(PyObject *ob) int PyDate_CheckExact(PyObject *ob) int PyDateTime_Check(PyObject *ob) int PyDateTime_CheckExact(PyObject *ob) int PyTime_Check(PyObject *ob) int PyTime_CheckExact(PyObject *ob) int PyDelta_Check(PyObject *ob) int PyDelta_CheckExact(PyObject *ob) int PyTZInfo_Check(PyObject *ob) int PyTZInfo_CheckExact(PyObject *ob) PyObject* PyDate_FromDate(int year, int month, int day) PyObject* PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond) PyObject* PyTime_FromTime(int hour, int minute, int second, int usecond) PyObject* PyDelta_FromDSU(int days, int seconds, int useconds) int PyDateTime_GET_YEAR(PyDateTime_Date *o) int PyDateTime_GET_MONTH(PyDateTime_Date *o) int PyDateTime_GET_DAY(PyDateTime_Date *o) int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o) int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o) int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o) int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o) int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o) int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o) int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o) int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o) int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o) int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o) int PyDateTime_DELTA_GET_MICROSECOND(PyDateTime_Delta *o) PyObject* PyDateTime_FromTimestamp(PyObject *args) PyObject* PyDate_FromTimestamp(PyObject *args) Common object structures ------------------------ Py_TYPE(o) Py_REFCNT(o) Py_SIZE(o) PyObject_HEAD_INIT(type) PyVarObject_HEAD_INIT(type, size) T_SHORT(x) T_INT(x) T_LONG(x) T_FLOAT(x) T_DOUBLE(x) T_STRING(x) T_OBJECT(x) T_OBJECT_EX(x) T_CHAR(x) T_BYTE(x) T_UBYTE(x) T_UINT(x) T_USHORT(x) T_ULONG(x) T_BOOL(x) T_LONGLONG(x) T_ULONGLONG(x) T_PYSSIZET(x)