PYTHON setup.py build_ext --inplace PYTHON -c "import a" ######## setup.py ######## from Cython.Build.Dependencies import cythonize import Cython.Compiler.Options Cython.Compiler.Options.cimport_from_pyx = True from distutils.core import setup setup( ext_modules = cythonize("*.pyx"), ) ######## a.pyx ######## from b cimport Bclass, Bfunc, Bstruct, Benum, Benum_value, Btypedef, Py_EQ, Py_NE cdef Bclass b = Bclass(5) assert Bfunc(&b.value) == b.value assert b.asStruct().value == b.value cdef Btypedef b_type = &b.value cdef Benum b_enum = Benum_value cdef int tmp = Py_EQ #from c cimport ClassC #cdef ClassC c = ClassC() #print c.value ######## b.pyx ######## from cpython.object cimport Py_EQ, Py_NE cdef enum Benum: Benum_value cdef struct Bstruct: int value ctypedef long *Btypedef cdef class Bclass: cdef long value def __init__(self, value): self.value = value cdef Bstruct asStruct(self): return Bstruct(value=self.value) cdef long Bfunc(Btypedef x): return x[0] ######## c.pxd ######## cdef class ClassC: cdef int value