setup.py
import os
import typing as tp
from satella.files import find_files
from distutils.core import setup
from setuptools import find_packages
from snakehouse import Multibuild, build, monkey_patch_parallel_compilation
def find_pyx(*path) -> tp.List[str]:
return list(find_files(os.path.join(*path), r'(.*)\.pyx', scan_subdirectories=True))
monkey_patch_parallel_compilation()
directives = {'language_level': '3'}
ext_kwargs = {}
cythonize_kwargs = {}
if 'CI' in os.environ: # and 'RELEASE' not in os.environ:
ext_kwargs['define_macros'] = [("CYTHON_TRACE_NOGIL", "1")]
directives.update(profile=True, linetrace=True, embedsignature=True)
cythonize_kwargs['gdb_debug'] = True
ext_modules = build([Multibuild('tempsdb', find_pyx('tempsdb'),
**ext_kwargs), ],
compiler_directives=directives,
**cythonize_kwargs)
setup(packages=find_packages(include=['tempsdb', 'tempsdb.*']),
ext_modules=ext_modules,
test_suite="tests",
)