Notice: This page displays a fallback because interactive scripts did not run. Possible causes include disabled JavaScript or failure to load scripts or stylesheets.
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.0a4 has been superseded by Python 3.9.25.
Release date: Feb. 26, 2020
This is an early developer preview of Python 3.9
Python 3.9 is still in development. This release, 3.9.0a4 is the fourth 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;
-
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.0a5, currently scheduled for 2020-03-16.
More resources
- Online Documentation
- PEP 596, 3.9 Release Schedule
- Report bugs at https://bugs.python.org.
- Help fund Python and its community.
And now for something completely different
Woman: What do you want?
Burglar: I want to come in and steal a few things, madam.
Woman: Are you an encydopaedia salesman?
Burglar: No madam, I'm a burglar, I burgle people.
Woman: I think you're an encyclopaedia salesman.
Burglar: Oh I'm not, open the door, let me in please.
Woman: If I let you in you'll sell me encyclopaedias.
Burglar: I won't, madam. I just want to come in and ransack the flat. Honestly.
Files
| Version | Operating system | Description | File size | GPG | MD5 checksum |
|---|---|---|---|---|---|
| Gzipped source tarball | Source release | 23.1 MB | SIG | b19c6fcc7ba2923c 089721ab10eca989 |
|
| XZ compressed source tarball | Source release | 17.2 MB | SIG | 88513446b6c0be34 d00becd0e8b6a9a4 |
|
| macOS 64-bit installer | macOS | for OS X 10.9 and later | 27.9 MB | SIG | e01bbc2d80ddce3a 8f0f70d75d50e6a6 |
| Windows help file | Windows | 8.2 MB | SIG | 6cb344ba4785a81d d7b845adee8565b0 |
|
| Windows x86 embeddable zip file | Windows | 6.9 MB | SIG | b1cddc35fd3dfd16 68ae1a5a862bcf94 |
|
| Windows x86 executable installer | Windows | 25.5 MB | SIG | b280939f64f5b226 8858b03b351e5445 |
|
| Windows x86 web-based installer | Windows | 1.3 MB | SIG | ce464014a7201c5e 9e74d9fffbb7ed1e |
|
| Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64 | 7.7 MB | SIG | 8dc92037f0449908 7d99a1ffeae269f5 |
| Windows x86-64 executable installer | Windows | for AMD64/EM64T/x64 | 26.5 MB | SIG | 8d93a6344593f95b 1e0412e42f64cd12 |
| Windows x86-64 web-based installer | Windows | for AMD64/EM64T/x64 | 1.3 MB | SIG | cc69270bd9edc310 90b1432ec45cfe89 |