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.9.0a5

Release Date: March 23, 2020

This is an early developer preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0a5 is the fifth of six 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 (2020-05-18) and, if necessary, may be modified or deleted up until the release candidate phase (2020-08-10). Please keep in mind that this is a preview release and its use is not recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

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

  • PEP 584, Union Operators in dict
  • PEP 593, Flexible function and variable annotations
  • PEP 602, Python adopts a stable annual release cadence
  • BPO 38379, garbage collection does not block on resurrected objects;
  • BPO 38692, os.pidfd_open added that allows process management without races and signals;
  • BPO 39926, Unicode support updated to version 13.0.0
  • BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore
  • A number of Python builtins (range, tuple, set, frozenset, list) are now sped up using PEP 590 vectorcall
  • A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.

  • (Hey, fellow core developer, if a feature you find important is missing from this list, let Ɓukasz know.)

The next pre-release, the last alpha release of Python 3.9, will be 3.9.0a6. It is currently scheduled for 2020-04-22.

More resources

And now for something completely different

Basil Fawlty: (to a nurse) Don't touch me! I don't know where you've been!

Full Changelog


Version Operating System Description MD5 Sum File Size GPG
Gzipped source tarball Source release 1e3e53f7c3a6690abbb659c3038ac332 24269121 SIG
XZ compressed source tarball Source release c97c78252aeb3695b9582561dfe79bb8 18039660 SIG
macOS 64-bit installer macOS for OS X 10.9 and later b8cfdea5eb8608b26474ae29770baba7 29383189 SIG
Windows help file Windows 6dfd23c20117a7566b187aa2e5643b3b 8670249 SIG
Windows x86-64 embeddable zip file Windows for AMD64/EM64T/x64 618b6bc6e072eb7b2ecef5935721490c 8207142 SIG
Windows x86-64 executable installer Windows for AMD64/EM64T/x64 679af81e8dfe7df9c1babe1cfbb227a1 27987272 SIG
Windows x86-64 web-based installer Windows for AMD64/EM64T/x64 8960b03d1c6075dfffd3bf45ad023ad6 1364128 SIG
Windows x86 embeddable zip file Windows 2e3f7d3d6110d1715bf4fcb1c58652bc 7378480 SIG
Windows x86 executable installer Windows 0241c238ef998194a907313118d334f4 26929968 SIG
Windows x86 web-based installer Windows 51665fa5e1e053a68e35d7f1ac275417 1325616 SIG