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

, Jochen

Hosts and Guests

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.

Links

Python 3.15

Typing

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

Sprachen, Daten und große Zahlen

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
cancel reply