# Copyright (C) 2022-2023 Exaloop Inc. # general from C import Py_DecRef(cobj) -> None from C import Py_IncRef(cobj) -> None from C import Py_Initialize() -> None from C import PyImport_AddModule(cobj) -> cobj from C import PyImport_AddModuleObject(cobj) -> cobj from C import PyImport_ImportModule(cobj) -> cobj from C import PyRun_SimpleString(cobj) -> None from C import PyEval_GetGlobals() -> cobj from C import PyEval_GetBuiltins() -> cobj # conversions from C import PyLong_AsLong(cobj) -> int from C import PyLong_FromLong(int) -> cobj from C import PyFloat_AsDouble(cobj) -> float from C import PyFloat_FromDouble(float) -> cobj from C import PyBool_FromLong(int) -> cobj from C import PyBytes_AsString(cobj) -> cobj from C import PyList_New(int) -> cobj from C import PyList_GetItem(cobj, int) -> cobj from C import PyList_SetItem(cobj, int, cobj) -> cobj from C import PyDict_New() -> cobj from C import PyDict_Next(cobj, Ptr[int], Ptr[cobj], Ptr[cobj]) -> int from C import PyDict_GetItem(cobj, cobj) -> cobj from C import PyDict_SetItem(cobj, cobj, cobj) -> cobj from C import PySet_Add(cobj, cobj) -> cobj from C import PySet_New(cobj) -> cobj from C import PyTuple_New(int) -> cobj from C import PyTuple_Size(cobj) -> int from C import PyTuple_GetItem(cobj, int) -> cobj from C import PyTuple_SetItem(cobj, int, cobj) -> None from C import PyUnicode_AsEncodedString(cobj, cobj, cobj) -> cobj from C import PyUnicode_DecodeFSDefaultAndSize(cobj, int) -> cobj from C import PyUnicode_FromString(cobj) -> cobj from C import PyComplex_FromDoubles(float, float) -> cobj from C import PyComplex_RealAsDouble(cobj) -> float from C import PyComplex_ImagAsDouble(cobj) -> float from C import PyIter_Next(cobj) -> cobj from C import PySlice_New(cobj, cobj, cobj) -> cobj from C import PySlice_Unpack(cobj, Ptr[int], Ptr[int], Ptr[int]) -> int # number from C import PyNumber_Add(cobj, cobj) -> cobj from C import PyNumber_Subtract(cobj, cobj) -> cobj from C import PyNumber_Multiply(cobj, cobj) -> cobj from C import PyNumber_MatrixMultiply(cobj, cobj) -> cobj from C import PyNumber_FloorDivide(cobj, cobj) -> cobj from C import PyNumber_TrueDivide(cobj, cobj) -> cobj from C import PyNumber_Remainder(cobj, cobj) -> cobj from C import PyNumber_Divmod(cobj, cobj) -> cobj from C import PyNumber_Power(cobj, cobj, cobj) -> cobj from C import PyNumber_Negative(cobj) -> cobj from C import PyNumber_Positive(cobj) -> cobj from C import PyNumber_Absolute(cobj) -> cobj from C import PyNumber_Invert(cobj) -> cobj from C import PyNumber_Lshift(cobj, cobj) -> cobj from C import PyNumber_Rshift(cobj, cobj) -> cobj from C import PyNumber_And(cobj, cobj) -> cobj from C import PyNumber_Xor(cobj, cobj) -> cobj from C import PyNumber_Or(cobj, cobj) -> cobj from C import PyNumber_InPlaceAdd(cobj, cobj) -> cobj from C import PyNumber_InPlaceSubtract(cobj, cobj) -> cobj from C import PyNumber_InPlaceMultiply(cobj, cobj) -> cobj from C import PyNumber_InPlaceMatrixMultiply(cobj, cobj) -> cobj from C import PyNumber_InPlaceFloorDivide(cobj, cobj) -> cobj from C import PyNumber_InPlaceTrueDivide(cobj, cobj) -> cobj from C import PyNumber_InPlaceRemainder(cobj, cobj) -> cobj from C import PyNumber_InPlacePower(cobj, cobj, cobj) -> cobj from C import PyNumber_InPlaceLshift(cobj, cobj) -> cobj from C import PyNumber_InPlaceRshift(cobj, cobj) -> cobj from C import PyNumber_InPlaceAnd(cobj, cobj) -> cobj from C import PyNumber_InPlaceXor(cobj, cobj) -> cobj from C import PyNumber_InPlaceOr(cobj, cobj) -> cobj from C import PyNumber_Long(cobj) -> cobj from C import PyNumber_Float(cobj) -> cobj from C import PyNumber_Index(cobj) -> cobj # object from C import PyObject_Call(cobj, cobj, cobj) -> cobj from C import PyObject_GetAttr(cobj, cobj) -> cobj from C import PyObject_GetAttrString(cobj, cobj) -> cobj from C import PyObject_GetIter(cobj) -> cobj from C import PyObject_HasAttrString(cobj, cobj) -> int from C import PyObject_IsTrue(cobj) -> int from C import PyObject_Length(cobj) -> int from C import PyObject_LengthHint(cobj, int) -> int from C import PyObject_SetAttrString(cobj, cobj, cobj) -> cobj from C import PyObject_Str(cobj) -> cobj from C import PyObject_Repr(cobj) -> cobj from C import PyObject_Hash(cobj) -> int from C import PyObject_GetItem(cobj, cobj) -> cobj from C import PyObject_SetItem(cobj, cobj, cobj) -> int from C import PyObject_DelItem(cobj, cobj) -> int from C import PyObject_RichCompare(cobj, cobj, i32) -> cobj from C import PyObject_IsInstance(cobj, cobj) -> i32 # error handling from C import PyErr_Fetch(Ptr[cobj], Ptr[cobj], Ptr[cobj]) -> None from C import PyErr_NormalizeException(Ptr[cobj], Ptr[cobj], Ptr[cobj]) -> None from C import PyErr_SetString(cobj, cobj) -> None # constants from C import _Py_NoneStruct: cobj from C import _Py_TrueStruct: cobj from C import _Py_FalseStruct: cobj Py_None = __ptr__(_Py_NoneStruct).as_byte() Py_True = __ptr__(_Py_TrueStruct).as_byte() Py_False = __ptr__(_Py_FalseStruct).as_byte() Py_LT = 0 Py_LE = 1 Py_EQ = 2 Py_NE = 3 Py_GT = 4 Py_GE = 5 # exceptions from C import PyExc_BaseException: cobj from C import PyExc_Exception: cobj from C import PyExc_NameError: cobj from C import PyExc_OSError: cobj from C import PyExc_IOError: cobj from C import PyExc_ValueError: cobj from C import PyExc_LookupError: cobj from C import PyExc_IndexError: cobj from C import PyExc_KeyError: cobj from C import PyExc_TypeError: cobj from C import PyExc_ArithmeticError: cobj from C import PyExc_ZeroDivisionError: cobj from C import PyExc_OverflowError: cobj from C import PyExc_AttributeError: cobj from C import PyExc_RuntimeError: cobj from C import PyExc_NotImplementedError: cobj from C import PyExc_StopIteration: cobj from C import PyExc_AssertionError: cobj from C import PyExc_SystemExit: cobj