Was ist neu in Python 3.15? Vom Textadventure über FrozenDict bis zu Djangos CalVer

Episode von Python Podcast von Jochen Wersdörfer / Dominik Geldmacher · 16. Oktober 2026

Was ist neu in Python 3.15? Vom Textadventure über FrozenDict bis zu Djangos CalVer (hier klicken, um zu kommentieren)

16. Oktober 2026, Jochen

Nach längerer Pause melden sich Jochen, Dominik und Johannes zurück. Weil noch einige Aufnahmen unveröffentlicht sind, wissen sie selbst nicht genau, die wievielte Folge das eigentlich ist. Vielleicht wird es Zeit für Kalender-Versionierung? Anlass der Folge ist das frisch erschienene Python 3.15, dessen Neuerungen ausführlich besprochen werden.

Die Neuerungen in Python 3.15

„What's New“ als Textadventure: per uvx startbar, mit Textual gebaut und inklusive Karte. Dazu ein Exkurs zu NetHack, Zork und dem goldenen Zeitalter der Textadventures.

Sentinel-Werte (PEP 661): ein eingebautes, benennbares und typprüfbares Sentinel für Fälle, in denen None ein gültiger Wert ist.

Tachyon: ein statistischer Sampling-Profiler in der Standardbibliothek, der sich ohne Code-Änderungen an laufende Prozesse wie Django oder Celery hängen kann.

UTF-8 als Default-Encoding beim Lesen von Dateien, und warum alle dachten, das sei längst so.

Unpacking in Comprehensions mit dem Stern-Operator: kürzer, aber auch lesbarer?

Lazy Imports für große Codebasen und langsam ladende Bibliotheken wie NumPy oder Pandas.

FrozenDict: endlich ein eingebautes, unveränderliches Dictionary, mehr als zwölf Jahre nach dem ersten Vorschlag von Victor Stinner.

.pth-Dateien: Entry-Point-Angaben statt Import-Zeilen, vermutlich als Antwort auf Supply-Chain-Angriffe.

Experimenteller JIT-Compiler mit etwa 7–8 % mehr Performance auf Standard-Benchmarks.

Bessere Fehlermeldungen (append statt push) und mehr Farben.

Typing: TypedDict, Protocols und das rätselhafte TypeForm, dazu ty und Pyrefly als Alternativen zu mypy.

Free-Threading im macOS-Installer, und warum der GIL-Vorwurf an Python überbewertet ist.

Außerdem in dieser Folge

EVE Online migriert von Stackless Python 2 auf Python 3.

Wie wichtig sind neue Python-Versionen noch? python-podcast.de läuft bereits auf 3.15, getestet und deployt hat das Upgrade ein Agent.

Versionierung: Django wechselt zu Calendar Versioning. Was spricht für CalVer, was für fortlaufende Release-Nummern?

Andere Sprachen dank KI: Jochen schreibt mit Agenten Rust und Swift, Johannes kommt beim Rust-Lernen nie über das erste Kapitel hinaus.

Große Datenbanken und große Zahlen: 2 TB PostgreSQL, die Menge an LLM-Trainingsdaten, Busy Beaver und TREE(3).

Picks

Johannes: interne TLS-Zertifikate mit mkcert, Easy-RSA und Smallstep step-ca

Dominik: Trafilatura, um bereinigten Text oder JSON aus einer URL zu extrahieren

Jochen: herdr, ein Terminal-Multiplexer für Coding-Agents, der viele parallel laufende CLI-Agents danach sortiert, ob sie gerade Input brauchen

Fragen, Feedback oder Lust auf ein Hörertreffen? Schreibt uns eine E-Mail!

Shownotes

Unsere E-Mail für Fragen, Anregungen & Kommentare: [email protected]

Jochen, Dominik und Johannes sind zurück und gehen die Neuerungen in Python 3.15 durch: Sentinels, der Sampling-Profiler Tachyon, FrozenDict, Lazy Imports, JIT und Free-Threading. Außerdem geht es um CalVer, Rust und Swift mit KI-Agenten und sehr große Zahlen. Zum Schluss gibt es Picks rund um interne TLS-Zertifikate.

Links

Python 3.15

What's New in Python 3.15 - offizielle Übersicht aller Neuerungen

