Podcast

Talk Python To Me

Technology

Talk Python to Me is a weekly podcast for Python developers, data scientists, and AI builders,
hosted by developer and entrepreneur Michael Kennedy. We dive deep into the packages, tools, and people
shaping Python, from web development and data science to AI and LLMs. If you're new to Python, you'll
quickly learn the ins and outs of the community by hearing from its leaders. And if you've been Pythoning
for years, you'll hear about your favorite packages and the hot new ones coming out of open source.

Episodes
566
Releases
Weekly
Typical length
1 hr 6 min
On air since
2015
Latest episode
1 week ago

Episodes

566 episodes, newest first

  1. Personal AI Agents for Pythonistas

    Episode 567

    Show notes

    The most popular Python project you've probably never heard of has 252,000 GitHub stars and merged over 1,800 pull requests in a single week. It's Hermes, a self-hosted AI agent you program just by talking to it. And it never clocks out. It runs 24/7 on a box in your house, wakes up every 15 minutes, keeps your YouTube channel in sync, and has your morning briefing ready before you're up. Mine started as a few config files. A few months later, it's 16,000 files of skills, memories, and tools it built for itself, all while I wasn't watching. Jeff Triplett joins me to explore this honestly weird but kind of amazing world. And yes, Hermes has a few words for you, too.

    Episode sponsors

    Talk Python Membership
    Talk Python Membership
    Talk Python Courses

    Links from the show

    Talk Python Tech Talks: https://talkpython.fm/meetups

    Hermes: github.com
    Ollama cloud models: ollama.com
    https\://hermes-agent.nousresearch.com: hermes-agent.nousresearch.com
    Hermes Web UI: get-hermes.ai
    built my own UI: blobs.talkpython.fm
    the Hermes Dashboard: blobs.talkpython.fm
    the audio from the chat example: blobs.talkpython.fm
    the CLI: blobs.talkpython.fm
    Tailscale: tailscale.com
    Hindsight: hindsight.vectorize.io
    trmnl display: trmnl.com
    JEV: typesafe.ai
    Home Assistant Green: www.home-assistant.io
    QMD - Query Markup Documents: github.com
    OrangePi: www.orangepi.org

    Watch this episode on YouTube: youtube.com
    Episode #567 deep-dive: talkpython.fm/567
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 7 min
  2. State of the art in Python 2026

    Episode 566

    Show notes

    Which of your Python tools would you still pick if you started fresh today? For a long time, the answer was easy. The stack felt settled. AI has reopened almost every one of those choices. Some tools got faster. Others got replaced outright. On this episode, a panel takes stock of the state of the art in Python for 2026. Calvin Hendryx-Parker is CTO and co-founder of Six Feet Up. Pat Decker works in DevOps at Hibu. Reuven Lerner has trained Python developers for 15 years. Sydney Runkle does product management for open source at LangChain. One of them barely opens an editor anymore. Listen in to hear the surprising replacement.

    Episode sponsors

    Talk Python Courses
    Python in Production

    Links from the show

    Guests
    Pat Decker
    Reuven Lerner: github.com
    Calvin Hendryx-Parker: linkedin.com
    Sydney Runkle: github.com

    Talk Python Membership: https://talkpython.fm/community

    This Reddit post: www.reddit.com
    PSF+Jetbrains survey: blog.jetbrains.com
    vscode: code.visualstudio.com
    pycharm: www.jetbrains.com
    cmux: cmux.com
    warp.dev: www.warp.dev
    herdr: herdr.dev
    Royal TS: apps.microsoft.com
    Tailscale: tailscale.com
    uv: docs.astral.sh
    FastAPI: fastapi.tiangolo.com
    Litestar: litestar.dev
    Django: www.djangoproject.com
    httpx2: github.com
    ty: github.com
    pyrefly: pyrefly.org
    postgres: www.postgresql.org
    sqlite: www.sqlite.org
    duckdb: duckdb.org
    Hetzner: www.hetzner.com
    DigitalOcean: www.digitalocean.com
    AWS: aws.amazon.com
    Great Docs: posit-dev.github.io
    Zensical: zensical.org
    Vue.js: Vue.js
    AgentsView: www.agentsview.io
    LangChain Blog: www.langchain.com
    Umami Example of Great Docs: mkennedy.codes
    Mintlify: www.mintlify.com
    DuckLake: ducklake.select
    Robyn Web Framework: robyn.tech
    Django Ninja: django-ninja.dev
    Talk Python CLI: talkpython.fm
    KEdit: www.kedit.com
    Kitty: sw.kovidgoyal.net

    Watch this episode on YouTube: youtube.com
    Episode #566 deep-dive: talkpython.fm/566
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 5 min
  3. Tachyon, Python 3.15's Built-in Sampling Profiler

    Episode 565

    Show notes

    Do you know what's actually slow in your Python app? Or are you guessing? Until now, profiling Python meant a tracing profiler that made your code 2 to 3 times slower. Or a third-party tool that broke with every new release. Python 3.15 fixes that. It ships Tachyon, a sampling profiler built into the standard library. It attaches to live production apps with almost zero overhead. My guests are Pablo Galindo Salgado, CPython core developer and Steering Council member, and László Kiss Kollár from Bloomberg's Python infrastructure team. Their first prototype ran at two samples a second. Now it does over a million hz. And it lands in Python 3.15 this October.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    Guests
    László Kiss Kollár: linkedin.com
    Pablo Galindo Salgado

    3.11: talkpython.fm
    Memray: talkpython.fm
    PyStack: talkpython.fm
    profile and cProfile: docs.python.org
    py-spy: github.com
    Austin: github.com
    PEP 799: peps.python.org
    PEP 768: peps.python.org
    PyCon US 2026 talk: us.pycon.org
    The docs: docs.python.org
    Backport to 3.14: github.com

    Watch this episode on YouTube: youtube.com
    Episode #565 deep-dive: talkpython.fm/565
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 28 min
  4. EVE Online Departs for Python 3

    Episode 564

    Show notes

    Every ship in EVE Online eventually undocks and leaves the station. This time, it's the whole game. EVE has run on Python 2 since it launched in 2003, all 2.4 million lines of it, on a custom Stackless interpreter that stopped at 3.8 and was archived last year. Destination: Python 3.12. The route runs through 6,500 lines of division that decide who wins a fight, and 100 gigabytes of pickled Python objects that have to survive the jump intact. Kristinn Sigurbergsson was on this show ten years ago. He's back, with Jamie Bannister, who is flying the EVE Online migration right now, and Thomas Dähling, who took EVE Frontier through first. In EVE, a destroyed ship is gone for good. There are no do-overs, and the universe has to stay online the whole way.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses

    Links from the show

    Guests
    Jamie Bannister: linkedin.com
    Thomas Dähling: linkedin.com
    Kristinn Sigurbergsson: linkedin.com

    EVE Online: www.eveonline.com
    EVE Frontier: evefrontier.com
    2.4 million lines of Python: www.eveonline.com
    Example of graphics, ships walk-through: www.youtube.com
    Stackless: www.stackless.com
    futurize: python-future.org
    blue: github.com
    Dev blog on the Frontier upgrade: evefrontier.com
    Upgrading CARBON to Python 3: www.youtube.com
    carbon-scheduler: github.com
    Scheduling in Carbon: Leaving Stackless Python Behind: www.youtube.com
    All of Carbon is on GitHub now: github.com
    did a whole course: training.talkpython.fm
    Trade Wars BBS (Wikipedia): en.wikipedia.org
    TW 3002 - TradeWars 2002, reimagined as a modern browser game: www.reddit.com

    Watch this episode on YouTube: youtube.com
    Episode #564 deep-dive: talkpython.fm/564
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 8 min
  5. Getting Started with Rust as Python Devs

    Episode 563

    Show notes

    Lint the entire CPython code base from scratch. It takes 0.3 seconds. Three blinks of an eye.

    That is ruff, and it is written in Rust. So are Pydantic, Polars, uv, and Granian. Rust shows up in Python three ways: tools that happen to be Rust, libraries Python imports, and servers that run Python inside Rust. This is Rust for Python developers, not Rust experts.

    Christopher Trudeau is back on Talk Python to discuss Rust and his latest course Up and Running with Rust. The core rule is that only one thing can own a value at a time. Pass it around freely in Python and the garbage collector cleans up. Do that in Rust and it will not compile.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    Up and Running with Rust course: training.talkpython.fm

    Rust: rust-lang.org
    pydantic: pydantic.dev
    ruff: docs.astral.sh
    granian: github.com
    By example: doc.rust-lang.org
    rust-lang.org: rust-lang.org
    rustup.rs: rustup.rs
    crates.io: crates.io
    main.rs: main.rs
    PyO3: github.com
    https://github.com/ritwiktiwari/awesome-python-rs: github.com
    ty: docs.astral.sh
    pyrefly: pyrefly.org
    uv: github.com
    polars: pola.rs

    Watch this episode on YouTube: youtube.com
    Episode #563 deep-dive: talkpython.fm/563
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 11 min
  6. DuckLake: The Lakehouse That's Just SQL and Parquet

    Episode 562

    Show notes

    How many files does your query read before it reads any data? On some data lakes, you go through JSON and metadata files first, just to learn which Parquet files matter. DuckLake asks one SQL question instead. The metadata lives in a real database. The data stays in plain Parquet. That's the entire format.

    Pedro Holanda joined DuckDB in 2018, when it was still a research prototype at CWI. He's the lead DuckLake developer. Guillermo Sanchez Dionis works on DuckLake and the new Quack protocol.

    With Quack as the catalog, DuckLake handles 200 transactions a second under heavy contention. No other open table format comes close.

    Episode sponsors

    Six Feet Up
    Talk Python Courses

    Links from the show

    Guests
    Pedro Holanda: pedroholanda.org
    Guillermo Sanchez: linkedin.com

    PhD on progressive indexes: ir.cwi.nl
    SQLite: www.sqlite.org
    Litestream: litestream.io
    boring hardware: talkpython.fm
    DuckDB: duckdb.org
    episode 491: talkpython.fm
    Iceberg: iceberg.apache.org
    manifesto: ducklake.select
    DuckLake: ducklake.select
    spec: ducklake.select
    this diagram: blobs.talkpython.fm
    Data inlining: ducklake.select
    ducklake-dataframe: github.com
    Polars course: training.talkpython.fm
    CSV parser: duckdb.org
    Zero-copy Arrow: duckdb.org
    ART index: duckdb.org
    async I/O: duckdb.org
    v1.0: ducklake.select
    Git-like branching: ducklake.select

    Watch this episode on YouTube: youtube.com
    Episode #562 deep-dive: talkpython.fm/562
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 11 min
  7. TonIO, a Multi-threaded Async Runtime for Python

    Episode 561

    Show notes

    How many cores does your machine have, 10, 18? Your async Python code uses just one of them. That isn't a bug in asyncio. That's the design, and optimizing event loops to be faster by 20% doesn't change it. So Giovanni Barillari started over. Joe is the creator of Granian, the Rust-based server that powers Talk Python. His new project is TonIO, an async runtime written from scratch for free-threaded Python. Real threads, a handful of primitives instead of asyncio's pile of them, and it flat out refuses to start if the GIL is on.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    Guest
    Giovanni Barillari: github.com

    Granian: github.com
    Hyper: github.com
    Free threaded Python: docs.python.org
    Sort of: labs.quansight.org
    did a whole course: training.talkpython.fm
    uvloop: github.com
    rloop: github.com
    TonIO: github.com
    your EuroPython 2026 talk: www.youtube.com
    Michael's Cutting Python Web App Memory Over 31% Article: mkennedy.codes

    Watch this episode on YouTube: youtube.com
    Episode #561 deep-dive: talkpython.fm/561
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 16 min
  8. Building a Research OS: From Django to 30,000 Samples

    Episode 560

    Show notes

    In 2020, a gastroenterologist in Glasgow did the math on his new research study and came up with 30,000 samples, arriving over two years from three cities and a dozen hospitals. He asked around about how researchers keep track of that. The answer was Microsoft Excel. Shaun Chuah had written some HTML by hand in Notepad back in high school and that was about the whole of his programming experience, so he opened the Django tutorial and started reading. Six years later that app is Foundry120, holding 10 terabytes of clinical and genomics data with an agentic AI running on top of it.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses
    Talk Python Courses

    Links from the show

    Guest
    Shaun Chuah: github.com

    Up and Running with Rust Course: talkpython.fm

    Foundry120: www.foundry120.com
    Designing Data Intensive Applications: www.oreilly.com
    Microsoft Foundry: ai.azure.com
    ChatIBD: www.chatibd.com
    Blog: shaunchuah.github.io
    @drshaunchuah: x.com
    github.com/shaunchuah: github.com

    Watch this episode on YouTube: youtube.com
    Episode #560 deep-dive: talkpython.fm/560
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 3 min
  9. 12 Things You Should (and Shouldn't) Do in AWS

    Episode 559

    Show notes

    Your site is down. It's 3am. Is it a bug, a bill, or a breach? You can't tell yet, and everyone is watching you find out. Matt Lea has spent fifteen years being the person companies call when an outage is costing them real money per hour, and his whole argument is that everything you'd want in that moment gets decided months earlier, on ordinary afternoons, when someone chose the convenient thing. We walk his top twelve dos and don'ts in AWS - infrastructure as code, IAM roles instead of access keys, private subnets, no wildcards, no public buckets - and I push on which of them actually matter if you're one person on a small VPS. Then we get to Cloud War Games, where Matt breaks things on purpose so your team's first real incident isn't their first incident. Let's get into it.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses
    Talk Python Courses

    Links from the show

    Guest
    Matt Lea: linkedin.com

    Talk Python Certificates: https://training.talkpython.fm/certificates

    Schematical: schematical.com
    CloudWarGames.com: cloudwargames.com
    Zero to Hero on AWS Security: www.oreilly.com
    Repo: github.com
    Custom Wheel Offset: customwheeloffset.com
    2012 TechCrunch Disrupt Hackathon: techcrunch.com
    tech comics: schematical.com
    shhgit: github.com
    Zero Trust in 200ms: Implementing Identity-Per-Transaction: us.pycon.org
    Coolify: coolify.io
    returned to full GA Nov 2025: aws.amazon.com
    Signed URLs/cookies: docs.aws.amazon.com
    Cloudflare: www.cloudflare.com
    Bunny Shield: bunny.net
    Cloud War Games One: www.youtube.com
    Cloud War Games Two: www.youtube.com
    LinkedIn: linkedin.com
    YouTube: youtube.com
    KnocKnoc: knocknoc.io

    Watch this episode on YouTube: youtube.com
    Episode #559 deep-dive: talkpython.fm/559
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 8 min
  10. Hyper-Personal Software with Python

    Episode 558

    Show notes

    Every company has one. The little internal tool that Jane built back in 2021, and then Jane left. Nobody understands it, nobody will touch it. There are two unwritten rules around it: don't change it, it's working. And if you break it, you bought it. That's dark-matter enterprise software.

    For every app you can actually see, there are ten of these sitting in the shadows, frozen. Michael Booth thinks that just changed. He read my article on hyper-personal software and ran with it, writing about hyper-team software: small teams inside big companies finally building the tools that were never going to get built.

    We cover where this works, where it quietly goes wrong, and the guardrails that keep it from turning into a mess. Let's get into it.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    Guest
    Michael Booth: github.com

    Talk Python AI Integrations: talkpython.fm/blog

    From Hyper-Personal to Hyper-Team Software: Small Team-Built, AI-Assisted Tools Inside the Enterprise: www.databooth.com.au

    What hyper-personal software looks like (MK's article): mkennedy.codes

    Databooth Site: www.databooth.com.au

    Wall Street just lost $285 billion because of 13 markdown files: martinalderson.com
    SaaSpocalypse is real but everyone is panicking about the wrong thing: www.reddit.com
    Warp Terminal: www.warp.dev

    Watch this episode on YouTube: youtube.com
    Episode #558 deep-dive: talkpython.fm/558
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 2 min
  11. Security of everything at PyCon 2026

    Episode 557

    Show notes

    Security has always been the vegetables of software. Everyone agrees it matters, and somehow it never quite makes it onto the plate. At PyCon US this year, that changed. For the first time ever, security got its own dedicated, day-long track, one of just two at the whole conference, sitting right next to AI. And the room was packed to the back wall.

    On this episode, I'm joined by the three people at the center of it. Seth Larson, Security Developer in Residence at the Python Software Foundation and, very recently, a CPython core developer. Juanita Gomez, a PhD researcher at UC Santa Cruz in open source security, who co-chaired the track. And Mike Fiedler, PyPI's Safety and Security Engineer, one of the very few people paid full-time to keep the packages you install safe.

    We use the arc of the track's talks to take the temperature of Python security right now: supply chain attacks, dependency cooldowns, zero trust, SBOMs, and the push to bring Rust into CPython. And why not one of us thinks security is anywhere close to solved. Turns out that's the good news. It's why the room was full.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses

    Links from the show

    Guests
    Juanita Gomez: linkedin.com
    Mike Fiedler: miketheman.dev
    Seth Michael Larson: sethmlarson.dev

    Trailblazing Python Security: us.pycon.org
    Everything Security at PyCon US 2026 (PSF blog): pyfound.blogspot.com
    Dependency Cooldowns: cooldowns.dev
    Anatomy of a Phishing Campaign (Mike Fiedler) Recording: www.youtube.com
    FedRAMP: www.gsa.gov
    Zero Trust in 200ms: Implementing Identity-Per-Transaction with Python & Serverless-Tristan McKinnon: www.youtube.com
    Rust for CPython project: blog.python.org
    pre-PEP: discuss.python.org
    Rust for CPython: Making Python Safer and More Robust for Everyone - Emma Smith: www.youtube.com
    SBOMit: github.com
    Asleep at the Wheel: Getting your SBOMs to pay attention... - Sanchit Sahay, Abhishek Reddypalle: www.youtube.com
    Volatility: volatilityfoundation.org
    Post Incident Runtime SBOM Generation from Python Memory - Hala Ali: www.youtube.com
    zizmor: docs.zizmor.sh
    GitHub Actions security in Python packages (Andrew Nesbitt write-up): nesbitt.io
    andrew/pycon: data & analysis for the GitHub Actions security talk: github.com
    GitHub Actions Security in Python Packages - Andrew Nesbitt: www.youtube.com
    gh-profiler: examine a GitHub user's profile to gauge their contributions: github.com
    PyCon US YouTube channel: www.youtube.com
    SBOMit: adding verification to SBOMs (OpenSSF): openssf.org
    Ecosystems: ecosyste.ms

    Watch this episode on YouTube: youtube.com
    Episode #557 deep-dive: talkpython.fm/557
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 8 min
  12. Updates on Django's Async Story

    Episode 556

    Show notes

    For years, "Django and async" came with an asterisk. The docs themselves warned you off it. Scary performance notes, a story that felt half-finished. Well, that story just got rewritten, literally, and the person who rewrote it is here to tell you why the old framing was wrong.

    Carlton Gibson is a former Django Fellow, sat on the security team for eight years, and he's on the steering council. On this episode we get into the async topic doc rewrite, what actually remains versus what was just fear, the new Tasks framework in 6.0, DB-level cascades and fetch modes landing in 6.1, and why free-threading is the bet that's about to pay off big for Django. If you've been told Django's async story isn't ready, this is the episode that puts that myth to bed.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    DjangoCon Europe: djangocon.eu
    PyCon Italia: pycon.it
    Django on the Med: djangomed.eu
    Django Mantle: noumenal.es
    PyPI: pypi.org
    release notes: docs.djangoproject.com
    on_delete: docs.djangoproject.com
    Fetch modes: docs.djangoproject.com
    HttpRequest.multipart_parser_class: docs.djangoproject.com
    async topic doc: docs.djangoproject.com
    docs: docs.djangoproject.com
    DEP 14: github.com
    django-tasks: github.com
    django-tasks-local: github.com
    Celery: docs.celeryq.dev
    PEP 703: peps.python.org
    free-threading HOWTO: docs.python.org
    PEP 779: peps.python.org
    ASGI: docs.djangoproject.com
    PGBouncer: www.pgbouncer.org
    Channels: channels.readthedocs.io
    sync_to_async / async_to_sync: docs.djangoproject.com
    noumenal.es: noumenal.es
    Django Chat: djangochat.com
    @carlton@fosstodon.org: fosstodon.org
    Article: Cutting Python Web App Memory Over 31%: mkennedy.codes

    Watch this episode on YouTube: youtube.com
    Episode #556 deep-dive: talkpython.fm/556
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 5 min
  13. Marimo Pair - A Canvas for Agent + Developers Collaboration

    Episode 555

    Show notes

    Coding agents have gotten really good at one kind of work. You scope a feature, edit some files, run the tests, ship it. It all happens on disk. But that is not how data work feels. You load something, you look at it, you run a cell, you watch how it responds, and you decide the next move from whatever is sitting in memory. And until now, your agent couldn't see any of that. It only saw the files. Never the live state.

    This episode, that wall comes down. marimo pair drops a coding agent right inside a running notebook, with full access to every variable Python is holding in memory. The notebook becomes a shared canvas. You point, it runs the code. You tell it to zoom in on the Picasso paintings, and the chart just updates. No MCP tools to wire up, no schema to describe. Just Python, and an agent that can finally see what you see. Trevor Manz is back to walk us through it.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses

    Links from the show

    marimo pair: marimo.io/pair

    Course transcripts announcement: talkpython.fm/blog

    anywidget: Jupyter Widgets made easy: talkpython.fm
    marimo: marimo.io
    blog: marimo.io
    GitHub: github.com
    given this: martinalderson.com
    llms.txt: talkpython.fm
    mcp: talkpython.fm
    cli: talkpython.fm
    open issues: github.com
    Discord: marimo.io
    Marimo Pair: marimo.io
    OpenCode: opencode.ai
    AI Tooling for Software Engineers in 2026: newsletter.pragmaticengineer.com

    Watch this episode on YouTube: youtube.com
    Episode #555 deep-dive: talkpython.fm/555
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 5 min
  14. Trustworthy AI in Healthcare and Longevity

    Episode 554

    Show notes

    You ask an AI a question and it answers with total confidence. Most of the time, a confidently wrong answer is just an annoyance. But what if the question is medical, and there's a real patient on the other end? In that world, a hallucination isn't a bug, it's a patient-safety event. Sumit Gundawar is a London-based software engineer who builds the clinical platform for a UK longevity and aesthetic-medicine clinic, and his whole argument is that in high-stakes AI, the model is the easy part. Earning trust is the real engineering. We dig into grounding, refusal logic, human-in-the-loop design, and the messy frontier of longevity and biohacking, plus a live demo of an assistant that refuses to answer when it can't back up the claim. Let's get into it.

    Episode sponsors

    Six Feet Up
    Talk Python Courses

    Links from the show

    Guest
    Sumit Gundawar: linkedin.com

    Course transcripts announcement: talkpython.fm/blog

    Sumit Gundawar - JAX London Speaker: jaxlondon.com
    Anthropic: anthropic.com
    OpenAI Platform: platform.openai.com
    Anthropic: anthropic.com
    LangChain: langchain.com
    OWASP: owasp.org
    Pydantic: pydantic.dev
    EU AI Act - Regulatory Framework: digital-strategy.ec.europa.eu
    HIPAA - HHS: www.hhs.gov
    NHS: www.nhs.uk
    Llama: llama.com
    Qwen - QwenLM on GitHub: github.com
    OpenAI Platform: platform.openai.com
    Hugging Face: huggingface.co
    Llama: llama.com
    Granola: www.granola.ai
    HIPAA - HHS: www.hhs.gov
    CodeRabbit: www.coderabbit.ai
    Cursor Origin: cursor.com
    GitHub Status: www.githubstatus.com
    Midjourney Medical: www.midjourney.com
    Neko Health: www.nekohealth.com
    CERN: home.cern
    ATLAS Experiment: atlas.cern

    Watch this episode on YouTube: youtube.com
    Episode #554 deep-dive: talkpython.fm/554
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 1 min
  15. All of our tools

    Episode 553

    Show notes

    This episode is a fun crossover from our Python news and tips podcast, Python Bytes. We have had some big changes over there. Brian Okken has moved on and Calvin Hendryx-Parker has joined the show as the new co-host. To kick off this new era, we decided to do a longer and more personal episode called "All Our Tools". The idea is both of us talk about some of our most useful day-to-day developer and business owner tools that we think you all would find useful. It was so well received, that I'm bringing it to you all as a crossover episode. Enjoy and we hope you find something new and awesome to help you with your software and data science day to day.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Python in Production
    Talk Python Courses

    Links from the show

    Guest
    Calvin Hendryx-Parker: linkedin.com

    @calvinhp@sixfeetup.social: sixfeetup.social
    @calvinhp.com: bsky.app
    calvinhp.com: calvinhp.com

    Original airing on Python Bytes: pythonbytes.fm

    pi: pi.dev
    superpowers: github.com
    Warp.dev: Warp.dev
    OhMyZSH: ohmyz.sh
    Commandbookapp.com: Commandbookapp.com
    Blink: blink.sh
    kitty: sw.kovidgoyal.net
    mosh: mosh.org
    tmux: github.com
    Claude code: www.anthropic.com
    Claude.md: Claude.md
    MacWhisper: goodsnooze.gumroad.com
    Handy: handy.computer
    Tailscale: tailscale.com
    Talk Python episode with Alex: talkpython.fm
    Telescopo: www.telescopo.app
    Typora markdown: typora.io
    formal documentation for many of my open source packages: mkennedy.codes
    Great Docs: posit-dev.github.io
    Statement on the US government directive to suspend access to Fable 5 and Mythos 5: www.anthropic.com
    No second date: x.com

    Watch this episode on YouTube: youtube.com
    Episode #553 deep-dive: talkpython.fm/553
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    55 min
  16. Astral joins OpenAI

    Episode 552

    Show notes

    OpenAI just acquired Astral, the company behind uv, Ruff, and ty. And if your first thought was "wait, is uv toast?", you are not alone. But here's the twist Charlie Marsh shared with me: he thinks they may ship more open source at OpenAI than they ever did at Astral. On this episode, we get into the acquisition, the mixed feelings, the future of your favorite Python tools, and what it's like to build right at the center of the AI universe.

    Episode sponsors

    Sentry Error Monitoring, Code talkpython26
    Talk Python Courses

    Links from the show

    Guest
    Charlie Marsh: github.com

    The announcement: astral.sh
    OpenAI: openai.com
    uv: github.com
    ty: github.com
    Ruff: github.com
    pyx: astral.sh
    Codex team: openai.com
    Anthropic did something similar by acquiring Bun: www.anthropic.com
    Daily Stars Explorer: emanuelef.github.io

    Agentic AI Programming for Python: training.talkpython.fm
    Python Web Security: OWASP Top 10 with Agentic AI: training.talkpython.fm

    Episode #552 deep-dive: talkpython.fm/552
    Episode transcripts: talkpython.fm

    Theme Song: Developer Rap
    🥁 Served in a Flask 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 5 min
  17. Stroll Down Startup Lane - 2026

    Episode 551

    Show notes

    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 show

    Guests
    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 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 49 min
  18. AI Contributions and Maintainer Load in Open Source

    Episode 550

    Show notes

    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 show

    Guest
    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 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 3 min
  19. Great Docs

    Episode 549

    Show notes

    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 show

    Guests
    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 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 7 min
  20. Event Sourcing Design Pattern

    Episode 548

    Show notes

    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 show

    Guest
    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 🎸: https://talkpython.fm/flasksong

    ---== Don't be a stranger ==---
    YouTube: youtube.com/@talkpython

    Bluesky: @talkpython.fm
    Mastodon: @talkpython@fosstodon.org
    X.com: @talkpython

    Michael on Bluesky: @mkennedy.codes
    Michael on Mastodon: @mkennedy@fosstodon.org
    Michael on X.com: @mkennedy

    1 hr 9 min

On these lists

Talk Python To Me is one of the shows picked out on this list

All Technology lists