cdef extern from "Python.h": struct PyObject: pass ctypedef PyObject* PyObjectPtr "PyObject*" void Py_INCREF(PyObjectPtr) void Py_DECREF(PyObjectPtr) void Py_XDECREF(PyObjectPtr) int Py_ReprEnter(PyObjectPtr) void Py_ReprLeave(PyObjectPtr) int PyCallable_Check(PyObjectPtr) cdef extern from "frameobject.h": ctypedef struct PyThreadState: PyObjectPtr exc_type PyObjectPtr exc_value PyObjectPtr exc_traceback PyThreadState* PyThreadState_GET()