Because writing a setup.py each time is painful.
x64 | 2.7 | 3.4 | 3.5 | 3.6 |
---|---|---|---|---|
e:: htt | ps://tr | avis-ci | .org/cjrh/easycython.svg?branch=master | |
|
get: ht |
tps://t |
ravis-c |
i.org/cjrh/easycython |
e:: htt | ps://co | veralls | .io/repos/cjrh/easycython/badge.png | |
|
get: ht |
tps://c |
overall |
s.io/r/cjrh/easycython |
===== | ===== | ===== | ===== | ===== |
|
|
|
|
|
|
|
|
|
|
easycython.py
is a script that will attempt to automatically convert one or more .pyx
files into the corresponding compiled .pyd|.so
binary modules files. Example:
$ python easycython.py myext.pyx
pip install easycython
will automatically create an executable script in your Scripts/
folder, so you should be able to simply:
$ easycython myext.pyx
or even:
$ easycython *.pyx
You can type:
$ easycython -h
to obtain the following CLI:
usage: easycython.py [-h] [--annotation] [--no-annotation] [--numpy-includes]
[--no-numpy-includes]
[filenames [filenames ...]]
positional arguments:
filenames
optional arguments:
-h, --help show this help message and exit
--annotation
--no-annotation (default: True)
--numpy-includes
--no-numpy-includes (default: True)
--annotation
(default) will emit the HTML Cython annotation file.--numpy-includes
(default) will add the numpy headers to the build command.- Compiler flags
-O2 -march=native
are automatically passed to the compiler. I have not yet had to step through the generated C code with a debugger.