Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.

Python 3.12.0a4

Release Date: Jan. 10, 2023

This is an early developer preview of Python 3.12.

Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a4 is the fourth of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the beta phase (2023-05-08) and, if necessary, may be modified or deleted up until the release candidate phase (2023-07-31). Please keep in mind that this is a preview release and its use is not recommended for production environments.

Many new features for Python 3.12 are still being planned and written. Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially caused by typos now make suggestions to the user.
  • Support for the Linux perf profiler to report Python function names in traces.
  • The deprecated wstr and wstr_length members of the C implementation of unicode objects were removed, per PEP 623.
  • In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2).
  • The deprecated smtpd and distutils modules have been removed (see PEP 594 and PEP 632. The setuptools package (installed by default in virtualenvs and many other places) continues to provide the distutils module.
  • A number of other old, broken and deprecated functions, classes and methods have been removed.
  • Invalid backslash escape sequences in strings now warn with SyntaxWarning instead of DeprecationWarning, making them more visible. (They will become syntax errors in the future.)
  • (Hey, fellow core developer, if a feature you find important is missing from this list, let Thomas know.)

For more details on the changes to Python 3.12, see What's new in Python 3.12. The next pre-release of Python 3.12 will be 3.12.0a5, currently scheduled for 2023-02-06.

More resources

And now for something completely different

Two haikus, apt as Python's development springs ever forward.

I write, erase, rewrite
Erase again, and then
A poppy blooms.

Haiku by Katsushika Hokusai.

O snail
Climb Mount Fuji,
But slowly, slowly!

Haiku by Kobayashi Issa.


Version Operating System Description MD5 Sum File Size GPG Sigstore
Gzipped source tarball Source release dc3f78b6bed1790700a5b1e4eb483540 25.1 MB SIG CRT SIG
XZ compressed source tarball Source release 4e7ed889a825425dd466a14e3468cf36 18.8 MB SIG CRT SIG
macOS 64-bit universal2 installer macOS for macOS 10.9 and later b953f16482c5e962889faf820115b9fd 40.6 MB SIG CRT SIG
Windows installer (64-bit) Windows Recommended 04a21e656eee4841387f901a413b7841 24.0 MB SIG CRT SIG
Windows installer (32-bit) Windows e46360f0600320f8c4982a70526e64c6 22.8 MB SIG CRT SIG
Windows installer (ARM64) Windows Experimental eb2d143697fbd3881132622d101aa145 23.1 MB SIG CRT SIG
Windows embeddable package (64-bit) Windows 0d9b279c385516b7ad17bd08d19c8171 9.7 MB SIG CRT SIG
Windows embeddable package (32-bit) Windows 5d0547b99880e49c94ece5f4d4d38f27 8.7 MB SIG CRT SIG
Windows embeddable package (ARM64) Windows 1954ba32323aa76603035675b56d8a2b 8.9 MB SIG CRT SIG