ppc64le/linux-v2026.06.0/: cython-3.2.4+ppc64le1 metadata and description
The Cython compiler for writing C extensions in the Python language.
| author | Robert Bradshaw, Stefan Behnel, David Woods, Greg Ewing, et al. |
| author_email | [email protected] |
| classifiers |
|
| description_content_type | text/x-rst |
| dynamic |
|
| license | Apache-2.0 |
| metadata_version | 2.4 |
| project_urls |
|
| requires_python | >=3.8 |
| File | Tox results | History |
|---|---|---|
cython-3.2.4+ppc64le1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
|
|
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 .
3.2.4 (2026-01-04)
Features added
In preparation of Cython 3.3, a new decorator @collection_type(tname) can be used to advertise an extension type as being a 'sequence' or 'mapping'. This currently only has the effect of setting the Py_TPFLAGS_SEQUENCE flag on the type or not, but is provided for convenience to allow using the new decorator already in Cython 3.2 code.
Several C++ exception declarations were added to libcpp.exceptions. (Github issue https://github.com/cython/cython/issues/7389)
Bugs fixed
Pseudo-literal default values of function arguments like arg=str() could generate invalid C code when internally converted into a real literal. (Github issue https://github.com/cython/cython/issues/6192)
The pickle serialisation of extension types using the auto_pickle feature was larger than necessary since 3.2.0 for types without Python object attributes. It is now back to the state before 3.2.0 again. (Github issue https://github.com/cython/cython/issues/7443)
Constants are now only made immortal on freethreading Python if they are not shared. (Github issue https://github.com/cython/cython/issues/7439)
PyDict_SetDefaultRef() is now used when available to avoid temporary borrowed references. (Github issue https://github.com/cython/cython/issues/7347)
Includes all fixes as of Cython 3.1.8.
3.1.8 (2026-01-03):
Assignment expressions used in comprehensions could look at the wrong scope, thus using different variables and different data. (Github issue https://github.com/cython/cython/issues/6547)
Some internal C symbols were not declared as static, preventing static linking of multiple modules. Patch by Yury Popov. (Github issue https://github.com/cython/cython/issues/7310)
Accidentally using except + in C mode did not raise a compile error but generated invalid C code leading to obscure error messages. Patch by user202729. (Github issue https://github.com/cython/cython/issues/6560)
3.1.7 (2025-11-12):
Unicode characters formatted from C integers with padding, as in f"{value:XXc}", could result in invalid Python string objects since Cython 3.1.0. Also, lone surrogates failed to format in this way. (Github issue https://github.com/cython/cython/issues/7298)
Assigning nested structs from a list of structs (item by item) could crash Cython. (Github issue https://github.com/cython/cython/issues/7308)
Cython incorrectly called PyList_GetItemRef() in PyPy and GraalPython before Py3.13. (Github issue https://github.com/cython/cython/issues/7269)
Trying to instantiate internal types used by Cython is now prohibited. (Github issue https://github.com/cython/cython/issues/7263)
3.1.6 (2025-10-23):
Unicode characters formatted from C integers with f"{value:c}" could result in invalid Python string objects since Cython 3.1.0. (Github issue https://github.com/cython/cython/issues/7240)
cythonize (program and function) now uses concurrent.futures.ProcessPoolExecutor instead of multiprocessing.Pool to fix a hang on build failures in parallel builds. A possible work-around is to disable parallel builds. Patch by Sviatoslav Sydorenko. (Github issue https://github.com/cython/cython/issues/7183)
3.1.5 (2025-10-20):
Conversion from C++ strings longer than PY_SSIZE_T_MAX did not validate the length.
Some non-Limited API code was incorrectly used in generated header files. (Github issue https://github.com/cython/cython/issues/7157)
Optimised unpacking of Python integers in expressions uses a slightly safer scheme. (Github issue https://github.com/cython/cython/issues/7134)
Empty return statements were not always reported when tracing. (Github issue https://github.com/cython/cython/issues/7022)
Value conversion errors when tracing C return statements no longer fail the trace but fall back to reporting None returns instead. (Github issue https://github.com/cython/cython/issues/6503)