easycython

Compile .pyx to (.pyd|.so) very easily.


Keywords
cython
License
MIT
Install
pip install easycython==1.0.7

Documentation

easycython

Because writing a setup.py each time is painful.

Status

Linux:

x64 2.7 3.4 3.5 3.6
https://travis-ci.org/cjrh/easycython.svg?branch=master https://coveralls.io/repos/cjrh/easycython/badge.png

Windows:

x86 2.7 3.4 3.5 3.6
x64 2.7 3.4 3.5 3.6
https://ci.appveyor.com/api/projects/status/23heqrp96f6ftmsr

Introduction

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.