Episodes
-
If you've ever been to PyCon, you know one of the best parts of the expo hall is Startup Row, a stretch of booths where early-stage companies built on Python show off what they're creating. But only attendees get to walk that lane, so let's bring it to everyone. In this episode, we stroll down Startup Row together. We kick things off with the organizers, Jason and Shay, who share the program's origin story going back to Paul Graham and the PSF, plus some surprising stats, including two unicorns among the alumni. Then we meet five startups: Tetrix, bringing AI to institutional investing in private markets. Arcjet, security that lives inside your app as an SDK. Phemeral.dev, serverless hosting built for Python web apps. CapiscIO, an identity and authority layer for AI agents. And Pixeltable, a multimodal database from Marcel Kornacker, co-creator of Apache Parquet. See if you can spot the theme running through them all. Let's go for a walk.
Episode sponsors
AgentField AI
Talk Python Courses
Links from the showGuests
Naunidh Bhalla: linkedin.com
Grant Gittes: linkedin.com
Marcel Kornacker: linkedin.com
Beon de Nood: linkedin.com
Chinmaya Joshi: linkedin.com
David Mytton: linkedin.com
Shea Tate-Di Donna: linkedin.com
Jason Rowley: linkedin.com
Azul Garza: github.com
Renée Rosillo: linkedin.com
Tetrix: tetrix.co
Tetrix Jobs: tetrix.co
Arcjet: arcjet.com
Pixeltable: pixeltable.com
Phemeral.dev: phemeral.dev
CapiscIO: capisc.io
Episode #551 deep-dive: talkpython.fm/551
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
You wake up, brew the coffee, open GitHub, and there it is. Another pull request on your open source project. Thirteen thousand lines added. No issue filed first. No discussion. Just "here, please review this for me."
Over the past year, GitHub activity has spiked roughly twelve times in a few short months, and a huge chunk of that signal is landing on the same small group of maintainers who were already stretched thin. The curl bug bounty got buried under AI-generated noise. Jazzband, the home of Django classics like pip-tools and the Django debug toolbar, hit what its maintainer called an "apocalypse" and started sunsetting. Even CPython just shipped fresh guidelines on AI-assisted contributions this week.
So what does all of this actually look like from the receiving end of the pull request?
On this episode, Paolo Melchiorre joins us to tell that story from inside the maintainer's chair. Paolo is a director of the Django Software Foundation, an organizer of PyCon Italy, a Django Girls coach, and he has spent the past year carefully collecting examples of how AI is reshaping open source contributions. The good, the bad, and the extra fingers.
We dig into his PyCon US talk on AI-assisted contributions and maintainer load, why AI is best understood as an amplifier rather than a new kind of contributor, the wildly different policies across 86 open source foundations, whether projects banning AI today are reacting to last year's models.
Episode sponsors
AgentField AI
Talk Python Courses
Links from the showGuest
Paolo Melchiorre: github.com
DSF: www.djangoproject.com
djangonaut-space: djangonaut.space
PyCon Italia: 2026.pycon.it
uDjango: github.com
My PyCon US 2026 post: www.paulox.net
AI-Assisted Contributions and Maintainer Load: www.paulox.net
Senior Engineer Tries Vibe Coding: www.youtube.com
Code Rabbit AI PR Reviews: www.coderabbit.ai
GitHub Usage Graphs: github.blog
Update on CPython's AI Policies: fosstodon.org
High-Quality Chaos from Curl: daniel.haxx.se
The Generative AI Policy Landscape in Open Source: redmonk.com
Watch this episode on YouTube: youtube.com
Episode #550 deep-dive: talkpython.fm/550
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Episodes manquant?
-
Your documentation has two audiences now - humans reading the rendered HTML, and AI agents trying to make sense of your library. Rich Iannone and Michael Chow from Posit are back on Talk Python with a brand new Python documentation tool called Great Docs that takes both seriously. Rich is the creator of Great Tables, and before that the R package GT, the man has a serious eye for design, and he's pointed that energy at the Python docs ecosystem. We'll talk about how Great Docs spins up a polished site in three commands, why every page ships as Markdown for your favorite LLM, how it leans on Quarto for executable code blocks and tabbed install sections, and where it lands against Sphinx, MkDocs, and Zensical. Plus, you'll meet Tablin. Here we go.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Temporal
Talk Python Courses
Links from the showGuests
Michael Chow: github.com
Rich lannone: github.com
Python Web Security with OWASP Top 10 and Agentic AI Course: talkpython.fm
Great Docs: posit-dev.github.io/great-docs
Great Tables: posit-dev.github.io
GT Episode: talkpython.fm
Sphinx: www.sphinx-doc.org
mkdocs: www.mkdocs.org
Zensical: zensical.org
Hugo: gohugo.io
Ghost: ghost.org
Rs pkgdown: pkgdown.r-lib.org
Quarto: quarto.org
quickstart: posit-dev.github.io
llms.txt file: llmstxt.org
llms.txt: talkpython.fm
mcp: talkpython.fm
cli: talkpython.fm
Watch this episode on YouTube: youtube.com
Episode #549 deep-dive: talkpython.fm/549
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
What if your database worked more like Git? Every change captured as an immutable event you can replay, instead of a single mutating row that quietly forgets its own history. That's event sourcing, and Chris May is back on Talk Python, fresh off our Datastar panel, to walk us through what it actually looks like in Python. We'll cover the core patterns, the libraries to reach for, when not to use it, and why event sourcing turns out to be a surprisingly good fit for AI-assisted coding.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Temporal
Talk Python Courses
Links from the showGuest
Chris May: everydaysuperpowers.dev
Intro to event sourcing e-book: everydaysuperpowers.gumroad.com
Domain-Driven Design: The Power of CQRS and Event Sourcing: How CQRS/ES Redefine Building Scalable System: ricofritzsche.me
DDD: www.amazon.com
Understanding Eventsourcing (Martin Dilger): www.amazon.com
Event Sourcing Explained using Football Video: www.youtube.com
Why I finally embraced event sourcing and why you should too article: everydaysuperpowers.dev
valkey: valkey.io
diskcache: talkpython.fm
eventsourcing package: github.com
eventsourcing docs: eventsourcing.readthedocs.io
John Bywater: github.com
Datastar: data-star.dev
Microconf: microconf.com
Event Modeling & Event Sourcing Podcast: podcast.eventmodeling.org
Python Package Guides for AI Agents: github.com
Iodine tablets AI joke: x.com
KurrentDb: www.kurrent.io
Watch this episode on YouTube: youtube.com
Episode #548 deep-dive: talkpython.fm/548
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
When OpenAI trained GPT-3, they didn't roll their own orchestration layer. They used Ray, an open source Python framework born out of the same Berkeley research lab lineage that gave us Apache Spark. And here's the twist: Ray was originally built for reinforcement learning research, then quietly faded as RL hit a wall. Until ChatGPT showed up. Suddenly reinforcement learning was back, as the post-training step that turns a raw language model into something genuinely useful.
Edward Oakes and Richard Liaw, two founding engineers behind Ray and Anyscale, join me on Talk Python to tell that story. We'll trace Ray from its RISE Lab origins at UC Berkeley to powering some of the largest training runs in the world. We'll talk about what Ray actually is, a distributed execution engine for AI workloads, and how a few lines of Python become work running across hundreds of GPUs. We'll cover Ray Data for multimodal pipelines, the dashboard, the VS Code remote debugger, KubRay for Kubernetes, and where Ray fits alongside Dask, multiprocessing, and asyncio.
If you've ever stared at a single-machine Python script and thought, "there has to be a better way to scale this", this one's for you
Episode sponsors
Sentry Error Monitoring, Code talkpython26
AgentField AI
Talk Python Courses
Links from the showGuests
Richard Liaw: github.com
Edward Oakes: github.com
Ray: www.ray.io
Example code (we used for walk-through): docs.ray.io
Getting Started with Ray: docs.ray.io
Ray Libraries: docs.ray.io
kuberay: github.com
Watch this episode on YouTube: youtube.com
Episode #547 deep-dive: talkpython.fm/547
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
The cloud is convenient until it isn't. You upload your photos, sync your contacts, click through the cookie banners. Then prices go up again or you read about a family that lost their entire Google account over a medical photo sent to a doctor. At some point, the question shifts from "why would I run this myself?" to "why aren't I?"
My guest this week is Alex Kretzschmar, head of DevRel at Tailscale, longtime host of the Self-Hosted podcast, and co-founder of Linuxserver.io. We cover what self-hosting really means in 2026, the apps worth running yourself like Immich and Home Assistant, why Docker Compose ties it all together, and how Tailscale lets you reach any of it from anywhere, without opening a single port. If you've been thinking about pulling your digital life back behind your own walls, this is your roadmap.
Episode sponsors
Temporal
Talk Python Courses
Links from the showGuest
Alex Kretzschmar: alex.ktz.me
Bitflip podcast: bitflip.show
Self-Hosted podcast (Alex's previous show): selfhosted.show
Perfect Media Server: perfectmediaserver.com
KTZ Systems on YouTube: youtube.com/@ktzsystems
Linuxserver.io (co-founded by Alex): linuxserver.io
"How Tailscale Works" blog post: tailscale.com/blog/how-tailscale-works
https://tailscale.com/: tailscale.com
Self-hosted apps discussed
Awesome Self-Hosted (GitHub list): github.com
Immich (Google Photos alternative): immich.app
Home Assistant: home-assistant.io
Open Home Foundation: openhomefoundation.org
Plausible Analytics: plausible.io
Umami Analytics: umami.is
Python integration for umami: pypi.org
Pi-hole: pi-hole.net
AdGuard Home: adguard.com
NextDNS: nextdns.io
Coolify: coolify.io
Docker + ufw: docs.docker.com
Storage, backup & filesystem
OpenZFS: openzfs.org
ZFS.rent (offsite ZFS replication): zfs.rent
Backblaze: backblaze.com
Hetzner Storage Box: hetzner.com
DigitalOcean: digitalocean.com
Secrets management mentioned
OpenBao (open-source Vault fork): openbao.org
HashiCorp Vault: hashicorp.com
Bitwarden: bitwarden.com
1Password: 1password.com
Hardware mentioned
Proxmox VE: proxmox.com
Minisforum MS01: minisforum.com
Zima Board / Zima OS: zimaspace.com
Other references
Cory Doctorow on "enshittification" (Cory's blog where he coined the term): pluralistic.net
Linus Tech Tips' WAN Show (Linus mentioned NAS-building going mainstream): linustechtips.com
Watch this episode on YouTube: youtube.com
Episode #546 deep-dive: talkpython.fm/546
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
The OWASP Top 10 just got a fresh update, and there are some big changes: supply chain attacks, exceptional condition handling, and more. Tanya Janca is back on Talk Python to walk us through every single one of them. And we're not just talking theory, we're going to turn Claude Code loose on a real open source project and see what it finds. Let's do it.
Episode sponsors
Temporal
Talk Python Courses
Links from the showDevSec Station Podcast: www.devsecstation.com
SheHacksPurple Newsletter: newsletter.shehackspurple.ca
owasp.org: owasp.org
owasp.org/Top10/2025: owasp.org
from here: github.com
Kinto: github.com
A01:2025 - Broken Access Control: owasp.org
A02:2025 - SecuA02 Security Misconfiguration: owasp.org
ASP.NET: ASP.NET
A03:2025 - Software Supply Chain Failures: owasp.org
A04:2025 - Cryptographic Failures: owasp.org
A05:2025 - Injection: owasp.org
A06:2025 - Insecure Design: owasp.org
A07:2025 - Authentication Failures: owasp.org
A08:2025 - Software or Data Integrity Failures: owasp.org
A09:2025 - Security Logging and Alerting Failures: owasp.org
A10 Mishandling of Exceptional Conditions: owasp.org
https://github.com/KeygraphHQ/shannon: github.com
anthropic.com/news/mozilla-firefox-security: www.anthropic.com
generalpurpose.com/the-distillation/claude-mythos-what-it-means-for-your-business: www.generalpurpose.com
Python Example Concepts: blobs.talkpython.fm
Watch this episode on YouTube: youtube.com
Episode #545 deep-dive: talkpython.fm/545
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
When you pip install a package with compiled code, the wheel you get is built for CPU features from 2009. Want newer optimizations like AVX2? Your installer has no way to ask for them. GPU support? You're on your own configuring special index URLs. The result is fat binaries, nearly gigabyte-sized wheels, and install pages that read like puzzle books. A coalition from NVIDIA, Astral, and QuanSight has been working on Wheel Next: A set of PEPs that let packages declare what hardware they need and let installers like uv pick the right build automatically. Just uv pip install torch and it works. I sit down with Jonathan Dekhtiar from NVIDIA, Ralf Gommers from Quansight and the NumPy and SciPy teams, and Charlie Marsh, founder of Astral and creator of uv, to dig into all of it.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Temporal
Talk Python Courses
Links from the showGuests
Charlie Marsh: github.com
Ralf Gommers: github.com
Jonathan Dekhtiar: github.com
CPU dispatcher: numpy.org
build options: numpy.org
Red Hat RHEL: www.redhat.com
Red Hat RHEL AI: www.redhat.com
RedHats presentation: wheelnext.dev
CUDA release: developer.nvidia.com
requires a PEP: discuss.python.org
WheelNext: wheelnext.dev
Github repo: github.com
PEP 817: peps.python.org
PEP 825: discuss.python.org
uv: docs.astral.sh
A variant-enabled build of uv: astral.sh
pyx: astral.sh
pypackaging-native: pypackaging-native.github.io
PEP 784: peps.python.org
Watch this episode on YouTube: youtube.com
Episode #544 deep-dive: talkpython.fm/544
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
When you type a question into ChatGPT, the model only has what you typed to work with. But tools like Claude Code can plan, iterate, test, and recover from mistakes. They work more like we do. The difference is the agent harness: Planning tools, file system access, sub-agents, and carefully crafted system prompts that turn a raw LLM into something genuinely capable.
Sydney Runkle is back on Talk Python representing LangChain and their new open source library, Deep Agents: A framework for building your own deep agents with plain Python functions, middleware hooks, and MCP support. This is how the magic works under the hood.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Agentic AI Course
Talk Python Courses
Links from the showGuest
Sydney Runkle: github.com
Claude Code uses: x.com
Deep Research: openai.com
Manus: manus.im
Blog post announcement: blog.langchain.com
Claudes system prompt: github.com
sub agents: docs.anthropic.com
the quick start: docs.langchain.com
CLIs: github.com
Talk Python's CLI: talkpython.fm
custom tools: docs.langchain.com
DeepAgents Examples: github.com
Custom Middleware: docs.langchain.com
Built in middleware: docs.langchain.com
Improving Deep Agents with harness engineering: blog.langchain.com
Prebuilt middleware: docs.langchain.com
Watch this episode on YouTube: youtube.com
Episode #543 deep-dive: talkpython.fm/543
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
If you've built documentation in the Python ecosystem, chances are you've used Martin Donath's work. His Material for MKDocs powers docs for FastAPI, uv, AWS, OpenAI, and tens of thousands of other projects. But when MKDocs 2.0 took a direction that would break Material and 300 ecosystem plugins, Martin went back to the drawing board. The result is Zensical: A new static site generator with a Rust core, differential builds in milliseconds instead of minutes, and a migration path designed to bring the whole community along.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Talk Python Courses
Links from the showGuest
Martin Donath: github.com
Zensical: zensical.org
Material for MkDocs: squidfunk.github.io
Getting Started: zensical.org
Github pages: docs.github.com
Cloudflare pages: pages.cloudflare.com
Michaels Example: gist.github.com
Material for MkDocs: zensical.org
gohugo.io/content-management/shortcodes: gohugo.io
a sense of size of the project: blobs.talkpython.fm
Zensical Spark: zensical.org
Watch this episode on YouTube: youtube.com
Episode #542 deep-dive: talkpython.fm/542
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
When LLMs write code to accomplish a task, that code has to actually run somewhere. And right now, the options aren't great. Spin up a sandboxed container and you're paying a full second of cold start overhead plus the complexity of another service. Let the LLM loose on your actual machine and... well, you'd better be watching.
On this episode, I sit down with Samuel Colvin, creator of Pydantic, now at 10 billion downloads, to explore Monty, a Python interpreter written from scratch in Rust, purpose-built to run LLM-generated code. It starts in microseconds, is completely sandboxed by design, and can even serialize its entire state to a database and resume later. We dig into why this deliberately limited interpreter might be exactly what the AI agent era needs.
Episode sponsors
Talk Python Courses
Python in Production
Links from the showGuest
Samuel Colvin: github.com
CPython: github.com
IronPython: ironpython.net
Jython: www.jython.org
Pyodide: pyodide.org
monty: github.com
Pydantic AI: pydantic.dev
Python AI conference: pyai.events
bashkit: github.com
just-bash: github.com
Narwhals: narwhals-dev.github.io
Polars: pola.rs
Strands Agents: aws.amazon.com
Subscribe Running Pydantic’s Monty Rust sandboxed Python subset in WebAssembly: simonwillison.net
Rust Python: github.com
Valgrind: valgrind.org
Cod Speed: codspeed.io
Watch this episode on YouTube: youtube.com
Episode #541 deep-dive: talkpython.fm/541
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Monorepos -- you've heard the talks, you've read the blog posts, maybe you've seen a few tantalizing glimpses into how Google or Meta organize their massive codebases. But it's often in the abstract and behind closed doors. What if you could crack open a real, production monorepo, one with over a million lines of Python and over 100 of sub-packages, and actually see how it's built, step by step, using modern tools and standards? That's exactly what Apache Airflow gives us.
On this episode, I sit down with Jarek Potiuk and Amogh Desai, two of Airflow's top contributors, to go inside one of the largest open-source Python monorepos in the world and learn how they manage it with uv, pyproject.toml, and the latest packaging standards, so you can apply those same patterns to your own projects.
Episode sponsors
Agentic AI Course
Python in Production
Talk Python Courses
Links from the showGuests
Amogh Desai: github.com
Jarek's GitHub: github.com
definition of a monorepo: monorepo.tools
airflow: airflow.apache.org
Activity: github.com
OpenAI: airflowsummit.org
Part 1. Pains of big modular Python projects: medium.com
Part 2. Modern Python packaging standards and tools for monorepos: medium.com
Part 3. Monorepo on steroids - modular prek hooks: medium.com
Part 4. Shared “static” libraries in Airflow monorepo: medium.com
PEP-440: peps.python.org
PEP-517: peps.python.org
PEP-518: peps.python.org
PEP-566: peps.python.org
PEP-561: peps.python.org
PEP-660: peps.python.org
PEP-621: peps.python.org
PEP-685: peps.python.org
PEP-723: peps.python.org
PEP-735: peps.python.org
uv: docs.astral.sh
uv workspaces: blobs.talkpython.fm
prek.j178.dev: prek.j178.dev
your presentation at FOSDEM26: fosdem.org
Tallyman: github.com
Watch this episode on YouTube: youtube.com
Episode #540 deep-dive: talkpython.fm/540
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
You're adding type hints to your Python code, your editor is happy, autocomplete is working great. But then you switch tools and suddenly there are red squiggles everywhere. Who decides what a float annotation actually means? Or whether passing None where an int is expected should be an error? It turns out there's a five-person council dedicated to exactly these questions -- and two brand-new Rust-based type checkers are raising the bar. On this episode, I sit down with three members of the Python Typing Council -- Jelle Zijlstra, Rebecca Chen, and Carl Meyer -- to learn how the type system is governed, where the spec and the type checkers agree and disagree, and get the council's official advice on how much typing is just enough.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Agentic AI Course
Talk Python Courses
Links from the showGuests
Carl Meyer: github.com
Jelle Zijlstra: jellezijlstra.github.io
Rebecca Chen: github.com
Typing Council: github.com
typing.python.org: typing.python.org
details here: github.com
ty: docs.astral.sh
pyrefly: pyrefly.org
conformance test suite project: github.com
typeshed: github.com
Stub files: mypy.readthedocs.io
Pydantic: pydantic.dev
Beartype: github.com
TOAD AI: github.com
PEP 747 – Annotating Type Forms: peps.python.org
PEP 724 – Stricter Type Guards: peps.python.org
Python Typing Repo (PRs and Issues): github.com
Watch this episode on YouTube: youtube.com
Episode #539 deep-dive: talkpython.fm/539
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Digital humanities sounds niche, until you realize it can mean a searchable archive of U.S. amendment proposals, Irish folklore, or pigment science in ancient art. Today I’m talking with David Flood from Harvard’s DARTH team about an unglamorous problem: What happens when the grant ends but the website can’t. His answer, static sites, client-side search, and sneaky Python. Let’s dive in.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Command Book
Talk Python Courses
Links from the showGuest
David Flood: davidaflood.com
DARTH: digitalhumanities.fas.harvard.edu
Amendments Project: digitalhumanities.fas.harvard.edu
Fionn Folklore Database: fionnfolklore.org
Mapping Color in History: iiif.harvard.edu
Apatosaurus: apatosaurus.io
Criticus: github.com
github.com/palewire/django-bakery: github.com
sigsim.acm.org/conf/pads/2026/blog/artifact-evaluation: sigsim.acm.org
Hugo: gohugo.io
Water Stories: waterstories.fas.harvard.edu
Tsumeb Mine Notebook: tmn.fas.harvard.edu
Dharma and Punya: dharmapunya2019.org
Pagefind library: pagefind.app
django_webassembly: github.com
Astro Static Site Generator: astro.build
PageFind Python Lib: pypi.org
Frozen-Flask: frozen-flask.readthedocs.io
Watch this episode on YouTube: youtube.com
Episode #538 deep-dive: talkpython.fm/538
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
You love building web apps with Python, and HTMX got you excited about the hypermedia approach -- let the server drive the HTML, skip the JavaScript build step, keep things simple. But then you hit that last 10%: You need Alpine.js for interactivity, your state gets out of sync, and suddenly you're juggling two unrelated libraries that weren't designed to work together.
What if there was a single 11-kilobyte framework that gave you everything HTMX and Alpine do, and more, with real-time updates, multiplayer collaboration out of the box, and performance so fast you're actually bottlenecked by the monitor's refresh rate? That's Datastar.
On this episode, I sit down with its creator Delaney Gillilan, core maintainer Ben Croker, and Datastar convert Chris May to explore how this backend-driven, server-sent-events-first framework is changing the way full-stack developers think about the modern web.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Command Book
Talk Python Courses
Links from the showGuests
Delaney Gillilan: linkedin.com
Ben Croker: x.com
Chris May: everydaysuperpowers.dev
Datastar: data-star.dev
HTMX: htmx.org
AlpineJS: alpinejs.dev
Core Attribute Tour: data-star.dev
data-star.dev/examples: data-star.dev
github.com/starfederation/datastar-python: github.com
VSCode: marketplace.visualstudio.com
OpenVSX: open-vsx.org
PyCharm/Intellij plugin: plugins.jetbrains.com
data-star.dev/datastar_pro: data-star.dev
gg: discord.gg
HTML-ivating your Django web app's experience with HTMX, AlpineJS, and streaming HTML - Chris May: www.youtube.com
Senior Engineer tries Vibe Coding: www.youtube.com
1 Billion Checkboxes: checkboxes.andersmurphy.com
Game of life example: example.andersmurphy.com
Watch this episode on YouTube: youtube.com
Episode #537 deep-dive: talkpython.fm/537
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
You've built your FastAPI app, it's running great locally, and now you want to share it with the world. But then reality hits -- containers, load balancers, HTTPS certificates, cloud consoles with 200 options. What if deploying was just one command? That's exactly what Sebastian Ramirez and the FastAPI Cloud team are building. On this episode, I sit down with Sebastian, Patrick Arminio, Savannah Ostrowski, and Jonathan Ehwald to go inside FastAPI Cloud, explore what it means to build a "Pythonic" cloud, and dig into how this commercial venture is actually making FastAPI the open-source project stronger than ever.
Episode sponsors
Command Book
Python in Production
Talk Python Courses
Links from the showGuests
Sebastián Ramírez: github.com
Savannah Ostrowski: github.com
Patrick Arminio: github.com
Jonathan Ehwald: github.com
FastAPI labs: fastapilabs.com
quickstart: fastapicloud.com
an episode on diskcache: talkpython.fm
Fastar: github.com
FastAPI: The Documentary: www.youtube.com
Tailwind CSS Situation: adams-morning-walk.transistor.fm
FastAPI Job Meme: fastapi.meme
Migrate an Existing Project: fastapicloud.com
Join the waitlist: fastapicloud.com
Talk Python CLI
Talk Python CLI Announcement: talkpython.fm
Talk Python CLI GitHub: github.com
Command Book
Download Command Book: commandbookapp.com
Announcement post: mkennedy.codes
Watch this episode on YouTube: youtube.com
Episode #536 deep-dive: talkpython.fm/536
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Building on the web is like working with the perfect clay. It’s malleable and can become almost anything. But too often, frameworks try to hide the web’s best parts away from us. Today, we’re looking at PyView, a project that brings the real-time power of Phoenix LiveView directly into the Python world. I'm joined by Larry Ogrodnek to dive into PyView.
Episode sponsors
Talk Python Courses
Python in Production
Links from the showGuest
Larry Ogrodnek: hachyderm.io
pyview.rocks: pyview.rocks
Phoenix LiveView: github.com
this section: pyview.rocks
Core Concepts: pyview.rocks
Socket and Context: pyview.rocks
Event Handling: pyview.rocks
LiveComponents: pyview.rocks
Routing: pyview.rocks
Templating: pyview.rocks
HTML Templates: pyview.rocks
T-String Templates: pyview.rocks
File Uploads: pyview.rocks
Streams: pyview.rocks
Sessions & Authentication: pyview.rocks
Single-File Apps: pyview.rocks
starlette: starlette.dev
wsproto: github.com
apscheduler: github.com
t-dom project: github.com
Watch this episode on YouTube: youtube.com
Episode #535 deep-dive: talkpython.fm/535
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Your cloud SSD is sitting there, bored, and it would like a job. Today we’re putting it to work with DiskCache, a simple, practical cache built on SQLite that can speed things up without spinning up Redis or extra services. Once you start to see what it can do, a universe of possibilities opens up. We're joined by Vincent Warmerdam to dive into DiskCache.
Episode sponsors
Talk Python Courses
Python in Production
Links from the showdiskcache docs: grantjenks.com
LLM Building Blocks for Python course: training.talkpython.fm
JSONDisk: grantjenks.com
Git Code Archaeology Charts: koaning.github.io
Talk Python Cache Admin UI: blobs.talkpython.fm
Litestream SQLite streaming: litestream.io
Plash hosting: pla.sh
Watch this episode on YouTube: youtube.com
Episode #534 deep-dive: talkpython.fm/534
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Today on Talk Python, the creators behind FastAPI, Flask, Django, Quart, and Litestar get practical about running apps based on their framework in production. Deployment patterns, async gotchas, servers, scaling, and the stuff you only learn at 2 a.m. when the pager goes off. For Django, we have Carlton Gibson and Jeff Triplet. For Flask, we have David Lord and Phil Jones, and on team Litestar we have Janek Nouvertné and Cody Fincher, and finally Sebastián Ramírez from FastAPI is here. Let’s jump in.
Episode sponsors
Talk Python Courses
Python in Production
Links from the showGuests
David Lord
Janek Nouvertné
Cody Fincher
Philip Jones
Jeff Triplett
Carlton Gibson
Carlton Gibson - Django: github.com
Sebastian Ramirez - FastAPI: github.com
David Lord - Flask: davidism.com
Phil Jones - Flask and Quartz(async): pgjones.dev
Yanik Nouvertne - LiteStar: github.com
Cody Fincher - LiteStar: github.com
Jeff Triplett - Django: jefftriplett.com
Django: www.djangoproject.com
Flask: flask.palletsprojects.com
Quart: quart.palletsprojects.com
Litestar: litestar.dev
FastAPI: fastapi.tiangolo.com
Coolify: coolify.io
ASGI: asgi.readthedocs.io
WSGI (PEP 3333): peps.python.org
Granian: github.com
Hypercorn: github.com
uvicorn: uvicorn.dev
Gunicorn: gunicorn.org
Hypercorn: hypercorn.readthedocs.io
Daphne: github.com
Nginx: nginx.org
Docker: www.docker.com
Kubernetes: kubernetes.io
PostgreSQL: www.postgresql.org
SQLite: www.sqlite.org
Celery: docs.celeryq.dev
SQLAlchemy: www.sqlalchemy.org
Django REST framework: www.django-rest-framework.org
Jinja: jinja.palletsprojects.com
Click: click.palletsprojects.com
HTMX: htmx.org
Server-Sent Events (SSE): developer.mozilla.org
WebSockets (RFC 6455): www.rfc-editor.org
HTTP/2 (RFC 9113): www.rfc-editor.org
HTTP/3 (RFC 9114): www.rfc-editor.org
uv: docs.astral.sh
Amazon Web Services (AWS): aws.amazon.com
Microsoft Azure: azure.microsoft.com
Google Cloud Run: cloud.google.com
Amazon ECS: aws.amazon.com
AlloyDB for PostgreSQL: cloud.google.com
Fly.io: fly.io
Render: render.com
Cloudflare: www.cloudflare.com
Fastly: www.fastly.com
Watch this episode on YouTube: youtube.com
Episode #533 deep-dive: talkpython.fm/533
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy -
Python in 2025 is in a delightfully refreshing place: the GIL's days are numbered, packaging is getting sharper tools, and the type checkers are multiplying like gremlins snacking after midnight. On this episode, we have an amazing panel to give us a range of perspectives on what matter in 2025 in Python. We have Barry Warsaw, Brett Cannon, Gregory Kapfhammer, Jodie Burchell, Reuven Lerner, and Thomas Wouters on to give us their thoughts.
Episode sponsors
Seer: AI Debugging, Code talkpython26
Talk Python Courses
Links from the showPython Software Foundation (PSF): www.python.org
PEP 810: Explicit lazy imports: peps.python.org
PEP 779: Free-threaded Python is officially supported: peps.python.org
PEP 723: Inline script metadata: peps.python.org
PyCharm: www.jetbrains.com
JetBrains: www.jetbrains.com
Visual Studio Code: code.visualstudio.com
pandas: pandas.pydata.org
PydanticAI: ai.pydantic.dev
OpenAI API docs: platform.openai.com
uv: docs.astral.sh
Hatch: github.com
PDM: pdm-project.org
Poetry: python-poetry.org
Project Jupyter: jupyter.org
JupyterLite: jupyterlite.readthedocs.io
PEP 690: Lazy Imports: peps.python.org
PyTorch: pytorch.org
Python concurrent.futures: docs.python.org
Python Package Index (PyPI): pypi.org
EuroPython: tickets.europython.eu
TensorFlow: www.tensorflow.org
Keras: keras.io
PyCon US: us.pycon.org
NumFOCUS: numfocus.org
Python discussion forum (discuss.python.org): discuss.python.org
Language Server Protocol: microsoft.github.io
mypy: mypy-lang.org
Pyright: github.com
Pylance: marketplace.visualstudio.com
Pyrefly: github.com
ty: github.com
Zuban: docs.zubanls.com
Jedi: jedi.readthedocs.io
GitHub: github.com
PyOhio: www.pyohio.org
Watch this episode on YouTube: youtube.com
Episode #532 deep-dive: talkpython.fm/532
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy - Montre plus