[Python-Dev] Add from __experimental__ import bla [was: Should we move to replace re with regex?]
Victor Stinner
victor.stinner at haypocalc.com
Sat Aug 27 22:54:48 CEST 2011
Le samedi 27 août 2011 21:57:26, Dj Gilcrease a écrit :
> The idea of a __experimental__ area is good for any pep's or
> stliib additions that are somewhat controversial (API isnt agreed on,
> code may take a while to integrate properly, developer wants some time
> to hash out any edge case bugs or API clarifications that may come up
> in large scale testing, etc).
__experimental__ does already exist, it's the Python Package Index (PyPI) !
http://pypi.python.org/pypi
You can write Python extensions in C and distribute them on the PyPI. I did
that when my patch to display the Python backtrace on a crash was "rejected"
(not included in Python 3.2, just before the release). It was a great idea,
because I had more time to change the API (read the history of the
faulthandler module on PyPI: the API changed 5 times since the first public
version on PyPI...) and the module is now available for Python 2.5 - 3.2, not
only for Python 3.3.
Remember that the API of a module added to CPython is frozen. You will have to
wait something like 18 months until the next CPython release to change
anything (add a new function, remove an old/useless function, etc.).
Seriously, it's not a good idea to add a young module into Python before its
API is well defined and stable.
The Linux kernel has "staging" drivers. It's different because there is a new
release of the Linux kernel each two months (instead of 18 months for
CPython). The policy for the API is also different: the kernel has no stable
API, whereas the Python API cannot be changed in minor release (x.y.Z).
http://www.kroah.com/log/linux/stable_api_nonsense.html
http://www.mjmwired.net/kernel/Documentation/stable_api_nonsense.txt
Victor
More information about the Python-Dev
mailing list