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

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


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