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.15.0b1

Release date: May 7, 2026

It's the first beta and feature freeze!

This is a beta preview of Python 3.15

Python 3.15 is still in development. This release, 3.15.0b1, is the first of four planned beta releases.

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.

We strongly encourage maintainers of third-party Python projects to test with 3.15 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, removed up until the start of the release candidate phase (2026-08-04). Our goal is to have no ABI changes after beta 4 and as few code changes as possible after the first release candidate. To achieve that, it will be extremely important to get as much exposure for 3.15 as possible during the beta phase.

This includes creating pre-release wheels for 3.15, as it helps other projects to do their own testing. However, we recommend that your regular production releases wait until 3.15.0rc1, to avoid the risk of ABI breaks.

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.15 series, compared to 3.14

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

  • PEP 810: Explicit lazy imports for faster startup times
  • PEP 814: Add frozendict built-in type
  • PEP 661: Add sentinel built-in type
  • PEP 799: A dedicated profiling package for organizing Python profiling tools
  • PEP 799: Tachyon: High frequency statistical sampling profiler
  • PEP 831: Frame pointers are enabled by default for improved system-level observability
  • PEP 798: Unpacking in comprehensions
  • PEP 686: Python now uses UTF-8 as the default encoding
  • PEP 829: Package startup configuration files
  • PEP 728: TypedDict with typed extra items
  • PEP 747: Annotating type forms with TypeForm
  • PEP 800: Disjoint bases in the type system
  • PEP 782: A new PyBytesWriter C API to create a Python bytes object
  • PEP 803, 820, 793: Stable ABI for free-threaded builds and related C API
  • The JIT compiler has been significantly upgraded, with 8-9% geometric mean performance improvement on x86-64 Linux over the standard interpreter, and 12-13% speedup on AArch64 macOS over the tail-calling interpreter
  • The official Windows 64-bit binaries now use the tail-calling interpreter
  • Improved error messages
  • More color
  • (Hey, fellow core team member, if a feature you find important is missing from this list, let Hugo know.)

For more details on the changes to Python 3.15, see What’s new in Python 3.15. The next pre-release of Python 3.15 will be 3.15.0b2, scheduled for 2026-06-02.

Removals and new deprecations

More resources

And now for something completely different

“And now which is which?” she said to herself, and nibbled a little of the right-hand bit to try the effect: the next moment she felt a violent blow underneath her chin: it had struck her foot!

She was a good deal frightened by this very sudden change, but she felt that there was no time to be lost, as she was shrinking rapidly; so she set to work at once to eat some of the other bit. Her chin was pressed so closely against her foot, that there was hardly room to open her mouth; but she did it at last, and managed to swallow a morsel of the lefthand bit.

Enjoy the new release

Thanks to all of the many volunteers who help make Python development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

Full Changelog

Files

Version Operating system Description File size Sigstore SBOM SHA-256 checksum
Gzipped source tarball Source release 41.2 MB .sigstore SPDX 9b41271890067875db7f0f5cb2fdcb944b90c473f272a18a13b93c059d84c68e
XZ compressed source tarball Source release 33.5 MB .sigstore SPDX d4d52ccfa1d727ef5235fbb7d70fa1dbacf10b8b3760db622875da05acbe437c
Android embeddable package (aarch64) Android 22.5 MB .sigstore 9a25e5499d639d4f59bc766ad36c9eddd892232a9f9224c2fa4ef55dc1d49ff3
Android embeddable package (x86_64) Android 22.8 MB .sigstore 86f492e92340028c8c7efedde6760b40f5e645062d0ef17af0d0bf4d18b127f2
iOS XCframework iOS 79.2 MB .sigstore abd43fc362bb6e40a5233a499aa3fa96bf49306ca10b4cbcb27418778e429eb8
macOS installer macOS for macOS 10.15 and later 87.5 MB .sigstore d9e6de70d8bb02c9300b9d8e8b56aadb8dd426073d97e6225ac5319b3eb6d84e
Windows installer (64-bit) Windows Recommended 40.6 MB .sigstore SPDX de7f62783f765061c7e97ed7b30f780c3d15de5b3154e88b2f9cb92ce1df6957
Windows installer (32-bit) Windows 39.0 MB .sigstore SPDX c8ffe6ddfcd8f19e10dbe009d747724e702c7f79ecfabf9923f58fdd79d7b544
Windows installer (ARM64) Windows Experimental 39.9 MB .sigstore SPDX 6f6545d5e446846df3fd3c46e5a82906401a58cf1d81154d1dc4e16e412874a6
Windows embeddable package (64-bit) Windows 12.9 MB .sigstore SPDX eff937eea044e93b6b65b5ddde2d617e4ed4c50ceed8bca7226f79b04183eda6
Windows embeddable package (32-bit) Windows 11.3 MB .sigstore SPDX fb179838d6c2a3775614debefd6f060d41ac2a1944ab4cab60be5ee346f5ed8b
Windows embeddable package (ARM64) Windows 12.2 MB .sigstore SPDX 82a9bb1fb71ee77aa624a313f0200332a30ce35ff9b85197f04a2fd00c1c53e8
Windows release manifest Windows Install with 'py install 3.15' 15.3 KB .sigstore 3f55e30424523cb7fde04a3135adfe9393c3ab170a756b9f7deda01fc9c610f8