2023-02-14 11:26:35 -05:00
|
|
|
# Copyright (C) 2022-2023 Exaloop Inc. <https://exaloop.io>
|
|
|
|
|
|
|
|
# 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
|
2023-02-14 11:35:11 -05:00
|
|
|
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()
|
2023-02-14 11:26:35 -05:00
|
|
|
Py_LT = 0
|
|
|
|
Py_LE = 1
|
|
|
|
Py_EQ = 2
|
|
|
|
Py_NE = 3
|
|
|
|
Py_GT = 4
|
|
|
|
Py_GE = 5
|
|
|
|
|
|
|
|
# exceptions
|
2023-02-14 11:35:11 -05:00
|
|
|
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
|