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

Warning: Python 3.9.0 reached end-of-life on 2025-10-31. It is no longer supported and does not receive security updates. We recommend upgrading to the latest Python release.
Note: Python 3.9.0a2 has been superseded by Python 3.9.25.

Release date: Dec. 18, 2019

This is an early developer preview of Python 3.9

Major new features of the 3.9 series, compared to 3.8

Python 3.9 is still in development. This releasee, 3.9.0a2 is the second 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.

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

  • 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;
  • 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 of Python 3.9 will be 3.9.0a3, currently scheduled for 2020-01-13.

More resources

And now for something completely different

At the Registry Office. Marriages division.

Man: Er, excuse me, I want to get married.
Registrar: I'm afraid I'm already married, sir.
Man: Er, no, no. I just want to get married.
Registrar: I could get a divorce, I suppose, but it'll be a bit of a wrench.
Man: Er, no, no. That wouldn't be necessary because...
Registrar: You see, would you come to my place or should I have to come to yours, because I've just got a big mortgage.
Man: No, no, I want to get married here.
Registrar: Oh dear. I had my heart set on a church wedding.
Man: Look, I just want you to marry me... to...
Registrar: I want to marry you too sir, but it's not as simple as that. You sure you want to get married?
Man: Yes. I want to get married very quickly.
Registrar: Suits me, sir. Suits me.
Man: I don't want to marry you!
Registrar: There is such a thing as breach of promise, sir.
Man: Look, I just want you to act as registrar and marry me.
Registrar: I will marry you sir, but please make up your mind. Please don't trifle with my affections.

Full Changelog

Files

Version Operating system Description File size GPG MD5 checksum
Gzipped source tarball Source release 23.0 MB SIG e4928f085cdb51c0aad0e510e9d550ee
XZ compressed source tarball Source release 17.2 MB SIG a8255498c6aba4f1644b6c410636736d
macOS 64-bit installer macOS for OS X 10.9 and later 26.9 MB SIG cdb20c30430908ce566ea5f5df474273
Windows help file Windows 8.2 MB SIG 656668b0ad19f0a6910552d524933939
Windows x86 embeddable zip file Windows 6.9 MB SIG 154f12037d25f66a72251ce52b827947
Windows x86 executable installer Windows 25.4 MB SIG 8d558ea0c180b95bf8860865344334c4
Windows x86 web-based installer Windows 1.3 MB SIG f1efe215000fa33a5fe54b9799421451
Windows x86-64 embeddable zip file Windows for AMD64/EM64T/x64 7.7 MB SIG 1705595f8b4bd79b8c46c2cf580140ac
Windows x86-64 executable installer Windows for AMD64/EM64T/x64 26.4 MB SIG 17706a5056724e37216c3016d16ca565
Windows x86-64 web-based installer Windows for AMD64/EM64T/x64 1.3 MB SIG 3990c96da000808f94f27dfe12331f00