Path to this page:
./
devel/py-cython,
C-Extensions for Python
Branch: CURRENT,
Version: 3.2.9,
Package name: py313-cython-3.2.9,
Maintainer: pkgsrc-usersThe Cython language makes writing C extensions for the Python language
as easy as Python itself. Cython is a source code translator based on
the well-known Pyrex, but supports more cutting edge functionality and
optimizations.
The Cython language is very close to the Python language (and most
Python code is also valid Cython code), 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 writing glue code for external
C libraries, and for fast C modules that speed up the execution of
Python code.
Required to run:[
devel/py-setuptools] [
lang/python37]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 3216.302 KB
Version history: (Expand)
- (2026-07-24) Updated to version: py313-cython-3.2.9
- (2026-06-30) Updated to version: py313-cython-3.2.8
- (2026-06-25) Updated to version: py313-cython-3.2.6
- (2026-05-24) Updated to version: py313-cython-3.2.5
- (2026-01-05) Updated to version: py313-cython-3.2.4
- (2025-12-14) Updated to version: py313-cython-3.2.3
CVS history: (Expand)
2026-07-24 14:45:21 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.9
3.2.9 (2026-07-23)
Bugs fixed
* Indexing into freshly created lists with an out-of-bounds index could crash.
* Function arguments with default values could end up uninitialised in closures, \
leading to crashes.
* ``bytearray.append(None)`` could crash. The optimised code was also lacking \
concurrency guards.
* Some rare corner cases when concatenating text strings were resolved.
* Assignments of builtin string types to typedefs of `object` could erroneously \
be rejected.
* Subscripting ``type`` failed with a ``TypeError``.
* Manually disabling ``CYTHON_VECTORCALL`` in CPython could lead to invalid C code.
* Some internal Limited API version checks for Py3.12 were corrected.
|
2026-06-30 11:44:07 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.8
3.2.8 (2026-06-30)
Bugs fixed
* Assigning a Python 3.14+ ``.__annotate__`` function to a Cython compiled \
function no longer
evaluates annotations eagerly. Fixes a regression with ``@functools.wraps()`` \
in Cython 3.2.6.
Patch by Jelle Zijlstra. (Github issue :issue:`7767`)
* In freethreading Python, the necessary object keep-alive while executing user \
code in
``.__dealloc__()`` uses a safer scheme.
Patch by Yaxing Cai. (Github issue :issue:`7769`)
* The local function state used by ``sys.monitoring`` read from uninitialised memory.
(Github issue :issue:`7774`)
* The ``.ag_running`` flag attribute of async generators was always false on \
big-endian systems.
|
| 2026-06-28 17:41:51 by Thomas Klausner | Files touched by this commit (364) |
Log message:
*: limit Python versions due to py-numpy dropping Python 3.11 support
|
2026-06-25 07:09:44 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.6
3.2.6 (2026-06-24)
Bugs fixed
* ``@functools.wraps()`` was broken in Py3.14+ for Cython compiled functions.
* A double-free in the t-string code was fixed.
* The ``-`` operator declarations for iterators in ``libcpp.vector`` we corrected.
* The shared utility code module no longer uses a temporary file path that
changed the C code on each generation.
* On 32 bit platforms, cached constants are no longer made immortal during \
module import.
|
2026-05-24 07:44:11 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.5
3.2.5 (2026-05-23)
Bugs fixed
* A compile failure was fixed when using the walrus operator inside of try-except.
* Expressions with side-effects as object argument to ``isinstance()`` could get
evaluated multiple times, e.g. when they use the walrus operator.
* Several problems generating the shared utility module were resolved, including
a performance regression with memory views.
* Some GC and refcounting issues were resolved for Cython functions in the \
Limited API.
* Refcounting errors and error handling issues were resolved in some rare error \
handling cases.
* Using ``cython.pymutex`` in an extension type with ``cdef`` methods generated
invalid C code missing the required ``PyMutex`` declarations.
* Calling ``.get_frame()`` on Cython coroutines could crash in freethreading Python.
* The vectorcall protocol was not used correctly in ``.throw()`` of Cython coroutines
when raising the exception only by type (without value or traceback).
* A problem with cpdef enums in the Limited API of Python 3.11+ was resolved.
* Unicode predicates like ``.isdigit()`` are now allowed to fail in the Limited API.
* Conditional expressions mixing Python float and int object types could accidentally
infer float as the common result type, instead of treating both independently.
* Using ``sizeof()`` in the size declarations of ``extern`` arrays failed.
* Enabling profiling generated invalid C code for non-Python return tuples.
* ``abs()`` on C ``long long`` values could generate invalid C code.
* When the ``CYTHON_AVOID_BORROWED_REFS`` C macro is enabled, e.g. in GraalPython,
dict iteration could fail to compile.
* A C compiler warning about unused functions was resolved.
* The ``py_safe_call_once()`` C++ mutex helper function in ``libcpp.mutex``
failed to compile.
* The ``cpython.array`` declarations were adapted for Python 3.15. Direct access
to the C struct of the ``array.array`` data type might require user code changes.
* Spaces in file paths written to the ``depfile`` were not escaped.
* Cython's cache failed to restore multi-file results.
* Using Tempita from its command line failed with a name error.
Other changes
* The known builtin types were updated for Py3.15.
|
2026-01-05 17:10:49 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.4
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``.
Bugs fixed
* Pseudo-literal default values of function arguments like ``arg=str()`` could \
generate
invalid C code when internally converted into a real literal.
* 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.
* Constants are now only made immortal on freethreading Python if they are not \
shared.
* ``PyDict_SetDefaultRef()`` is now used when available to avoid temporary \
borrowed references.
* Includes all fixes as of Cython 3.1.8.
|
2025-12-14 09:39:09 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-cython: updated to 3.2.3
3.2.3 (2025-12-14)
Features added
* The C-API declarations were updated to include the new ``PyList_*()`` functions.
* The ``Py_mod_gil`` module setting can now be changed with a C macro, overriding
the ``freethreading_compatible`` directive setting.
Bugs fixed
* t-strings lost the last element when compiled for the Limited API.
* The ``array.data`` property of the ``cpython.array`` declarations generated a
useless exception check that degraded its use in ``nogil`` code.
* Parallel builds with the ``cythonize`` command could request more processes
than allowed by the platform, thus failing the build.
* A minor thread sanitizer issue was resolved.
|
2025-11-30 20:58:20 by Thomas Klausner | Files touched by this commit (2) |  |
Log message:
py-cython: update to 3.2.2.
3.2.2 (2025-11-30)
==================
Features added
--------------
* The C-API declarations were updated to include the new ``PyDict_*Ref()`` functions.
(Github issue :issue:`7291`)
Bugs fixed
----------
* Iteration over literal sequences and strings in generators generated invalid C \
code since 3.2.0.
This was a regression due to the C array iteration optimisation in \
:issue:`6926`, which is now
disabled inside of generators.
(Github issue :issue:`7342`)
* Calling special methods of known exception types failed with an ``AttributeError``.
(Github issue :issue:`7342`)
* Calling the unbound ``__mul__`` special method of builtin collections with \
subtypes failed.
(Github issue :issue:`7340`)
* C string literals could generate invalid "const to non-const" casts \
in the C code.
(Github issue :issue:`7346`)
* ``yield`` is no longer allowed inside of a ``cython.critical_section``,
but *is* now allowed while holding a ``cython.pymutex``.
(Github issue :issue:`7317`)
* Under lock congestion, acquiring the GIL could crash in Python 3.11, part 2.
This bug was introduced in Cython 3.2.0.
(Github issue :issue:`7312`)
* The new ``py_safe_*`` functions in ``libc.threads`` triggered C compiler warnings.
(Github issue :issue:`7356`)
|