Python 3.3.0

Release Date: Sept. 29, 2012

Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

PEP 380, syntax for delegating to a subgenerator ( yield from )

) PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)

A C implementation of the "decimal" module, with up to 120x speedup for decimal-heavy applications

The import system (__import__) is based on importlib by default

The new "lzma" module with LZMA/XZ support

PEP 397, a Python launcher for Windows

PEP 405, virtual environment support in core

PEP 420, namespace package support

PEP 3151, reworking the OS and IO exception hierarchy

PEP 3155, qualified name for classes and functions

PEP 409, suppressing exception context

PEP 414, explicit Unicode literals to help with porting

PEP 418, extended platform-independent clocks in the "time" module

PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code

PEP 362, the function-signature object

The new "faulthandler" module that helps diagnosing crashes

The new "unittest.mock" module

The new "ipaddress" module

The "sys.implementation" attribute

A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing

A "collections.ChainMap" class for linking mappings to a single unit

Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"

Hash randomization, introduced in earlier bugfix releases, is now switched on by default

See these resources for further information:

Full Changelog