CythonBuilder makes it easy to use Cython in your Python project by automating the building process. You can use CythonBuilder from the commandline or import it as a package in Python. Generated files can be imported in Python directly
pip install cythonbuilder
Add -v
(verbose) for more information
- Listing files with and without filter
cybuilder list
cybuilder list --files file1 file2.pyx
- Build with and without optional build arguments
cybuilder build
cybuilder build --include-numpy --no-annotation --no-cleanup
- Clean
cybuilder clean
cybuilder clean --no-cleanup
- Listing files with and without filter
import cythonbuilder
print(cythonbuilder.cy_list()) # without a filter
print(cythonbuilder.cy_list(target_files=['some_name.pyx'])) # with a filter
- Build with and without optional build arguments (cleans automatically afterwards)
import cythonbuilder
cythonbuilder.cy_build()
found_files = cythonbuilder.cy_build(target_files=['some_name'])
cythonbuilder.cy_build(target_files=found_files, include_numpy=False, create_annotations=False)
- Clean
import cythonbuilder
cythonbuilder.cy_clean()
found_files = cythonbuilder.cy_build(target_files=['some_name'])
cythonbuilder.cy_clean(target_files=['some_name'])
- Setting debug level for verbose logging
import logging
from . import logger
logger.setLevel(logging.DEBUG)
I've written a few articles that explain why Python is slow, why Cython can be a solution and how CythonBuilder helps us develop fast code easily: