./devel/py-cython, C-Extensions for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.29.23, Package name: py38-cython-0.29.23, Maintainer: pkgsrc-users

The 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:

SHA1: 1abade0df2717cf3a4ff5f7e726f60467c101794
RMD160: 60c4f9eacc57ef5377e992285f3e4fc5641a1a45
Filesize: 2025.336 KB

Version history: (Expand)


CVS history: (Expand)


   2021-04-14 21:25:15 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
py-cython: updated to 0.29.23

0.29.23 (2021-04-14)
====================
Bugs fixed
----------
* Some problems with Python 3.10 were resolved.
* An incorrect "optimisation" was removed that allowed changes to a keyword
  dict to leak into keyword arguments passed into a function.
* Multiplied str constants could end up as bytes constants with language_level=2.
* ``PY_SSIZE_T_CLEAN`` does not get defined any more if it is already defined.
   2021-02-21 13:50:44 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-cython: updated to 0.29.22

0.29.22 (2021-02-20)
====================

Features added
--------------
* Some declarations were added to the provided pxd includes.

Bugs fixed
----------
* A crash when calling certain functions in Py3.9 and later was resolved.

* ``const`` memory views of structs failed to compile.

* ``const`` template declarations could not be nested.

* The declarations in the ``cpython.pycapsule`` module were missing their
  ``const`` modifiers and generated incorrect C code.

* Casts to memory views failed for fused dtypes.

* ``repr()`` was assumed to return ``str`` instead of ``unicode`` with \ 
``language_level=3``.

* Calling ``cpdef`` functions from cimported modules crashed the compiler.

* Cython no longer validates the ABI size of the NumPy classes it compiled against.
  See the discussion in https://github.com/numpy/numpy/pull/432

* A C compiler warning about enum value casting was resolved in GCC.

* Coverage reporting in the annotated HTML file failed in Py3.9.

* The embedding code now reports Python errors as exit status.

* Long type declarations could lead to (harmless) random changes in the
  C file when used in auto-generated Python wrappers or pickled classes.

Other changes
-------------
* Variables defined as ``cpdef`` now generate a warning since this
  is currently useless and thus does not do what users would expect.
   2020-07-09 09:21:45 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-cython: updated to 0.29.21

0.29.21
=======

Bugs fixed
----------

* Fix a regression in 0.29.20 where ``__div__`` failed to be found in extension \ 
types.

* Fix a regression in 0.29.20 where a call inside of a finally clause could fail \ 
to compile.

* Zero-sized buffers could fail to validate as C/Fortran-contiguous.

* ``exec()`` did not allow recent Python syntax features in Py3.8+ due to
  https://bugs.python.org/issue35975.

* Binding staticmethods of Cython functions were not behaving like Python \ 
methods in Py3.

* Pythran calls to NumPy methods no longer generate useless method lookup code.

* The ``PyUnicode_GET_LENGTH()`` macro was missing from the ``cpython.*`` \ 
declarations.

* The deprecated ``PyUnicode_*()`` C-API functions are no longer used, except \ 
for Unicode
  strings that contain lone surrogates.  Unicode strings that contain non-BMP \ 
characters
  or surrogate pairs now generate different C code on 16-bit Python 2.x Unicode \ 
deployments
  (such as MS-Windows).  Generating the C code on Python 3.x is recommended in \ 
this case.

* Some template parameters were missing from the C++ ``std::unordered_map`` \ 
declaration.

* Several internal code generation issues regarding temporary variables were \ 
resolved.
   2020-06-11 10:02:35 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cython: updated to 0.29.20

0.29.20:

Bugs fixed

* Nested try-except statements with multiple ``return`` statements could crash
  due to incorrect deletion of the ``except as`` target variable.
* The ``@classmethod`` decorator no longer rejects unknown input from other \ 
decorators.
* Fused types could leak into unrelated usages.
* Now uses ``Py_SET_SIZE()`` and ``Py_SET_REFCNT()`` in Py3.9+ to avoid low-level
  write access to these object fields.
* The built-in ``abs()`` function could lead to undefined behaviour when used on
  the negative-most value of a signed C integer type.
