Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
The most widely used Python to C compiler
Python C C++ Emacs Lisp PowerShell Makefile
Branch: master
Clone or download
scoder Instead of overriding "build_ext.build_extensions()" in "old_build_ex…
…t", which works differently for parallel and sequential builds, override only "check_extensions_list()", which gets called by it at the beginning.
Latest commit 14fd58b Dec 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Nov 6, 2019
Cython Instead of overriding "build_ext.build_extensions()" in "old_build_ex… Dec 23, 2019
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 Documented annotation_typing compiler option (#3232) Nov 12, 2019
pyximport Fix typos (GH-3276) Dec 21, 2019
tests ENH: add more tests and fixes for @Property cdef decorator (GH-3115) Dec 23, 2019
.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 Travis CI: make CPython 3.8 tests mandatory (GH-3099) Aug 26, 2019
BUILD.bazel Rename BUILD file to avoid conflict with build directory. Oct 10, 2016
CHANGES.rst Fix typos Dec 5, 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 Clean up compiled modules that are directly in the Cython package on … Jan 19, 2019
README.rst Add sponsor links for supporting the project. Nov 8, 2019
ToDo.txt Remove trailing whitespace. Dec 13, 2010
USAGE.txt
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
pylintrc allow "scanner.sy" as attribute name in pylint Mar 28, 2016
runtests.py TEST: add cpp attribute example from docs, add CYTHON_PROJECT_DIR for… Nov 29, 2019
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.