Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Python to C compiler
Python C HTML C++ JavaScript Emacs Lisp Other
Pull request Compare This branch is 436 commits behind cython:master.
Failed to load latest commit information.
Cython move 'unicode' name in Tempita out of the way of 2to3 in Py3.2
Demos modernise demos and make them Py2/3 compatible
Doc Add __getattribute__ to documentation.
Tools 2to3: Run the 'has_key' fixer
appveyor AppVeyor: Various fixes and enhancements
bin Add sed script to move declarators to types.
docs type loop variables in memoryview example code
pyximport modernise pyximport tests
tests adapt Py2-only 'raise' statements to Py2/Py3
.gitignore .gitignore: Ignore *.egg and *.egg-info
.hgignore extend .hgignore
.hgtags Added tag 0.21.2 for changeset ab1a3afb8775
.travis.yml minor travis cleanup
2to3-fixers.txt restrict 2to3 usage to Python 3.2 (which does not support the u'' str…
CHANGES.rst Support operator bool() for C++ classes.
COPYING.txt Clarify license position with respect to compilation output.
INSTALL.txt Remove trailing whitespace.
LICENSE.txt Fixes the lineends in LICENSE.txt add 2to3 fixers list file to sdist
Makefile extend "make clean"
README.txt Fix hg/git in readme.
ToDo.txt Remove trailing whitespace.
USAGE.txt Remove trailing whitespace.
appveyor.yml AppVeyor: Various fixes and enhancements scripts with shebangs <-> executable + uniform use of #!/usr/bin/env … make `%load_ext cython` still valid globally install "cythonize" script
pylintrc disable some pylint warnings go back to using StringIO for test runner in Py2 restrict 2to3 usage to Python 3.2 (which does not support the u'' str… Fix open mode in wrapper script
tox.ini Fix CFLAGS environ in tox config


Welcome to Cython!

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

The Cython language is very close to the Python language, but Cython
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.

This makes Cython the ideal language for wrapping external C libraries, and
for fast C modules that speed up the execution of Python code.


The original Pyrex program was licensed "free of restrictions" (see
below).  Cython itself is licensed under the permissive

   Apache License

See LICENSE.txt.


Note that Cython used to ship the full version control repository in its source
distribution, but no longer does so due to space constraints.  To get the
full source history, make sure you have git installed, then step into the
base directory of the Cython source distribution and type

    make repo

Alternatively, check out the latest developer repository from

The following is from Pyrex:
This is a development version of Pyrex, a language
for writing Python extension modules.

For more info, see:

    Doc/About.html for a description of the language
    INSTALL.txt    for installation instructions
    USAGE.txt      for usage instructions
    Demos          for usage examples

Comments, suggestions, bug reports, etc. are

Copyright stuff: Pyrex is free of restrictions. You
may use, redistribute, modify and distribute modified

The latest version of Pyrex can be found here:

Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury,          | A citizen of NewZealandCorp, a       |
Christchurch, New Zealand          | wholly-owned subsidiary of USA Inc.  |         +--------------------------------------+
Something went wrong with that request. Please try again.