1 USING: alien alien.c-types alien.destructors alien.libraries
2 alien.libraries.finder alien.syntax assocs classes.struct kernel sequences
7 { "python3.10" "python3.9" "python3.8" "python3.7" } find-library-from-list
10 ! Functions that return borrowed references needs to be called like this:
11 ! Py_Func dup Py_IncRef &Py_DecRef
18 CONSTANT: METH_OLDARGS 0x0000
19 CONSTANT: METH_VARARGS 0x0001
20 CONSTANT: METH_KEYWORDS 0x0002
21 CONSTANT: METH_NOARGS 0x0004
22 CONSTANT: METH_O 0x0008
23 CONSTANT: METH_CLASS 0x0010
24 CONSTANT: METH_STATIC 0x0020
25 CONSTANT: METH_COEXIST 0x0040
26 CONSTANT: METH_FASTCALL 0x0080
27 CONSTANT: METH_STACKLESS 0x0100
28 CONSTANT: METH_METHOD 0x0200
32 TYPEDEF: long Py_ssize_t
36 { ml_meth PyCFunction* }
44 { use_environment int }
45 { configure_locale int }
46 { coerce_c_locale int }
47 { coerce_c_locale_warn int }
48 ! { legacy_windows_fs_encoding int } ! on Windows
53 FUNCTION: PyObject* PyCFunction_NewEx ( PyMethodDef* ml,
56 FUNCTION: int PyCFunction_GetFlags ( PyObject* op )
58 CALLBACK: PyObject* PyCallback ( PyObject* self,
63 FUNCTION: c-string Py_GetVersion ( )
64 FUNCTION: void Py_Initialize ( )
65 FUNCTION: bool Py_IsInitialized ( )
66 FUNCTION: void Py_Finalize ( )
67 FUNCTION: void PySys_SetArgvEx ( int argc, c-string* argv, int updatepath )
70 FUNCTION: int PyRun_SimpleString ( c-string command )
73 FUNCTION: PyObject* PyImport_AddModule ( c-string name )
74 FUNCTION: long PyImport_GetMagicNumber ( )
75 FUNCTION: PyObject* PyImport_ImportModule ( c-string name )
79 FUNCTION: PyObject* PySys_GetObject ( c-string name )
83 FUNCTION: PyObject* PyDict_GetItemString ( PyObject* d, c-string key )
84 FUNCTION: PyObject* PyDict_New ( )
85 FUNCTION: int PyDict_Size ( PyObject* d )
86 FUNCTION: int PyDict_SetItemString ( PyObject* d,
89 FUNCTION: int PyDict_SetItem ( PyObject* d, PyObject* k, PyObject* o )
90 FUNCTION: PyObject* PyDict_Items ( PyObject *d )
94 FUNCTION: PyObject* PyTuple_GetItem ( PyObject* t, int pos )
95 FUNCTION: PyObject* PyTuple_New ( int len )
96 ! Steals the reference
97 FUNCTION: int PyTuple_SetItem ( PyObject* t, int pos, PyObject* o )
98 FUNCTION: int PyTuple_Size ( PyObject* t )
102 FUNCTION: PyObject* PyList_GetItem ( PyObject* l, int pos )
104 FUNCTION: PyObject* PyList_New ( int len )
105 FUNCTION: int PyList_Size ( PyObject* l )
106 ! Steals the reference
107 FUNCTION: int PyList_SetItem ( PyObject* l, int pos, PyObject* o )
110 FUNCTION: int PySequence_Check ( PyObject* o )
113 FUNCTION: c-string PyModule_GetName ( PyObject* module )
114 FUNCTION: PyObject* PyModule_GetDict ( PyObject* module )
117 FUNCTION: int PyCallable_Check ( PyObject* obj )
120 FUNCTION: PyObject* PyObject_CallObject ( PyObject* callable,
122 FUNCTION: PyObject* PyObject_Call ( PyObject* callable,
126 FUNCTION: PyObject* PyObject_GetAttrString ( PyObject* o,
128 FUNCTION: int PyObject_SetAttrString ( PyObject* o,
132 FUNCTION: PyObject* PyObject_Str ( PyObject* o )
133 FUNCTION: int PyObject_IsTrue ( PyObject* o )
136 FUNCTION: c-string PyBytes_AsString ( PyObject* string )
137 FUNCTION: PyObject* PyBytes_FromStringAndSize ( c-string v, Py_ssize_t size )
140 FUNCTION: c-string PyUnicode_AsUTF8 ( PyObject* unicode )
141 FUNCTION: PyObject* PyUnicode_FromStringAndSize ( c-string v, Py_ssize_t size )
144 FUNCTION: long PyLong_AsLong ( PyObject* io )
145 FUNCTION: PyObject* PyLong_FromLong ( long v )
146 FUNCTION: PyObject* PyLong_FromString ( c-string str, char** pend, int base )
149 FUNCTION: PyObject* PyFloat_FromDouble ( double d )
152 FUNCTION: int PyType_Check ( PyObject* obj )
155 FUNCTION: void Py_IncRef ( PyObject* o )
156 FUNCTION: void Py_DecRef ( PyObject* o )
157 DESTRUCTOR: Py_DecRef
160 FUNCTION: c-string PyEval_GetFuncName ( PyObject* func )
163 FUNCTION: void PyErr_Clear ( )
164 FUNCTION: void PyErr_Print ( )
165 FUNCTION: void PyErr_Fetch ( PyObject** ptype,
167 PyObject** *ptraceback )