* Usages of ``sizeof()`` and ``typeid()`` on uninitialised variables no longer
  produce a warning.
* The C++ ``typeid()`` function was allowed in C mode.
* The error position reported for errors found in f-strings was misleading.
* The new ``c_api_binop_methods`` directive was added for forward compatibility, \ 
but can
  only be set to True (the current default value).  It can be disabled in Cython 3.0.
   2020-05-21 08:19:12 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cython: updated to 0.29.19

0.29.19:
Bugs fixed
* A typo in Windows specific code in 0.29.18 was fixed that broke \ 
"libc.math".
* A platform specific test failure in 0.29.18 was fixed.
   2020-05-19 11:21:43 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cython: updated to 0.29.18

0.29.18

Bugs fixed
* Exception position reporting could run into race conditions on threaded code.
  It now uses function-local variables again.
* Error handling early in the module init code could lead to a crash.
* Error handling in ``cython.array`` creation was improved to avoid calling
  C-API functions with an error held.
* A memory corruption was fixed when garbage collection was triggered during calls
  to ``PyType_Ready()`` of extension type subclasses.
* Memory view slicing generated unused error handling code which could negatively
  impact the C compiler optimisations for parallel OpenMP code etc.  Also, it is
  now helped by static branch hints.
* Cython's built-in OpenMP functions were not translated inside of call arguments.
* Complex buffer item types of structs of arrays could fail to validate.
* Decorators were not allowed on nested `async def` functions.
* C-tuples could use invalid C struct casting.
* Optimised ``%d`` string formatting into f-strings failed on float values.
* Optimised aligned string formatting (``%05s``, ``%-5s``) failed.
* When importing the old Cython ``build_ext`` integration with distutils, the
  additional command line arguments leaked into the regular command.
* When using the ``CYTHON_NO_PYINIT_EXPORT`` option in C++, the module init function
  was not declared as ``extern "C"``.
* Three missing timedelta access macros were added in ``cpython.datetime``.
   2020-04-27 09:22:17 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cython: updated to 0.29.17

0.29.17:
Features added
std::move() is now available from libcpp.utility. Patch by Omer Ozarslan.
The @cython.binding decorator is available in Python code.

Bugs fixed
Creating an empty unicode slice with large bounds could crash. Patch by Sam Sneddon.
Decoding an empty bytes/char* slice with large bounds could crash. Patch by Sam \ 
Sneddon.
Re-importing a Cython extension no longer raises the error \ 
"__reduce_cython__ not found".
Unused C-tuples could generate incorrect code in 0.29.16. Patch by Kirk Meyer.
Creating a fused function attached it to the garbage collector before it was \ 
fully initialised, thus risking crashes in rare failure cases. Original patch by \ 
achernomorov.
Temporary buffer indexing variables were not released and could show up in C \ 
compiler warnings, e.g. in generators. Patch by David Woods.
The compilation cache in cython.inline("…") failed to take the \ 
language level into account. Patch by will-ca.
The deprecated PyUnicode_GET_SIZE() function is no longer used in Py3.
   2020-04-03 18:19:13 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-cython: updated to 0.29.16

0.29.16:

Bugs fixed
* Temporary internal variables in nested prange loops could leak into other
  threads.
* Default arguments on fused functions could crash.
* C-tuples declared in ``.pxd`` files could generate incomplete C code.
* Fused functions were not always detected and optimised as Cython
  implemented functions.
* Valid Python object concatenation of (iterable) strings to non-strings
  could fail with an exception.
* Using C functions as temporary values lead to invalid C code.
* Fix an unhandled C++ exception in comparisons.
* Fix deprecated import of "imp" module.
* Fix compatibility with Pythran 0.9.6 and later.
* The ``_Py_PyAtExit()`` function in ``cpython.pylifecycle`` was misdeclared.
* Several missing declarations in ``cpython.*`` were added.
* A declaration for ``libc.math.fpclassify()`` was added.
* Avoid "undeclared" warning about automatically generated pickle methods.
* Avoid C compiler warning about unreachable code in ``prange()``.
* Some C compiler warnings in PyPy were resolved.