Python 3.8.0

Release Date: Oct. 14, 2019

This is the stable release of Python 3.8.0

Python 3.8.0 is the newest major release of the Python programming language, and it contains many new features and optimizations.

Major new features of the 3.8 series, compared to 3.7

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

specifier for debugging continue is now legal in finally: blocks

is now legal in blocks on Windows, the default asyncio event loop is now ProactorEventLoop

event loop is now 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

can now use shared memory segments to avoid pickling costs between processes typed_ast is merged back to CPython

is merged back to CPython LOAD_GLOBAL is now 40% faster

is now 40% faster pickle now uses Protocol 4 by default, improving performance

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

More resources

Windows users

The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the "x64" architecture, and formerly known as both "EM64T" and "x86-64".)

There are now "web-based" installers for Windows platforms; the installer will download the needed software components at installation time.

There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.

macOS users

For Python 3.8.0, we provide one installer: 64-bit-only that works on macOS 10.9 (Mavericks) and later systems.

Please read the "Important Information" displayed during installation for information about SSL/TLS certificate validation and the running the "Install Certificates.command".

And now for something completely different

Interviewer: And how long have you been here?

Camel spotter: Three years.

Interviewer: So, in, er, three years you've spotted no camels?

Camel spotter: Yes in only three years. Er, I tell a lie, four, be fair, five. I've been camel spotting for just the seven years. Before that of course I was a Yeti Spotter.

Interviewer: A Yeti Spotter, that must have been extremely interesting.

Camel spotter: Oh, it was extremely interesting, very, very - quite... it was dull; dull, dull, dull, oh God it was dull. Sitting in the Waterloo waiting room. Of course once you've seen one Yeti you've seen them all.

Full Changelog