[Cython] candidate for bug fix release 0.22.1

2015-06-06 Thread Stefan Behnel
Hi everyone,

here is a release candidate for the upcoming bug fix release 0.22.1.

http://cython.org/release/Cython-0.22.1rc1.tar.gz

http://cython.org/release/Cython-0.22.1rc1.zip

cdf6726d3717351b7d4845f7b3853c3f  Cython-0.22.1rc1.tar.gz
e480ddd0f45289e22ea624f530116719  Cython-0.22.1rc1.zip

Here's the changelog:

https://github.com/cython/cython/blob/0.22.x/CHANGES.rst

Please give it some testing and report success or failure, especially on
less tested platforms like MS-Windows. Being a bug-fix release, it
shouldn't break anything but improve the stability and compatibility of the
current release series.


As soon as this release is out (hopefully within a couple of days), we'll
start preparing the next major feature release 0.23. Here's a teaser:

https://github.com/cython/cython/blob/master/CHANGES.rst

Stefan

___
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel


[Cython] cython-0.23 monkey-patches stdlib?

2015-06-06 Thread Neal Becker
According to
https://github.com/cython/cython/blob/master/CHANGES.rst

the default build would attempt to modify python stdlib files?

How would this work on distributions?  I am maintainer for Cython on Fedora.  
So installing Cython would try to overwrite stdlib files?  That sounds 
difficult.  For one thing, it means more than 1 package would own the same 
files.  And I don't know if the general user community would like this 
approach.

___
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] cython-0.23 monkey-patches stdlib?

2015-06-06 Thread Stefan Behnel
Neal Becker schrieb am 06.06.2015 um 20:25:
> According to
> https://github.com/cython/cython/blob/master/CHANGES.rst
> 
> the default build would attempt to modify python stdlib files?

No. Glad you asked, that might not be clear.

It will not modify the *files*, only the content of the modules after
importing them. It adds the missing ABCs to the collections.abc module and
registers Cython's own types with them *at runtime*. Here's what it does:

https://github.com/cython/cython/blob/bb0dec2/Cython/Utility/Coroutine.c#L1322

This is a bit fragile, like all monkey-patching. As long as things get
imported in the right order, it works. But if you import asyncio before a
Cython module that adds the ABCs, it may already have decided that the ABCs
don't exist and won't use them. That's controllable on user application
side, though.

Also, the first patcher necessarily wins, so if there will ever be updates
to the ABCs, old Cython modules would still patch in the old versions when
imported first. They should tend to be quite stable, though.

In any case, this will get better over time as more code switches to Py3.5
and later.

Stefan

___
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel