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 FolgeEVE 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).PicksJohannes: interne TLS-Zertifikate mit mkcert, Easy-RSA und Smallstep step-caDominik: Trafilatura, um bereinigten Text oder JSON aus einer URL zu extrahierenJochen: herdr, ein Terminal-Multiplexer für Coding-Agents, der viele parallel laufende CLI-Agents danach sortiert, ob sie gerade Input brauchenFragen, Feedback oder Lust auf ein Hörertreffen? Schreibt uns eine E-Mail! ShownotesUnsere 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.15What's New in Python 3.15 - offizielle Übersicht aller Neuerungenuv / uvx - damit startet man das „What's New“-TextadventureTextual - TUI-Framework, mit dem das Textadventure gebaut istPEP 661 – Sentinel Values - eingebaute, benennbare und typprüfbare SentinelsPEP 799 – Profiling-Paket - bringt den statistischen Profiler Tachyon in die StandardbibliothekPEP 686 – UTF-8 Mode als Default - Dateien werden standardmäßig als UTF-8 gelesen statt nach System-LocalePEP 798 – Unpacking in Comprehensions - verschachtelte Listen mit * flach machenPEP 810 – Explicit Lazy Imports - der echte Import passiert erst beim ersten ZugriffPEP 814 – frozendict - eingebautes, unveränderliches DictionaryPEP 416 – frozendict (2012) - Victor Stinners erster Vorschlag von vor über zwölf Jahrensite-Modul und .pth-Dateien - der Mechanismus, den Python jetzt entschärftPEP 744 – JIT Compilation - Hintergrund zum experimentellen JITPEP 703 – Free-Threading - Python ohne GILPyPy - alternative Python-Implementierung mit JITTypingPython Typing Docs - TypedDict, Protocols & Co.PEP 747 – TypeForm - die „höhere Magie“, die niemand in der Runde verstehtPEP 544 – Protocols - strukturelles Subtyping, z. B. für Django-Codemypy - Johannes nutzt es noch aus Gewohnheitty - Type-Checker von AstralPyrefly - Type-Checker von MetaExkurseNetHack - Jochens Textadventure-ReferenzZork - der Klassiker unter den TextadventuresEVE Online: The Move to Python 3 Begins - läuft seit 2003 auf Stackless Python 2 und wird jetzt auf Python 3 migriertStackless Python - der Python-Fork hinter EVE OnlineHexaHunt - Farben anhand ihres Hex-Codes erraten, passend zum Exkurs über Farben in FehlermeldungenCelery - ein Beispiel für laufende Prozesse, an die sich Tachyon hängen kannNumPy und pandas - Bibliotheken mit langsamen ImportsPython Discourse - hier entstehen die langen Diskussionen um neue FeaturesVersionierungDjango - wechselt per DEP zu Calendar VersioningCalVer - Calendar Versioning erklärtSemVer - das GegenmodellUbuntu Releases - Versionsnummer = Release-DatumSprachen, Daten und große ZahlenRust - schreibt Jochen inzwischen viel mit KI-AgentenThe Rust Book - Johannes kommt nie über das erste Kapitel hinausSwift - für native Apps im Apple-ÖkosystemPostgreSQL - 2 TB sind noch lange nicht großFleißiger Biber (Busy Beaver) - ab BB(6) unbekanntbbchallenge.org - gemeinschaftliche Busy-Beaver-ForschungGrahams Zahl - kleiner als BB(10)Kruskals Baumsatz / TREE(3) - passt nicht ins UniversumPicksmkcert - 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-caLet's Encrypt - reicht nicht bis in die interne InfrastrukturTrafilatura (Pick von Dominik) - extrahiert bereinigten Text oder JSON aus einer URLherdr (Pick von Jochen) - Terminal-Multiplexer für viele parallel laufende CLI-Coding-Agentstmux und Zellij - die Vergleichsgrößen dazuThemenBegrüß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-ThreadingWie wichtig sind neue Python-Versionen noch?CalVer vs. fortlaufende Release-NummernRust und Swift dank KI-AgentenGroße Datenbanken und große ZahlenPicks und Abschluss