Notice: This page displays a fallback because interactive scripts did not run. Possible causes include disabled JavaScript or failure to load scripts or stylesheets.

Python 3.12.0a4

Note: Python 3.12.0a4 has been superseded by Python 3.12.12.

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.

Files

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