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.8.0b4

Release Date: Aug. 29, 2019

This is a beta preview of Python 3.8

Python 3.8 is still in development. This release, 3.8.0b4 is the last of four planned beta release previews. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 3.8 during the beta phase and report issues found to the Python bug tracker as soon as possible. While the release is planned to be feature complete entering the beta phase, it is possible that features may be modified or, in rare cases, deleted up until the start of the release candidate phase (2019-09-30). Our goal is have no ABI changes after beta 3 and no code changes after 3.8.0rc1, the release candidate. To achieve that, it will be extremely important to get as much exposure for 3.8 as possible during the beta phase.

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.8 series, compared to 3.7

Some of the new major new features and changes in Python 3.8 are:

  • PEP 572, Assignment expressions
  • PEP 570, Positional-only arguments
  • PEP 587, Python Initialization Configuration (improved embedding)
  • PEP 590, Vectorcall: a fast calling protocol for CPython
  • PEP 578, Runtime audit hooks
  • PEP 574, Pickle protocol 5 with out-of-band data
  • Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
  • Parallel filesystem cache for compiled bytecode
  • Debug builds share ABI as release builds
  • f-strings support a handy = specifier for debugging
  • continue is now legal in finally: blocks
  • on Windows, the default asyncio event loop is now ProactorEventLoop
  • on macOS, the spawn start method is now used by default in multiprocessing
  • multiprocessing can now use shared memory segments to avoid pickling costs between processes
  • typed_ast is merged back to CPython
  • LOAD_GLOBAL is now 40% faster
  • pickle now uses Protocol 4 by default, improving performance
  • (Hey, fellow core developer, if a feature you find important is missing from this list, let Łukasz know.)

There are many other interesting changes, please consult the "What's New" page in the documentation for a full list.

The next pre-release of Python 3.8 and the first release candidate will be 3.8.0rc1, currently scheduled for 2019-09-30.

More resources

And now for something completely different

Mr Neutron! The most dangerous and terrifying man in the world! The man with the strength of an army! The wisdom of all the scholars in history! The man who had the power to destroy the world.

✨ 🌍 🌎 🌏 🌍 🌎 🌏 ✨

Mr Neutron. No one knows what strange and distant planet he came from, or where he was going to!... Wherever he went, terror and destruction were sure to follow.

Full Changelog

Files

Version Operating System Description MD5 Sum File Size GPG
Gzipped source tarball Source release b8f4f897df967014ddb42033b90c3058 22.8 MB SIG
XZ compressed source tarball Source release 096e2d9ae106a6f166c59e6068cd4735 17.0 MB SIG
macOS 64-bit installer macOS for OS X 10.9 and later 232c1ea4b069aa46d8392339183ff7b7 27.6 MB SIG
Windows help file Windows 2b2b0f6bec48708dbe6f4e11aa757d4b 8.0 MB SIG
Windows x86 embeddable zip file Windows 769a9bee8242d4013c14717a344eba56 6.9 MB SIG
Windows x86 executable installer Windows 9317e2376bb1eb2275aabcc4ba6f9acd 25.1 MB SIG
Windows x86 web-based installer Windows 2c28bc2922e3b49100dd25b950eae890 1.3 MB SIG
Windows x86-64 embeddable zip file Windows for AMD64/EM64T/x64 5bd58519df932afb7e0d0dc67c14dc0b 7.7 MB SIG
Windows x86-64 executable installer Windows for AMD64/EM64T/x64 a0101cb5ec30e669dc790e202856da91 26.2 MB SIG
Windows x86-64 web-based installer Windows for AMD64/EM64T/x64 8b5a383fae3d9eae221d50fd46897cba 1.3 MB SIG