/cythonizer

Cythonizer is a script that will attempt to automatically convert one or more .py and .pyx files into the corresponding compiled .pyd or .so binary modules files.

Primary LanguagePythonMIT LicenseMIT

cythonizer

Cythonize one step faster

https://img.shields.io/badge/build-beta-brightgreen https://img.shields.io/badge/license-MIT-green https://img.shields.io/static/v1?label=Created%20with%20%E2%9D%A4%EF%B8%8F%20by&message=TechLearners&color=red

Introduction

cythonizer.py is a script that will attempt to automatically convert one or more .py and .pyx files into the corresponding compiled .pyd | .so binary modules files. Example:

$ python cythonizer.py myext.pyx

pip install cythonizer will automatically create an executable script in your Scripts/ folder, so you should be able to simply:

$ cythonizer myext.py

or even:

$ cythonizer *.pyx

You can type:

$ cythonizer -h

to obtain the following CLI:

usage: cythonizer.py [-h] [--annotation] [--numpy-includes]
                     [--debugmode] filenames [filenames ...]

positional arguments:
filenames         .py and .pyx files only

optional arguments:
-h, --help        show this help message and exit
--annotation      (default: False)
--numpy-includes  (default: False)
--debugmode       (default: False)
  • --annotation will create the HTML Cython annotation file.
  • --numpy-includes will add the numpy headers to the build command.
  • Compiler flags -O2 -march=native are automatically passed to the compiler.