Skip to content
The most widely used Python to C compiler
Python C C++ Emacs Lisp PowerShell Makefile
Branch: master
Clone or download
Latest commit a738150 Jan 16, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Nov 6, 2019
Cython Minor code cleanup. Jan 16, 2020
Demos Update URLs to https:// in docs and comments Jan 11, 2019
Doc/s5 Shrink some PNG images. Feb 2, 2019
Tools Add compatability with Bazel 0.26 Jun 9, 2019
appveyor Update URLs to https:// in docs and comments Jan 11, 2019
bin Add an assertion for the assumption that all identifier start charact… Aug 24, 2019
docs #2740 emit_code_comments - removed from options, updated documentation ( Jan 13, 2020
pyximport
tests Support Pythran shape (GH-3307) Jan 14, 2020
.editorconfig Include header file types in editor config. Sep 17, 2018
.gitignore Exclude some more files from git control. Feb 2, 2019
.hgignore Rename BUILD to TEST_TMP for bazel support. Sep 16, 2016
.hgtags Added tag 0.21.2 for changeset ab1a3afb8775 Dec 27, 2014
.mailmap Add initial .mailmap file. Sep 17, 2015
.travis.yml Add LIMITED_API support and remove static state (GH-3223) Jan 12, 2020
BUILD.bazel
CHANGES.rst Make it clear that Cython 3.0 will not be released in 2019 any more. Dec 29, 2019
COPYING.txt Clarify license position with respect to compilation output. Jul 23, 2014
INSTALL.txt Remove trailing whitespace. Dec 13, 2010
LICENSE.txt Update URLs to https:// in docs and comments Jan 11, 2019
MANIFEST.in Remove unused file reference from sdist. Sep 8, 2018
Makefile
README.rst Add sponsor links for supporting the project. Nov 8, 2019
ToDo.txt Remove trailing whitespace. Dec 13, 2010
USAGE.txt Remove trailing whitespace. Dec 13, 2010
appveyor.yml Enable C++ tests in appveyor, only only Py2.7/3.7 64 bit for now. Jan 12, 2019
cygdb.py scripts with shebangs <-> executable + uniform use of #!/usr/bin/env … Dec 6, 2012
cython.py make `%load_ext cython` still valid May 5, 2014
cythonize.py globally install "cythonize" script Jul 13, 2014
pylintrc allow "scanner.sy" as attribute name in pylint Mar 28, 2016
runtests.py Add LIMITED_API support and remove static state (GH-3223) Jan 12, 2020
setup.cfg Move coverage.rc -> setup.cfg to reduce the number of config files (G… Jun 7, 2019
setup.py Remove Cython/Includes/Deprecated Mar 24, 2019
setupegg.py Fix open mode in setupegg.py wrapper script May 25, 2015
test-requirements-cpython.txt Fix travis build in Py3.4 by pinning a version dependency. Feb 20, 2019
test-requirements.txt Exclude jupyter from PyPy tests since it has too many dependencies th… Feb 8, 2019
tox.ini Move pycodestyle config to setup.cfg and constrain the files that it … Feb 23, 2019

README.rst

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.

You can support the Cython project via Github Sponsors or Tidelift.

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.
You can’t perform that action at this time.