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:
hallo@python-podcast.de
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.
LinksPython 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
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.