cdef extern from "compile.h": pass cdef extern from "frameobject.h": struct PyCodeObject: pass struct PyDictObject: pass struct PyObject: pass # Just defining the members that we need to manipulate struct _frame: _frame *f_back PyCodeObject *f_code PyObject *f_builtins PyObject *f_globals PyObject *f_locals PyObject *f_exc_type, *f_exc_value, *f_exc_traceback int f_lineno ctypedef _frame PyFrameObject def newframe(back, code, builtins, globals, locals, exc_type, exc_value, exc_traceback, int lineno): cdef PyFrameObject *frame frame.f_back = back frame.f_code = code frame.f_builtins = builtins frame.f_globals = globals frame.f_locals = locals frame.f_exc_type = exc_type frame.f_exc_value = exc_value frame.f_exc_traceback = exc_traceback frame.f_lineno = lineno return frame