uv / uvx - damit startet man das „What's New“-Textadventure

Textual - TUI-Framework, mit dem das Textadventure gebaut ist

PEP 661 – Sentinel Values - eingebaute, benennbare und typprüfbare Sentinels

PEP 799 – Profiling-Paket - bringt den statistischen Profiler Tachyon in die Standardbibliothek

PEP 686 – UTF-8 Mode als Default - Dateien werden standardmäßig als UTF-8 gelesen statt nach System-Locale

PEP 798 – Unpacking in Comprehensions - verschachtelte Listen mit * flach machen

PEP 810 – Explicit Lazy Imports - der echte Import passiert erst beim ersten Zugriff

PEP 814 – frozendict - eingebautes, unveränderliches Dictionary

PEP 416 – frozendict (2012) - Victor Stinners erster Vorschlag von vor über zwölf Jahren

site-Modul und .pth-Dateien - der Mechanismus, den Python jetzt entschärft

PEP 744 – JIT Compilation - Hintergrund zum experimentellen JIT

PEP 703 – Free-Threading - Python ohne GIL

PyPy - alternative Python-Implementierung mit JIT

Typing

Python Typing Docs - TypedDict, Protocols & Co.

PEP 747 – TypeForm - die „höhere Magie“, die niemand in der Runde versteht

PEP 544 – Protocols - strukturelles Subtyping, z. B. für Django-Code

mypy - Johannes nutzt es noch aus Gewohnheit

ty - Type-Checker von Astral

Pyrefly - Type-Checker von Meta

Exkurse

NetHack - Jochens Textadventure-Referenz

Zork - der Klassiker unter den Textadventures

EVE Online: The Move to Python 3 Begins - läuft seit 2003 auf Stackless Python 2 und wird jetzt auf Python 3 migriert

Stackless Python - der Python-Fork hinter EVE Online

HexaHunt - Farben anhand ihres Hex-Codes erraten, passend zum Exkurs über Farben in Fehlermeldungen

Celery - ein Beispiel für laufende Prozesse, an die sich Tachyon hängen kann

NumPy und pandas - Bibliotheken mit langsamen Imports

Python Discourse - hier entstehen die langen Diskussionen um neue Features

Versionierung

Django - wechselt per DEP zu Calendar Versioning

CalVer - Calendar Versioning erklärt

SemVer - das Gegenmodell

Ubuntu Releases - Versionsnummer = Release-Datum

Sprachen, Daten und große Zahlen

Rust - schreibt Jochen inzwischen viel mit KI-Agenten

The Rust Book - Johannes kommt nie über das erste Kapitel hinaus

Swift - für native Apps im Apple-Ökosystem

PostgreSQL - 2 TB sind noch lange nicht groß

Fleißiger Biber (Busy Beaver) - ab BB(6) unbekannt

bbchallenge.org - gemeinschaftliche Busy-Beaver-Forschung

Grahams Zahl - kleiner als BB(10)

Kruskals Baumsatz / TREE(3) - passt nicht ins Universum

Picks

mkcert - lokale CA für die Entwicklung (Johannes)

Easy-RSA - etwas besser verwaltbare, aber händische CA (Johannes)

Smallstep step-ca - selbst betriebene, ACME-kompatible CA (Johannes)

Certbot - funktioniert auch mit step-ca

Let's Encrypt - reicht nicht bis in die interne Infrastruktur

Trafilatura (Pick von Dominik) - extrahiert bereinigten Text oder JSON aus einer URL

herdr (Pick von Jochen) - Terminal-Multiplexer für viele parallel laufende CLI-Coding-Agents

tmux und Zellij - die Vergleichsgrößen dazu

Themen

Begrüßung nach langer Pause: Ist das Folge 70, 71 oder 72?

Python 3.15: Textadventure, Sentinels, Tachyon, UTF-8, Unpacking, Lazy Imports, FrozenDict, .pth-Dateien, JIT, Fehlermeldungen, Typing, Free-Threading

Wie wichtig sind neue Python-Versionen noch?

CalVer vs. fortlaufende Release-Nummern

Rust und Swift dank KI-Agenten

Große Datenbanken und große Zahlen

Picks und Abschluss

Weitere Episoden von „Python Podcast“

Alle Episoden von Python Podcast · Mehr Technologie-Podcasts