Cython: C-Extensions for Python
About Cython
Cython is a language that makes writing C extensions for the
Python language as easy as Python itself.
It is based on the well-known Pyrex, but supports more
cutting edge functionality and optimizations.Cython gives you the combined power of Python and C to let you
- write Python code that calls
back and forth from and to C or C++ code natively at any point.- easily tune readable Python code into plain C performance by
adding static type declarations.- use combined source code level debugging
to find bugs in your Python, Cython and C code.- interact efficiently with large data sets,
e.g. using multi-dimensional NumPy arrays.- quickly build your applications within the large, mature and widely used
CPython ecosystem.- integrate natively with existing code and data from legacy, low-level or
high-performance libraries and applications.The Cython language is a superset of the Python language that
additionally supports calling C functions and declaring
C types on variables and class attributes. This allows the
compiler to generate very efficient C code from Cython code.
The C code is generated once and then compiles with all major
C/C++ compilers in CPython 2.4 and later,
including Python 3.x.
PyPy support is work in progress (on both sides)
and is considered mostly usable
in Cython 0.17.This makes Cython the ideal language for wrapping external C libraries,
embedding CPython into existing applications, and for
fast C modules that speed up the execution of Python code.