Name Last commit Last update
.github Create FUNDING.yml
Cython Avoid wrapping cypclasses where __new__ returns another type
Demos Remove "PYTHONHOME" setting from embed-test since it seems to break the I/O encoding setup in (at least) Py3.8+ venvs.
Doc/s5 Shrink some PNG images.
Tools Add compatability with Bazel 0.26
appveyor Update URLs to https:// in docs and comments
bin Add an assertion for the assumption that all identifier start characters are also valid continuation characters, so that we notice it if that ever changes.
docs Mark the embedded C main() function in the embedding test as "extern C" in C++ to see if that fixes the C++ builds in MSVC.
nogil_test amend legacy test
pyximport Fix typos (GH-3276)
tests Wrap data attributes with python properties
.editorconfig Include header file types in editor config.
.gitignore Make fused function dispatch O(n) for `cpdef` functions. (GH-3366)
.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 Test suite no longer fails in Py3.9, so enable it as a fully supported target in travis.
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 Build manylinux2010 wheels instead of older manylinux1 (GH-3355)
README.rst Make it clearer what "make repo" is meant for.
ToDo.txt
USAGE.txt
appveyor.yml
cygdb.py
cython.py
cythonize.py
git
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.

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 from a downloaded source archive, 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.