blob: f70699012640f948536a190bc332141cee7acb00 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# mode: run
# tag: import,cimport,packages
PYTHON setup.py build_ext --inplace
PYTHON -c "import pkg_py"
PYTHON -c "import pkg_py.pkg_pyx"
PYTHON -c "import pkg_py.pkg_pyx.module as module; module.run_test()"
######## setup.py ########
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize('**/*.pyx', language_level=3),
)
######## pkg_py/__init__.py ########
TYPE = 'py'
######## pkg_py/pkg_pyx/__init__.pyx ########
TYPE = 'pyx'
######## pkg_py/pkg_pyx/pkg_pxd/__init__.pxd ########
# Not what Python would consider a package, but Cython can use it for cimports.
from libc.math cimport fabs
######## pkg_py/pkg_pyx/module.pyx ########
from pkg_py.pkg_pyx.pkg_pxd cimport fabs
def run_test():
import pkg_py
assert pkg_py.TYPE == 'py'
import pkg_py.pkg_pyx
assert pkg_py.pkg_pyx.TYPE == 'pyx'
assert fabs(-2.0) == 2.0
|