Subject: CVS commit: pkgsrc/devel/py-cython
From: Adam Ciarcinski
Date: 2018-03-15 10:30:18
Message id: 20180315093018.912A4FB40@cvs.NetBSD.org

Log Message:
py-cython: updated to 0.28

0.28:
Cdef classes can now multiply inherit from ordinary Python classes.
Type inference is now supported for Pythran compiled NumPy expressions.
The const modifier can be applied to memoryview declarations to allow read-only \ 
buffers as input.
C code in the docstring of a cdef extern block is copied verbatimly into the \ 
generated file. Patch by Jeroen Demeyer.
When compiling with gcc, the module init function is now tuned for small code \ 
size instead of whatever compile flags were provided externally. Cython now also \ 
disables some code intensive optimisations in that function to further reduce \ 
the code size.
Decorating an async coroutine with @cython.iterable_coroutine changes its type \ 
at compile time to make it iterable. While this is not strictly in line with \ 
PEP-492, it improves the interoperability with old-style coroutines that use \ 
yield from instead of await.
The IPython magic has preliminary support for JupyterLab.
The new TSS C-API in CPython 3.7 is supported and has been backported. Patch by \ 
Naotoshi Seo.
Cython knows the new Py_tss_t type defined in PEP-539 and automatically \ 
initialises variables declared with that type to Py_tss_NEEDS_INIT, a value \ 
which cannot be used outside of static assignments.
The set methods .remove() and .discard() are optimised. Patch by Antoine Pitrou.
dict.pop() is optimised. Original patch by Antoine Pitrou.
Iteration over sets and frozensets is optimised.
Safe integer loops (< range(2^30)) are automatically optimised into C loops.
alist.extend([a,b,c]) is optimised into sequential list.append() calls for short \ 
literal sequences.
Calls to builtin methods that are not specifically optimised into C-API calls \ 
now use a cache that avoids repeated lookups of the underlying C function.
Single argument function calls can avoid the argument tuple creation in some cases.
Some redundant extension type checks are avoided.
Formatting C enum values in f-strings is faster, as well as some other special cases.
String formatting with the ‘%’ operator is optimised into f-strings in \ 
simple cases.
Subscripting (item access) is faster in some cases.
Some bytearray operations have been optimised similar to bytes.
Some PEP-484/526 container type declarations are now considered for loop \ 
optimisations.
Indexing into memoryview slices with view[i][j] is now optimised into view[i, j].
Python compatible cython.* types can now be mixed with type declarations in \ 
Cython syntax.
Name lookups in the module and in classes are faster.
Python attribute lookups on extension types without instance dict are faster.
Some missing signals were added to libc/signal.pxd. Patch by Jeroen Demeyer.
The warning about repeated extern declarations is now visible by default.
The exception handling of the function types used by CPython’s type slot \ 
functions was corrected to match the de-facto standard behaviour, so that code \ 
that uses them directly benefits from automatic and correct exception \ 
propagation. Patch by Jeroen Demeyer.
Defining the macro CYTHON_NO_PYINIT_EXPORT will prevent the module init function \ 
from being exported as symbol, e.g. when linking modules statically in an \ 
embedding setup. Patch by AraHaan.

Files:
RevisionActionfile
1.42modifypkgsrc/devel/py-cython/Makefile
1.23modifypkgsrc/devel/py-cython/PLIST
1.34modifypkgsrc/devel/py-cython/distinfo