Name Last commit Last update
Cython Avoid unlocking never-locked objects at the end of functions
Demos Update URLs to https:// in docs and comments
Doc/s5 Shrink some PNG images.
Tools Add compatability with Bazel 0.26
appveyor Update URLs to https:// in docs and comments
bin Changed some filenames.
docs Describe refcount behaviour of object vs PyObject* (GH-3013)
nogil_test amend legacy test
pyximport blocking all distutils from being compiled; removed distutils blacklists from the pyimport test and deleted the 'slow' test as it is now redundant
tests Add pthread tag to cypclass tests
.editorconfig Include header file types in editor config.
.gitignore Exclude some more files from git control.
.hgignore Rename BUILD to TEST_TMP for bazel support.
.hgtags Added tag 0.21.2 for changeset ab1a3afb8775
.mailmap Add initial .mailmap file.
.travis.yml Re-enable travis ccache after fixing a cache corruption in Py3.4 builds.
BUILD.bazel Rename BUILD file to avoid conflict with build directory.
CHANGES.rst Merge branch '0.29.x'
COPYING.txt Clarify license position with respect to compilation output.
INSTALL.txt Remove trailing whitespace.
LICENSE.txt Update URLs to https:// in docs and comments
MANIFEST.in Remove unused file reference from sdist.
Makefile Clean up compiled modules that are directly in the Cython package on "make clean".
README.rst Update URLs to https:// in docs and comments
ToDo.txt Remove trailing whitespace.
USAGE.txt
appveyor.yml
cygdb.py
cython.py
cythonize.py
pylintrc
runtests.py
setup.cfg
setup.py
setupegg.py
test-requirements-cpython.txt
test-requirements.txt
tox.ini

Welcome to Cython!

Cython is a language that makes writing C extensions for Python as easy as Python itself. Cython is based on Pyrex, but supports more cutting edge functionality and optimizations.

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.

Installation:

If you already have a C compiler, just do:

pip install Cython

otherwise, see the installation page.

License:

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

See LICENSE.txt.

Contributing:

Want to contribute to the Cython project? Here is some help to get you started.

We are currently building the next great Cython edition: Cython 3.0. You can help us make the life of Python 3.x users easier.

Get the full source history:

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

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 welcome!

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

The latest version of Pyrex can be found here.

Greg Ewing, Computer Science Dept
University of Canterbury
Christchurch, New Zealand
A citizen of NewZealandCorp, a wholly-owned subsidiary of USA Inc.