On behalf of the Python development team, I'm chuffed to announce the second alpha release of Python 3.4.
This is a preview release, and its use is not recommended for production settings.
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 435, a standardized "enum" module
- PEP 442, improved semantics for object finalization
- PEP 443, adding single-dispatch generic functions to the standard library
- PEP 445, a new C API for implementing custom memory allocators
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
- PEP 447, a new magic method for metaclasses (
__typelookup__
) - PEP 448, making automatic sequence unpacking more general
To download Python 3.4.0a2 visit:
http://www.python.org/download/releases/3.4.0/
Please consider trying Python 3.4.0a2 with your code and reporting any issues you notice to:
http://bugs.python.org/
Enjoy!
-- Larry Hastings, Release Manager larry at hastings.org (on behalf of the entire python-dev team and 3.4's contributors)
On Mon, Sep 9, 2013 at 8:02 AM, Larry Hastings larry@hastings.org wrote:
On behalf of the Python development team, I'm chuffed to announce the second alpha release of Python 3.4.
This is a preview release, and its use is not recommended for production settings.
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 435, a standardized "enum" module
- PEP 442, improved semantics for object finalization
- PEP 443, adding single-dispatch generic functions to the standard library
- PEP 445, a new C API for implementing custom memory allocators
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
- PEP 447, a new magic method for metaclasses (
__typelookup__
)- PEP 448, making automatic sequence unpacking more general
Those last two PEPs are still in draft form and not accepted nor have any committed code yet.
2013/9/9 Larry Hastings larry@hastings.org:
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
The title of the PEP is "Make newly created file descriptors non-inheritable". It has an impact on all functions creating files and sockets not only the subprocess module.
You can also add a link to the nice What’s New In Python 3.4 document: http://docs.python.org/dev/whatsnew/3.4.html
Victor
Le Mon, 9 Sep 2013 14:30:50 +0200, Victor Stinner victor.stinner@gmail.com a écrit :
2013/9/9 Larry Hastings larry@hastings.org:
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
The title of the PEP is "Make newly created file descriptors non-inheritable". It has an impact on all functions creating files and sockets not only the subprocess module.
I don't think Larry's description is wrong. "Non-inheritable" is a shorthand for "non-inheritable in subprocesses" with "subprocesses" taken in the general sense (i.e. not only created with the subprocess module).
Regards
Antoine.
On Mon, 09 Sep 2013 14:45:51 +0200, Antoine Pitrou solipsis@pitrou.net wrote:
Le Mon, 9 Sep 2013 14:30:50 +0200, Victor Stinner victor.stinner@gmail.com a écrit :
2013/9/9 Larry Hastings larry@hastings.org:
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
The title of the PEP is "Make newly created file descriptors non-inheritable". It has an impact on all functions creating files and sockets not only the subprocess module.
I don't think Larry's description is wrong. "Non-inheritable" is a shorthand for "non-inheritable in subprocesses" with "subprocesses" taken in the general sense (i.e. not only created with the subprocess module).
Not wrong, but definitely confusing. It is worth clarifying *somehow* that this does not apply only to the subprocess module, which is what a naive (or fast) reader will assume.
--David
2013/9/9 Antoine Pitrou solipsis@pitrou.net:
Le Mon, 9 Sep 2013 14:30:50 +0200, Victor Stinner victor.stinner@gmail.com a écrit :
2013/9/9 Larry Hastings larry@hastings.org:
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include:
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
The title of the PEP is "Make newly created file descriptors non-inheritable". It has an impact on all functions creating files and sockets not only the subprocess module.
I don't think Larry's description is wrong. "Non-inheritable" is a shorthand for "non-inheritable in subprocesses" with "subprocesses" taken in the general sense (i.e. not only created with the subprocess module).
Oh, I misunderstood "in subprocesses", I read "in the subprocess module".
The definition of FD inheritance is tricky. For example, on UNIX "non-inheritable" file descriptors are still inherited at fork :-)
I hope that the documentation is explicit enough: http://docs.python.org/dev/library/os.html#inheritance-of-file-descriptors
Victor
Thanks for that! (although, as Brett noted, there are a couple of fibs in the PEP list)
Cheers, Nick.
participants (6)
-
Antoine Pitrou
-
Brett Cannon
-
Larry Hastings
-
Nick Coghlan
-
R. David Murray
-
Victor Stinner