Skip to main content

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

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easycython-1.0.7.tar.gz (5.6 kB view hashes)

Uploaded source

Built Distribution

easycython-1.0.7-py2.py3-none-any.whl (5.6 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page