1PYTHON setup.py build_ext --inplace
2PYTHON -c "import a; a.test()"
3
4######## setup.py ########
5
6from Cython.Build.Dependencies import cythonize
7
8from distutils.core import setup
9
10setup(
11    ext_modules = cythonize("a.pyx"),
12)
13
14######## a.pyx ########
15
16cdef class ExtTypeDocstringPass:
17    pass
18
19cdef class ExtTypeDocstring:
20    "huhu!"   # this should override the .pxd docstring
21
22cdef class ExtTypePass:
23    pass
24
25cdef class ExtTypeDocstringPassString:
26    pass
27
28def test():
29    assert not ExtTypePass().__doc__, ExtTypePass().__doc__
30    assert ExtTypeDocstring().__doc__ == "huhu!", ExtTypeDocstring().__doc__
31    assert ExtTypeDocstringPass().__doc__ == "hoho!", ExtTypeDocstringPass().__doc__
32    assert ExtTypeDocstringPassString().__doc__ == "hoho!", ExtTypeDocstringPassString().__doc__
33
34######## a.pxd ########
35
36cdef class ExtTypePass:
37    pass
38
39cdef class ExtTypeDocstring:
40    """
41    hoho
42    """
43
44cdef class ExtTypeDocstringPass:
45    "hoho!"
46    pass
47
48cdef class ExtTypeDocstringPassString:
49    "hoho!"
50    pass
51    "more hoho"
52