Python 3.15.0

Hacker News by 4 min read 34x views
Python 3.15.0

Share Post

Notice: This leaf displays a fallback since interactive scripts did not run. Possible causes contain impaired JavaScript or nonaccomplishment to burden scripts or stylesheets.

Release date: Oct. 9, 2026

 a purple bosom alongside "3.15" in blue and yellow, flanked by a blue and a yellow snake, alongside lightning bolts, pink clouds and laurel branches, framed by the release's header features

This is the stable publish of Python 3.15.0

Python 3.15.0 is the newest important publish of the Python programming language, and it contains many new features and optimisations compared to Python 3.14, in 5,643 commits from 1,012 contributors.

Major new features of the 3.15 series, compared to 3.14

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

Interpreter improvements

  • PEP 661: Add sentinel built-in type
  • PEP 686: Python now uses UTF-8 as the default encoding
  • PEP 798: Unpacking in comprehensions
  • PEP 810: Explicit lazy imports for faster startup times
  • PEP 814: Add frozendict built-in type
  • PEP 829: Package startup configuration files
  • The experimental JIT compiler has been considerably upgraded, alongside 7-8% geometric average achievement betterment on x86-64 Linux complete the norm interpreter, and 11-12% speedup on AArch64 macOS complete the tail-calling interpreter
  • Improved error messages

Significant improvements in the norm library

  • PEP 799: A dedicated profiling bundle for organizing Python profiling tools
  • PEP 799: Tachyon: High frequence statistical sampling profiler
  • More color

New typing features

  • PEP 728: TypedDict alongside typed additional items
  • PEP 747: Annotating category forms alongside TypeForm
  • PEP 800: Disjoint bases in the category system

C API improvements

  • PEP 782: A new PyBytesWriter C API to create a Python bytes object
  • PEP 788: Protection against finalization in the C API
  • PEP 803, 820, 793: Stable ABI for free-threaded builds and connected C API

Build changes

  • PEP 831: Frame pointers are enabled by default for improved system-level observability

Release changes

  • The authoritative Windows 64-bit binaries now use the tail-calling interpreter
  • The authoritative macOS binaries now instal free-threading assistance by default

For additional particulars on the changes to Python 3.15, see What’s new in Python 3.15.

Attention macOS 27.0 IDLE or tkinter users

When operating IDLE or another GUI applications that use the tkinter module, these applications may suspend whenever using an application's list command that opens a dialog (for example, IDLE's About IDLE, Settings, and Open Module commands) resulting in a spinning coast domain alongside Force Quit needed.

This issue is because of an functioning scheme behavior alter in macOS 27.0 that is believed to power all current versions of the Tk graphics toolkit and thus the tkinter component in all current Python versions.

If you depend on Tk-based applications (like IDLE) on macOS, you may desire to regard deferring installing macOS 27.0 until a Tk or macOS workaround is accessible or evaluation that your use workflow is not affected. Follow matter #158053 for updates.

More resources

To commemorate the new 3.15, Barry Warsaw has a current for us!

I had this idea to whip up a small TUI adventure equivalent that takes you through a What’s New in Python 3.15. I current to you “whatsnewt”:

From the README:

A TUI content adventure through what’s new in Python 3.15.

You awaken up in the Startup Foyer, location inner the interpreter, and activity your way to the Release Gate. Along the way there are eighteen puzzles, and all one of them is a genuine 3.15 characteristic you have to really use. You’re not fair answering boring questions, you’re really penning and operating code, in a Python 3.15 interpreter.

Some puzzles necessitate a category checker, and in those cases, answers are verified by pyrefly, which is a dependency for exactly that reason, and the verdict quotes what it says back.

The easiest way to perform it is to run:

uvx --python 3.15 whatsnewt

And yes, there are easter eggs

Enjoy the new release

Thanks to all of the many volunteers who assistance create Python betterment and these releases possible! Please regard supporting our efforts by volunteering yourself or through institution contributions to the Python Software Foundation.

Huge gratitude to Georgi Ker and Marie Nordin for the Python 3.15 logo!

And additionally huge gratitude to the Sovereign Tech Agency for supporting Hugo van Kemenade's activity as publish manager for Python 3.14 and 3.15 through the Sovereign Tech Fellowship.

Full Changelog

Files

Other Article Hacker News
↑
Close Right Ads
Close Left Ads