Cython: C-Extensions for Python, Wiki
This is a wiki for anything related to the Cython or Pyrex projects.
Cython is a language that makes writing C extensions for the Python language as easy as Python itself.
Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.
Development of Cython is mainly motivated by the needs of SAGE.
Quick Links
Release History and older versions.
Example (Mandelbrot fractal)
Cython Installers
PyPi via easy_install
Gentoo Ebuild (very old)
Debian package (not always up to date)
Unsupported Python features (aka TODO list)
- Tips and Tricks
Discussion of all the options how to wrap C/C++ code to Python
Embedding Python to create standalone Cython programs.
People
Stefan Behnel, Robert Bradshaw, Dag Seljebotn, Lisandro Dalcin, William Stein, Gary Furnish.
Mailing Lists
Our primary mailing list cython-dev is hosted at codespeak.net. This list is open for user questions as well as developer discussion.
In the past we also used a Google group and a list at BerliOS Developer. You can still read the archives at Gmane.
Project Goals
Fully supported easy-to-use test suite: (see this post).
EasyInstall support
- Put all the official Pyrex documentation into a latex document, clean it up, and augment it with discussion of all Cython-specific extensions. Make sure the examples are plenty and can be automatically tested.
- Make Cython part of the standard distribution of Python (like ctypes).
- Compile all Python code except for possibly some obvious exclusions, which will be worked out by developers.
- Very fast when the user explicitly declares types (but we're not going to make promises with type inference). Precise benchmarks.
- Mitigate or eliminate the need for users to invoke the Python/C API directly without sacrificing performance.
Documentation
Official Pyrex Language Overview (note the changes though).
CategoryCythonDoc lists pages that are related to Cython documentation.
SAGE Days 4 talk highlighting some of the differences between Pyrex and SageX (the predecessor of Cython).
