single |
The Cython language makes writing C extensions for the Python language as
easy as Python itself. Cython is a source code translator based on Pyrex_,
but supports more cutting edge functionality and optimizations.
The Cython language is a superset of the Python language (almost all Python
code is also valid Cython code), but Cython additionally supports optional
static typing to natively call C functions, operate with C++ classes and
declare fast 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 writing glue code for external
C/C++ libraries, and for fast C modules that speed up the execution of
Python code.
The newest Cython release can always be downloaded from
https://cython.org/.
Unpack the tarball or zip file, enter the directory, and then run::
pip install .
Note that for one-time builds, e.g. for CI/testing, on platforms that are
not
covered by one of the wheel packages provided on PyPI *and* the pure Python
wheel
that we provide is not used, it is substantially faster than a full source
build
to install an uncompiled (slower) version of Cython with::
NO_CYTHON_COMPILE=true pip install .
.. _Pyrex: https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
3.1.4 (2025-09-16)
==================
Features added
--------------
* Declarations for the new ``PyUnstable_*()`` refcounting C-API functions
in Py3.14 were added.
(Github issue https://github.com/cython/cython/issues/6836)
Bugs fixed
----------
* The monitoring code could crash on tracing.
(Github issue https://github.com/cython/cython/issues/7050)
* Initialising the monitoring code could fail with a CPython exception.
See
https://github.com/nedbat/coveragepy/issues/1790#issuecomment-3257410149
* Optimised integer shifting triggered undefined behaviour in C.
(Github issue https://github.com/cython/cython/issues/7089)
* Deallocating objects that inherit from external types defined in pxd
files
could run into an infinite loop.
(Github issue https://github.com/cython/cython/issues/7143)
* A reference to metaclasses could be leaked on instantiation.
(Github issue https://github.com/cython/cython/issues/7130)
* (Unlikely) error handling during empty builtin container tests was
ineffective.
(Github issue https://github.com/cython/cython/issues/7190)
* Generated ``*_api.h`` files used potentially unknown Cython configuration
macros.
(Github issue https://github.com/cython/cython/issues/7108)
* ``cythonize() avoids parallel compiler runs on systems using spawn()`` in
multiprocessing.
Patch by Marcel Bargull. (Github issue
https://github.com/cython/cython/issues/3262)
* The ``@cython.ufunc`` decorator was missing in type checker stubs.
Patch by jayClean. (Github issue
https://github.com/cython/cython/issues/7109)
|