ReleaseBytes
python Python Insider · · 3.15.0

Python 3.15.0 Beta 2 Released with New Features and Improvements

blogpreviewengineer
feature patch

Python 3.15.0 beta 2 is now available, offering an early look at upcoming features and bug fixes. This is the second of four planned beta releases, intended for broader community testing to prepare projects for the stable release. Notable changes include PEP-driven enhancements like explicit lazy imports, a new frozendict type, improved profiling tools, and default UTF-8 encoding.

  • PEP 810: Explicit lazy imports for faster startup
  • PEP 814: Introduction of frozendict built-in type
  • PEP 661: Addition of sentinel built-in type
  • PEP 799: Dedicated profiling package and Tachyon profiler
  • PEP 798: Unpacking in comprehensions
Features (6)
  • PEP 810: Explicit lazy imports for faster startup

    Python 3.15 introduces PEP 810, enabling explicit lazy imports which are designed to improve application startup times.

  • PEP 814: Introduction of frozendict built-in type

    A new built-in type, frozendict, is added in Python 3.15 as per PEP 814, providing an immutable dictionary data structure.

  • PEP 661: Addition of sentinel built-in type

    Python 3.15 includes the sentinel built-in type as defined in PEP 661, offering a distinct way to represent unique undefined values.

  • PEP 799: Dedicated profiling package and Tachyon profiler

    Python 3.15 introduces a dedicated profiling package for organizing tools, including Tachyon, a high-frequency statistical sampling profiler, as per PEP 799.

  • PEP 798: Unpacking in comprehensions

    Python 3.15 adds support for unpacking in comprehensions, a feature detailed in PEP 798.

  • PEP 829: Package startup configuration files

    Python 3.15 introduces support for package startup configuration files as defined by PEP 829.

Enhancements (2)
  • Frame pointers enabled by default for observability

    As per PEP 831, frame pointers are now enabled by default in Python 3.15, aiming to improve system-level observability.

  • Python 3.15 defaults to UTF-8 encoding

    Following PEP 686, Python 3.15 now uses UTF-8 as the default encoding, simplifying cross-platform text handling.

Read the original announcement →

https://blog.python.org/2026/06/python-3150-beta-2/