Aller au contenu
The Real Python Podcast
PodcastTechnologiesAnglais

The Real Python Podcast

NouveauFree-Threaded Python: Why Python Devs Should Know About the ABI6 novembre 2026 · 1 h 8 min
Épisodes
319
Parution
hebdomadaire
Dernier épisode
6 Nov 2026

À propos du podcast

A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.

Épisodes 319

  1. Free-Threaded Python: Why Python Devs Should Know About the ABI

    1 h 8 minÉpisode 318

    Why should every Python developer know about the CPython ABI? This week on the show, we speak with Nathan Goldbaum about free-threaded Python and the changes to the Python Application Binary Interface. Nathan …

    Notes de l’épisode

    Why should every Python developer know about the CPython ABI? This week on the show, we speak with Nathan Goldbaum about free-threaded Python and the changes to the Python Application Binary Interface.

    Nathan recently joined the CPython core developer team and has been building community support for free-threaded Python. Nathan shares his NumPy background and his work on shipping a new DType in NumPy 2.0. He also discusses his work on PyO3 and leading the effort to support thread-safe Rust extensions for use with the free-threaded build of Python.

    This episode is sponsored by PropelAuth.

    Spotlight: Converting Documents to Markdown With MarkItDown

    Learn how to use MarkItDown to convert Excel files, PDFs, and images into clean Markdown that’s ready for LLMs and AI workflows.

    Get Your Code: Click here to download the free sample code that shows you how to work with the experimental free threading and JIT compiler in Python 3.13.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:51 – The evolution of Free-Threaded Python
    • 00:03:42 – Changes to the Application Binary Interface
    • 00:05:16 – Improving the garbage collector
    • 00:07:04 – Why should developers know about the ABI?
    • 00:11:31 – What has changed with ABI?
    • 00:19:42 – Sponsor: PropelAuth
    • 00:20:18 – Python 3.13 and the updated PyObject
    • 00:23:15 – EuroPython talk - What Every Python Developer Should Know About the ABI
    • 00:31:13 – How did you get involved with NumPy?
    • 00:35:33 – Video Course Spotlight
    • 00:37:24 – Working on NumPy conference talk
    • 00:42:23 – LLMs, aesthetic taste, and intentional software design
    • 00:43:16 – Working on NumPy 2.0, DTypes, and building the String DType
    • 00:54:43 – The stages of intentional design
    • 00:57:34 – How does it connect to working on the ABI?
    • 00:59:11 – Rust, PyO3, and the Spinning Jenny Project
    • 01:04:03 – What are you excited about in the world of Python?
    • 01:05:23 – What do you want to learn next?
    • 01:06:34 – How can people follow your work online?
    • 01:06:50 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  2. Demystifying Python Memory Management & Choosing a Project Layout

    46 minÉpisode 317

    How does Python manage memory behind the scenes? What are the common ways to lay out a Python project? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and …

    Notes de l’épisode

    How does Python manage memory behind the scenes? What are the common ways to lay out a Python project? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    Christopher shares an article titled “First Steps into Memory Management in Python.” With recent updates to the garbage collector and the ongoing work toward removing the Global Interpreter Lock (GIL), the article covers the fundamentals of how Python allocates, tracks, and frees memory.

    We also share other articles and projects from the Python community, including recent releases, why Parquet dominates modern data engineering, choosing the right Python project layout, developing the most cursed + operator in all of Python, finding which dependencies block a Django project upgrade, and a Django performance benchmark profiler.

    Spotlight: Codex for Python Developers: Hands-On Agentic Coding Course

    Most Python developers use AI as fancy autocomplete. This 2-day live course teaches you to build entire projects with Codex, an AI agent that works inside your codebase.

    Get Your Cheat Sheet: Click here to download your free Python project structure cheat sheet and keep the flat vs. src/ decision and the entry-point wiring within reach on your next project.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:56 – Python 3.16.0 Alpha 1 Is Now Available
    • 00:02:24 – Django Security Releases Issued: 6.1.2, 6.0.9, and 5.2.18
    • 00:02:46 – Release of Polars 2.0
    • 00:03:32 – PyPy v8.0.1 Release
    • 00:03:54 – Checking Email Reputation, and Allowing Outlook Again
    • 00:04:48 – PyScript is in maintenance mode
    • 00:05:55 – Codex for Python Developers: Hands-On Agentic Coding Course
    • 00:06:21 – MLOps North: November 5th & 6th
    • 00:06:46 – Why Parquet Dominates Modern Data Engineering
    • 00:16:04 – First Steps Into Memory Management in Python
    • 00:23:21 – Spotlight: Codex for Python Developers
    • 00:25:05 – Python Project Structure: How to Choose the Right Layout
    • 00:35:17 – Pendulum and the Most Cursed + Operator in All of Python
    • 00:38:50 – django-benchmark: Django Performance Benchmark Profiler
    • 00:41:53 – django-upgrade-report: Which Dependencies Block an Upgrade to Your Django Project?
    • 00:44:33 – Thanks and goodbye

    News:

    Show Links:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  3. The Future of Python Security: Trends, Challenges, and Solutions

    1 h 11 minÉpisode 316

    How is the Python ecosystem adapting to the modern landscape of software security and supply chain defense? This week on the show, we sit down with Seth Larson, the Python Software Foundation’s Security …

    Notes de l’épisode

    How is the Python ecosystem adapting to the modern landscape of software security and supply chain defense? This week on the show, we sit down with Seth Larson, the Python Software Foundation’s Security Developer in Residence.

    Seth shares his background in open source and how he got involved in security engineering. We discuss the Python Security Response Team and how a recent PEP formalized its processes for reporting and triage.

    Seth breaks down how large language models are affecting vulnerability discovery and increasing the volume to triage. We also cover the security advantages of trusted publishing on PyPI, how Software Bill of Materials (SBOMs) under PEP 770 help track dependencies, and some advice on improving your CI/CD security.

    Course Spotlight: Testing Your Code With Python’s unittest

    Learn how to use Python’s unittest framework to write unit tests for your code, including test cases, fixtures, and test suites.

    Free Bonus: Python Security Checklist

    Get a Python Security Checklist (PDF) and keep secrets, passwords, encryption, HTTPS, input validation, and dependency audits on one printable page:

    Send My Python Security Checklist »

    Topics:

    • 00:00:00 – Security Note: Python certifi package and PHP updates
    • 00:00:37 – Introduction
    • 00:02:22 – Pikmin fans unite!
    • 00:02:51 – How did you get involved in security research?
    • 00:07:07 – Security Research is unique and the wider community
    • 00:13:35 – The influx of LLMs finding vulnerablities
    • 00:17:18 – The Python Security Response Team and PEP 811
    • 00:25:21 – Video Course Spotlight
    • 00:26:44 – Is the flood of vulnerabilities unlimited?
    • 00:29:15 – Security Track at PyCon US 2026
    • 00:31:03 – Does a security engineer need humility?
    • 00:33:25 – PEP770 Improving measurability of Python packages with Software Bill-of-Materials
    • 00:38:55 – Communication across other languages and package repositories
    • 00:41:41 – What’s it been like writing PEPs?
    • 00:44:32 – Defining the term Trusted Publisher
    • 00:47:27 – Differences between public and private vulnerabilities
    • 00:51:19 – Are you using LLMs in your work as a security researcher?
    • 00:52:56 – The fear/hype cycle of vulnerabilites and triaging reports
    • 00:58:35 – Do you have security advice for developers?
    • 01:03:12 – What are you excited about in the world of Python?
    • 01:06:14 – What do you want to learn next?
    • 01:08:08 – How can people follow your work online?
    • 01:09:58 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  4. Python Pitfalls: Common Mistakes and How to Avoid Them

    46 minÉpisode 315

    What are common mistakes that Python beginners make, and how do you avoid them? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. We dig into an …

    Notes de l’épisode

    What are common mistakes that Python beginners make, and how do you avoid them? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We dig into an article about common pitfalls and mistakes new Python developers make. Some of the mistakes are due to Python doing exactly what you asked it to do. We also talk about Real Python resources for getting started with the language and building your development environment.

    We also share other articles and projects from the Python community, including recent releases, a collection of new PEPs, and the results of two recent Python elections. We cover creating temporary files in Python, decoupling pure logic from Django’s ORM, a Python functions reference, a lightning-fast logger, and an online development environment for creating games.

    Course Spotlight: How to Use Python: Taking Your First Steps

    Take your first steps with Python. Install it, run your first program, and work with variables, data types, loops, functions, and errors.

    Live Course Spotlight: Python for Beginners: Code With Confidence

    Learn the fundamentals of Python step-by-step in a friendly, interactive cohort. Build confidence writing code and understand the “why” behind Python’s core concepts.

    Free Kit: Get the Python Beginner Starter Kit with a cheat sheet, a sample book chapter, a course, and a quiz. You only need a free Real Python account.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:05 – After a delay - Python 3.15.0 (final) is here!
    • 00:02:41 – Python 3.10.22, 3.11.17, 3.12.15, 3.13.16 and 3.14.8 are now available!
    • 00:03:30 – PEP 823 – None-aware access operators
    • 00:04:40 – PEP 845: Leading-Dot Value Patterns
    • 00:05:04 – PEP 846: Docstrings for Type Aliases
    • 00:05:21 – PEP 848: Generational Incremental Garbage Collection
    • 00:06:12 – 2026 PSF Board Election Results
    • 00:06:31 – 2026 Python Packaging Council Election Results!
    • 00:07:23 – 7 Python Mistakes Beginners Make
    • 00:18:03 – An Effective Python Development Environment
    • 00:21:37 – Creating Temporary Files in Python
    • 00:24:30 – Video Course Spotlight
    • 00:26:02 – 5 Design Patterns Used in My New Habit Tracker App
    • 00:33:43 – Functions: A Complete Reference
    • 00:36:50 – PYXEL STUDIO
    • 00:39:38 – pyfastlogging: A Lightning Fast Logger, Written in Rust
    • 00:41:54 – How Libraries Run Rust Inside Python (with PyO3)
    • 00:44:43 – Thanks and goodbye

    News:

    Show Links:

    • 7 Python Mistakes Beginners Make – Some mistakes are because Python did exactly what you asked it to do. This article covers seven of them. For each one, you get the hidden cause, plus the first thing worth checking.
    • An Effective Python Development Environment – Choose a Python development environment that helps you get coding. Find tutorials and courses on editors, uv, virtual environments, and useful tools.
    • Creating Temporary Files in Python – How to create temporary files and directories in Python using the tempfile module’s NamedTemporaryFile and TemporaryDirectory.
    • 5 Design Patterns Used in My New Habit Tracker App – Bob has built a Django + HTMX-based habit tracker. This article covers five small Python and design patterns used in his code.
    • Functions: A Complete Reference – This article is a complete reference for all things related to functions in Python, including structure, signatures, *args, **kwargs, using functions as objects, and more.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  5. Codemoo: Demonstrating How Coding Agents Work

    1 h 7 minÉpisode 314

    How do you assemble the core pieces of a coding agent? How are developers defining projects through conversation and introspection? This week on the show, Geir Arne Hjelle returns to talk about his recent …

    Notes de l’épisode

    How do you assemble the core pieces of a coding agent? How are developers defining projects through conversation and introspection? This week on the show, Geir Arne Hjelle returns to talk about his recent project to demonstrate how coding agents work under the hood.

    Geir Arne was my first guest on this program and has returned often over the years. He’s been exploring how coding agents work and has built a demonstration tool to explain them.

    We also discuss how he is using LLM tools in his work. We talk about moving beyond Spec-Driven Development to using tools that help you build architecture documents through thorough questioning sessions.

    Course Spotlight: Modern Python Linting With Ruff

    Ruff is a blazing-fast, modern Python linter with a simple interface that can replace Pylint, isort, and Black—and it’s rapidly becoming popular.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:52 – Codemoo - Demonstrating how coding agents work under the hood
    • 00:06:39 – Exploring Spec-Driven Development
    • 00:09:38 – Breaking into the levels of a harness
    • 00:17:08 – Tool calling
    • 00:24:20 – Being a newbie again
    • 00:29:00 – Designing the progression
    • 00:35:29 – Video Course Spotlight
    • 00:37:01 – What was difficult about the process?
    • 00:41:09 – What tools are you using currently?
    • 00:44:10 – Moving from OpenSpec toward grill-me
    • 00:50:43 – Deciding on which LLM
    • 00:53:49 – garuff: Opinionated Python linter rules for coding agents
    • 00:58:00 – Offsetting atrophy with code challenges
    • 01:01:56 – What are you excited about in the world of Python?
    • 01:04:01 – What do you want to learn next?
    • 01:05:55 – How can people follow your work online?
    • 01:06:23 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  6. Python 3.15: Exploring the New Features

    44 minÉpisode 313

    Python 3.15 is (almost*) here! Christopher Trudeau and Bartosz Zaczyński return to discuss the new version. Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the …

    Notes de l’épisode

    Python 3.15 is (almost*) here! Christopher Trudeau and Bartosz Zaczyński return to discuss the new version. Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the showcase tutorial, “Python 3.15: Cool New Features for You to Try.” Christopher’s video course “What’s New in Python 3.15” covers the topics from the article and shows the new features in action.

    Christopher and Bartosz dug into the release to create code examples of the new features for the tutorial and course. We cover the new built-in types, unpacking in comprehensions, and developer experience enhancements. We also look into the performance improvements, including lazy imports, the upgraded JIT compiler, and a new sampling profiler.

    We share our thoughts on the updates and offer advice about incorporating them into your projects. We also discuss when you should start running Python 3.15.

    Course Spotlight: What’s New in Python 3.15

    Explore the new features in Python 3.15, including lazy imports, frozendict, sentinel values, a sampling profiler, and a faster JIT.

    Topics:

    • 00:00:00 – Introduction
    • 00:00:02 – * NOTE: Python 3.15 release delayed!
    • 00:03:35 – Real Python 3.15 Preview Articles and Video Course
    • 00:04:40 – Sentinel Values
    • 00:08:55 – Lazy Imports
    • 00:14:48 – Unpacking in Comprehensions
    • 00:17:12 – Mathematical functions
    • 00:20:07 – Sampling Profiler
    • 00:27:43 – Video Course Spotlight
    • 00:29:18 – frozendict
    • 00:33:12 – The speed round of features
    • 00:36:04 – Continued work on free-threaded Python and upgrading the JIT
    • 00:39:34 – Upgrading to 3.15
    • 00:44:35 – Thanks and goodbye

    Show Links:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  7. Navigating AI in Open Source: Insights From Wagtail

    1 h 8 minÉpisode 312

    How should you manage AI contributions to an open-source project? How do you measure the impact of using AI tools for development, and what generative features do end users want from a content management …

    Notes de l’épisode

    How should you manage AI contributions to an open-source project? How do you measure the impact of using AI tools for development, and what generative features do end users want from a content management system? This week on the show, we speak with Thibaud Colas and Meagen Voss from Wagtail about the complex considerations software organizations are currently facing.

    Meagen is the Wagtail community manager, and Thibaud is a member of the core team. We discuss the impact of AI on a popular open-source project. We reference multiple articles they’ve written about managing these challenges.

    We dig into wrangling AI-assisted contributions to the project. They share how they research options for open-weight AI models and inference providers. We also discuss building AI features into the Wagtail CMS. Finally, we touch on the recent release of Wagtail 8.0.

    Course Spotlight: Using the Claude API in Python

    Learn how to use the Claude API in Python to send prompts, control responses with system instructions, and get structured output.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:49 – What is Wagtail?
    • 00:08:35 – Flood of AI submissions to open-source projects
    • 00:11:38 – Guidance for AI-led contributions
    • 00:20:43 – Security submissions
    • 00:21:56 – Ethical decisions about internal use of AI
    • 00:26:31 – Resurgence of web sites
    • 00:27:41 – Measuring benefits and performance
    • 00:32:49 – Models understanding your framework
    • 00:38:05 – Video Course Spotlight
    • 00:39:42 – Adding AI features to Wagtail for creators
    • 00:48:47 – Balancing the use of AI internally and the cost of inference
    • 00:55:29 – Advice for other open-source projects
    • 01:00:00 – Wagtail 8.0
    • 01:02:10 – What are you excited about in the world of Python?
    • 01:04:10 – What do you want to learn next?
    • 01:05:56 – How can people follow your work online?
    • 01:06:43 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  8. Django Developers Survey Results & Reproducible Python Builds

    47 minÉpisode 311

    What are the latest trends uncovered in the 2026 Django Developers Survey? How are Django users employing LLMs in their development process? Christopher Trudeau is back on the show this week with another batch …

    Notes de l’épisode

    What are the latest trends uncovered in the 2026 Django Developers Survey? How are Django users employing LLMs in their development process? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss a summary by Will Vincent about this year’s Django Developers Survey. The survey draws on responses from nearly 3,500 developers across more than 40 countries. It provides a look at how developers are adapting to AI workflows and which tools they’re embracing.

    We dig into a post from Brett Cannon about reproducible builds in Python. It covers the importance of creating an independently verifiable, repeatable build of CPython and other associated tools. The post explains why Python isn’t there yet and outlines the direction of the work still needed.

    We also share other articles and projects from the Python community, including recent releases, upcoming PSF elections, Polars vs SQL differences nobody is talking about, creating Django unsubscribe links without a Login, a library to make measurement units easier through Pydantic, and a tool to convert if-else code to match statements.

    This episode is sponsored by Six Feet Up.

    Video Course Spotlight: How to Get Started With Ollama

    Learn how to install Ollama, pull local models, and connect them to your Python code using the chat and text generation interfaces.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:46 – Python 3.15.0 candidate 2 is here!
    • 00:03:10 – Django 6.1.1 release notes
    • 00:03:20 – Wagtail 8.0 release notes
    • 00:04:27 – RISC-V Is Now Officially Supported by CPython
    • 00:05:19 – PEP 843: Export Statement for DRY Re-Exports
    • 00:06:27 – 2026 PSF Board Election Interviews
    • 00:07:07 – Up and Running with Rust Course
    • 00:07:56 – Guido Comment on PEP 805: Safe Parallel Python
    • 00:09:56 – The Polars vs SQL Differences Nobody Is Talking About
    • 00:16:55 – Sponsor: Six Feet Up
    • 00:17:50 – Unsubscribe Links Without a Login: Django Signing
    • 00:20:56 – What’s Missing to Have Reproducible Builds on PyPI
    • 00:27:09 – Video Course Spotlight
    • 00:28:44 – The Python Community’s Institutional Response to the Astral Acquisition Has Begun
    • 00:29:57 – The State of Django 2026: Boring Is So Back
    • 00:40:13 – matchify: Converts if-else Code to match Statements
    • 00:43:14 – pydantic-pint: Pydantic Pint Quantities
    • 00:45:16 – Thanks and goodbye - Submit topics to PyCoders Link

    News:

    Show Links:

    • The Polars vs SQL Differences Nobody Is Talking About – Some problems can be attacked with either SQL or Polars, but subtle differences in how the two mechanisms work can run you into trouble. Learn more about these potential gotchas.
    • Unsubscribe Links Without a Login: Django Signing – Django has a signing module that makes it easy to build an unsubscribe link that works with no login and no session: token = signing.dumps(recipient.pk, salt=UNSUBSCRIBE_SALT). The token itself is the credential, and it ships with Django out of the box.
    • What’s Missing to Have Reproducible Builds on PyPI – A reproducible build is a way of creating an independently verifiable, repeatable build of CPython and other associated tools. This post explains why Python isn’t there yet and why it is important.
    • The Python Community’s Institutional Response to the Astral Acquisition Has Begun – Brett Cannon posted on discuss.python.org (March 23): a PEP is coming, the python/prebuilt-cpython repo already exists, and the PSF has been building an official prebuilt relocatable CPython distribution since October 2025. Covers what’s actually being built, what it means for uv/ruff/python-build-standalone, and why the Astral upstream patches and PSF alternative aren’t in conflict.
    • The State of Django 2026: Boring Is So Back – A summary of this year’s State of Django report which draws on responses from nearly 3,500 developers across more than 40 countries: from students in their first year to veterans with decades of experience.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  9. Performance Engineering: Profiling and Making Apps Fast by Default

    1 h 17 minÉpisode 310

    How do you plan for the performance of your Python applications? What does a performance budget entail, and where should you spend your resources? This week on the show, we speak with Den Odell about his new …

    Notes de l’épisode

    How do you plan for the performance of your Python applications? What does a performance budget entail, and where should you spend your resources? This week on the show, we speak with Den Odell about his new book “Fast by Default: Practical Performance Engineering.”

    Den has 25 years of experience in building web systems for companies with hundreds of millions of users. Working on public-facing tools has honed his skills in understanding where performance is vital and in guiding decisions based on data from actual users.

    Den shares details of his performance framework that works across any platform or stack. We discuss the need for budgeting performance during the planning phase, measuring performance through consistent profiling, and keeping systems fast even as your codebase and user base grow.

    Course Spotlight: Profiling Performance in Python

    Learn to profile Python programs with built-in and popular third-party tools, and turn performance insights into faster code.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:39 – Modern systems run across multiple languages
    • 00:03:52 – What lead you toward performance engineering?
    • 00:12:54 – Frameworks and balancing performance against developer experience
    • 00:17:45 – Measuring performance and profiling
    • 00:24:28 – What is Fast by Default?
    • 00:36:34 – Video Course Spotlight
    • 00:38:16 – Breaking into the methodology
    • 00:42:10 – Performance budget
    • 00:48:27 – End user pain points
    • 00:51:21 – Microservices and monoliths
    • 00:54:01 – Performance questionnaire
    • 01:00:31 – What is easier about performance planning upfront?
    • 01:01:50 – Discoveries during the writing process
    • 01:07:01 – Do LLMs write performant code?
    • 01:12:37 – What are you excited about in the world of Python?
    • 01:13:41 – What do you want to learn next?
    • 01:15:02 – How can people follow your work online?
    • 01:15:43 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  10. Exploring Complex Systems & Maintainable Data Science Pipelines

    41 minÉpisode 309

    What are the key characteristics of complex systems, and what are practical patterns for tackling complex coding problems? Christopher Trudeau is back on the show this week with another batch of PyCoder’s …

    Notes de l’épisode

    What are the key characteristics of complex systems, and what are practical patterns for tackling complex coding problems? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    Christopher covers an article about working on complex systems. The piece explores the distinction between complicated and complex problems. Each requires a fundamentally different approach to solve.

    We dig into a couple of tutorials about creating repeatable data science pipelines. One covers validating DataFrames and tables with the pointblank library to build into a continuous integration workflow. The other explores how to use configuration files to build modular pipelines that avoid the pitfalls of hardcoded paths and parameters.

    We also share other articles and projects from the Python community, including recent releases, three Python Enhancement Proposals (PEPs), the difficulties with breaking up lines of text, a static site generator for marimo notebooks, and a static analyzer for malicious Python code.

    Course Spotlight: Sending Emails Using Python

    Learn how to send emails with Python using SMTP and smtplib, attach files, format HTML messages, and personalize bulk emails.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:24 – Python 3.12.14, 3.11.16 and 3.10.21 Released
    • 00:03:02 – Django Is Moving to an Annual Release Cycle
    • 00:04:17 – PEP 828: Supporting ‘Yield From’ in Asynchronous Generators
    • 00:04:56 – PEP 841: Adding Frozen Syntax to Optimize Immutable Types
    • 00:07:04 – PEP 844: public and private Builtins
    • 00:10:09 – Validating Data With Pointblank in Python
    • 00:18:22 – Working on Complex Systems: Patterns I Learned at Google
    • 00:22:14 – Video Course Spotlight
    • 00:23:58 – Hydra for Python Configuration: Build Modular and Maintainable Pipelines
    • 00:29:29 – Breaking Up (Lines) Is Hard to Do
    • 00:35:00 – marimo-book: Static Site Generator for marimo Notebooks
    • 00:38:06 – marimo-lsp: A language server and VS Code extension for marimo
    • 00:38:31 – hexora: Static analysis of malicious Python code
    • 00:40:01 – Thanks and goodbye

    News:

    Show Links:

    • Validating Data With Pointblank in Python – Learn how to validate data in Python with Pointblank: declare quality checks, split clean from failing rows, and rerun validation plans from YAML.
    • Working on Complex Systems: Patterns I Learned at Google – Explore the key characteristics of complex systems and learn practical patterns for tackling complex problems
    • The Coder Cafe - Teiva Harsanyi – The Coder Cafe introduces vital software engineering concepts that will upgrade your day-to-day practice, regardless of your skill level. Discount Code (CODERCAFE40) Expires November 21st 2026.
    • Hydra for Python Configuration: Build Modular and Maintainable Pipelines – Hardcoded paths and parameters can quickly drift out of sync across a data science project’s scripts. This article shows how to move them into Hydra configuration files, access values with dot notation, override settings from the command line, swap entire configuration groups, and run experiment sweeps with a single multi-run flag.
    • Breaking Up (Lines) Is Hard to Do – Here’s a seemingly simple question: given a chunk of multi-line text, how do you split it and return an array? Unicode makes everything harder than it might first seem.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  11. Navigating Silent Failures in AI: Strategies for Effective Oversight

    1 h 10 minÉpisode 308

    Why do AI systems silently fail? How can you set up a system that produces results while also reviewing and validating the work? This week on the show, Calvin Hendryx-Parker returns to discuss his recent talk …

    Notes de l’épisode

    Why do AI systems silently fail? How can you set up a system that produces results while also reviewing and validating the work? This week on the show, Calvin Hendryx-Parker returns to discuss his recent talk “Orchestrate Agentic AI: Context, Checklists, and No-Miss Reviews.”

    Calvin describes how silent failures can occur when handing a large document to an LLM for parsing. He describes it as the tragedy of context, where the LLM is confident, but you have no idea what it didn’t read. We discuss issues with file formats, dropped attachments, and silent truncation.

    Calvin shares the example project from his talk, which includes Markdown files for the agents, hooks, skills, and scripts. He also discusses a variety of coding agents, skill frameworks, and CLI tools.

    Course Spotlight: Coding With OpenCode: AI-Assisted Python

    Learn how to use OpenCode for AI-assisted Python coding, using a free Gemini API key to analyze and refactor code right in your terminal.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:19 – Co-hosting Python Bytes
    • 00:03:43 – Why AI Fails Silently talk
    • 00:11:07 – Digging into silent failures and an audit trail
    • 00:18:44 – How would you define hooks?
    • 00:20:48 – Document extraction, embeddings, and Cowork
    • 00:30:38 – Stripping the noise from file formats
    • 00:34:43 – Things that are now baked into models
    • 00:45:53 – Video Course Spotlight
    • 00:47:23 – Leveraging agents to pick models
    • 00:51:44 – GitHub repo for the project
    • 00:54:57 – The current market around tokens
    • 01:00:12 – What are you excited about in the world of Python?
    • 01:03:02 – What do you want to learn next?
    • 01:04:21 – The content the LLMs are trained on
    • 01:07:36 – Upcoming events
    • 01:08:38 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  12. Improving NumPy Performance on Free-Threaded Python

    46 minÉpisode 307

    What bottlenecks were preventing NumPy from scaling on free-threaded Python? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. Christopher shares a …

    Notes de l’épisode

    What bottlenecks were preventing NumPy from scaling on free-threaded Python? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    Christopher shares a recent article on the work done in NumPy to make multi-threaded workloads scale on the free-threaded build of CPython. It covers how removing the Global Interpreter Lock (GIL) is not enough on its own and how profiling revealed hidden bottlenecks in NumPy and CPython.

    We also share other articles and projects from the Python community, including recent releases, a pair of announcements from PyPI, a tool for crawling your Django project, SIMD in pure Python, managing wildcard imports, a publication-quality Python Data Visualization library, and a tool to review your Django schema.

    Spotlight: Modern Object-Oriented Python Book

    Master classes, Python’s data model, and object-oriented design with Modern Object-Oriented Python. The best of Real Python’s OOP tutorials, curated into one book and fully up to date for modern Python.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:26 – Python 3.15.0 candidate 1 is here!
    • 00:02:47 – Python 3.14.7 and 3.13.15 are now available!
    • 00:03:00 – Django 6.1 released
    • 00:03:39 – Planned Updates to the PyPI User Interface
    • 00:04:13 – PyPI Releases Now Reject New Files After 14 Days
    • 00:05:07 – PEP 837 – Extensible JSON serialization
    • 00:06:20 – PEP 842: Module Exports
    • 00:07:51 – Introducing django-crawl
    • 00:12:02 – SIMD in Pure Python
    • 00:18:29 – Managing Imports With Python’s __all__
    • 00:29:34 – Spotlight: Modern Object-Oriented Python Book
    • 00:30:53 – Scaling NumPy on Free-Threaded Python
    • 00:37:53 – cnsplots: Python Data Visualization for Complex Datasets
    • 00:42:19 – django-orm-lens: Django Schema Review
    • 00:45:14 – Thanks and goodbye

    News:

    Show Links:

    • Introducing django-crawl – During a recent site migration, Adam used the Django test harness to crawl his site looking for missing security headers. In the process he uncovered seven other bugs for a project that had 100% code coverage. He has consolidated the crawling technique for testing into a library: django-crawl.
    • SIMD in Pure Python – SIMD is Single Instruction, Multiple Data, an approach that does calculations with vectors of data sets. Python doesn’t support it natively, but libraries like NumPy allow you to code this way.
    • Thoughts on “SIMD in Pure Python” - purplesyringa’s blog
    • Managing Imports With Python’s __all__ – Learn how Python’s dunder all variable controls wildcard imports and shapes the public API your packages and modules expose.
    • Scaling NumPy on Free-Threaded Python – A recap on the work done in NumPy and CPython to make multi-threaded NumPy workloads scale on the free-threaded build of CPython.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  13. Programmatically Developing LLM Prompts With DSPy

    1 h 6 minÉpisode 306

    How can you move from manually writing prompts for an LLM application toward defining them programmatically? This week on the show, Brett Kennedy returns to discuss his new book “Building LLM Applications with …

    Notes de l’épisode

    How can you move from manually writing prompts for an LLM application toward defining them programmatically? This week on the show, Brett Kennedy returns to discuss his new book “Building LLM Applications with DSPy.”

    With large language models becoming embedded in production software, manual prompt engineering becomes brittle, time-consuming, and difficult to maintain. Brett shares how DSPy replaces manually writing and adjusting prompts with structured prompt programming.

    We dig into how DSPy uses declarative signatures to define inputs and outputs. We also discuss how developers programmatically compile, tune, and optimize prompts for specific LLM-based tasks within an application.

    Course Spotlight: Using LlamaIndex for RAG in Python

    Learn how to set up LlamaIndex, load your data, build and persist an index, and run queries to get grounded answers with RAG in Python.

    Topics:

    • 00:00:00 – Introduction
    • 00:01:50 – Working on a new book
    • 00:02:53 – Writing with a partner
    • 00:04:16 – Building LLM Applications with DSPy
    • 00:05:22 – What is DSPy?
    • 00:06:58 – Working with signatures and typing
    • 00:09:53 – Prompt engineering failing to work for a new model
    • 00:13:43 – What is an optimizer?
    • 00:19:04 – Moving toward a new level of abstraction in prompting
    • 00:23:19 – Prompts for the LLM within a consumer facing application
    • 00:28:26 – Video Course Spotlight
    • 00:30:21 – Example of using with RAG
    • 00:38:45 – Example of a business plan tool
    • 00:43:06 – The Bitter Lesson
    • 00:46:03 – Structure of the book
    • 00:49:55 – Advice on starting with DSPy
    • 00:54:15 – Example of a transformed prompt
    • 00:59:37 – What are you excited about in the world of Python?
    • 01:01:47 – What do you want to learn next?
    • 01:04:11 – What’s the best way to follow your work online?
    • 01:04:40 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  14. Should You Understand Your Entire Python Codebase?

    57 minÉpisode 305

    Should you understand the entirety of your codebase? How familiar are you with Python’s built-in functions? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and …

    Notes de l’épisode

    Should you understand the entirety of your codebase? How familiar are you with Python’s built-in functions? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss a recent article by Sean Goedecke titled “In Defense of Not Understanding Your Codebase.” We dig into the differences in the scale of software projects and the factors that can obscure understanding of an entire codebase. We cover how opinions and practices people often argue for are based on the development practices from decades ago.

    Christopher shares his recent video course that explores Python’s built-in functions. The course is divided into sections to help you find the right built-in for tasks involving math, data types, iterables, and I/O. We discuss which of these functions are frequently used in our code.

    We also share other articles and projects from the Python community, including recent releases, querying with f-expressions in Django, replacing if-else chains, a Rust-based replacement for Python’s json module, and a couple of Python cheat sheet resources.

    This episode is sponsored by HydraDB.

    Course Spotlight: Exploring Python’s Built-in Functions

    Learn Python’s built-in functions for math, data types, iterables, and I/O, and when to use each to write more Pythonic code.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:29 – Christopher’s Python News Song
    • 00:03:18 – Python 3.15.0 Beta 4 Released
    • 00:03:39 – PEP 838: Adding python-version to pyvenv.cfg
    • 00:04:59 – PEP 840: Name Resolution in Class Namespaces
    • 00:06:42 – Stop Using if-else Chains
    • 00:13:46 – Sponsor: HydraDB
    • 00:14:44 – Nifty Django Feature: F Expressions
    • 00:20:23 – In Defense of Not Understanding Your Codebase
    • 00:34:13 – Exploring Python’s Built-in Functions
    • 00:45:26 – Video Course Spotlight
    • 00:46:57 – Python strftime/strptime Directive Cheat Sheet
    • 00:50:22 – Itertools Cheatsheet
    • 00:52:59 – Introducing django-orjson
    • 00:55:33 – Thanks and goodbye

    News:

    Show Links:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  15. Configuring a Versatile LLM Harness & Scraping the Web With Scrapy

    58 minÉpisode 304

    Which is more important, the model or the “harness” around an LLM? What are ways to assemble an efficient agentic developer workflow? This week on the show, Ayan Pahwa joins us to discuss harnessing, web …

    Notes de l’épisode

    Which is more important, the model or the “harness” around an LLM? What are ways to assemble an efficient agentic developer workflow? This week on the show, Ayan Pahwa joins us to discuss harnessing, web scraping, and self-hosting Python applications.

    Ayan is a developer advocate at Zyte and an experienced project builder. We discuss a recent article he wrote about creating an extension for the web scraping tool Scrapy. He also digs into his self-hosting setup for Python applications and tools.

    Our discussion extends to the complexities of developing effective harnesses. Ayan shares his setup and how he navigated shifting from prompt engineering to context and loop engineering.

    This episode is sponsored by HydraDB.

    Course Spotlight: Introduction to Web Scraping With Python

    In this video course, you’ll learn all about web scraping in Python. You’ll see how to parse data from websites and interact with HTML forms using tools such as Beautiful Soup and MechanicalSoup.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:01 – Scrapy and building an extension
    • 00:08:46 – Zyte and the web scraping API
    • 00:11:19 – Sponsor: HydraDB
    • 00:12:22 – noalgotube project
    • 00:15:49 – Homelab & self hosting projects
    • 00:22:19 – What goes into a harness?
    • 00:32:33 – Where did you start exploring LLM tools?
    • 00:36:13 – Local models & edge computing
    • 00:39:31 – ExtractPod and discussing Apple’s AI
    • 00:43:35 – Video Course Spotlight
    • 00:44:54 – Managing token use and tools
    • 00:52:37 – What are you excited about in the world of Python?
    • 00:55:10 – What do you want to learn next?
    • 00:56:38 – What is the best way to follow your work online?
    • 00:56:58 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  16. Free-Threaded Python's History & uv in Production

    51 minÉpisode 303

    How many attempts have been made to remove Python’s Global Interpreter Lock (GIL)? How do they compare to the current approach? Christopher Trudeau is back on the show this week with another batch of PyCoder’s …

    Notes de l’épisode

    How many attempts have been made to remove Python’s Global Interpreter Lock (GIL)? How do they compare to the current approach? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    Christopher shares a recent article about Thomas Wouters’ talk at PyCon US 2026. The talk, titled “Free-threaded Python: past, present, and future,” covers the efforts to remove the GIL starting in 1996. He explains that threads are complex, but they allow multiple tasks to run concurrently within a single process and its address space.

    The GIL is how CPython implements threading. The GIL protects Python objects and their reference counts, which determine the current objects in use. The talk also looks forward and shares the current work to remove the GIL, now named free-threaded Python, and the goals for the near future.

    We also share other articles and projects from the Python community, including community announcements, a roundup of recent Real Python tutorials and video courses, using uv in Production, employing Wagtail as Django admin on steroids, managing and measuring Python code quality, a pure-Python implementation of jq, and a project to bring interactivity to plotnine.

    This episode is sponsored by AURI by Endor Labs

    Course Spotlight: Thread Safety in Python: Locks and Other Techniques

    In this video course, you’ll learn about the issues that can occur when your code is run in a multithreaded environment. Then you’ll explore the various synchronization primitives available in Python’s threading module, such as locks, which help you make your code safe.

    Topics:

    • 00:00:00 – Introduction
    • 00:03:08 – PEP 836: JIT Go Brrr: The Path to a Supported JIT Compiler for CPython
    • 00:04:34 – PyCon US 2026 Videos Are Up
    • 00:04:53 – Thinking About Running for the PSF Board? Let’s Talk!
    • 00:05:30 – How to Get Started With the GitHub Copilot CLI
    • 00:06:27 – Python 3.15 Preview: Upgraded JIT Compiler
    • 00:07:23 – Testing MCP Servers With a Python MCP Client
    • 00:08:10 – How to Use GitHub
    • 00:08:50 – Why I Wrote PEP 832: Virtual Environment Discovery
    • 00:09:46 – Free-Threaded Python: Past, Present, and Future
    • 00:16:51 – Sponsor: AURI by EndorLabs
    • 00:17:38 – uv in Production: The Speed Is Real, the Integration Isn’t Free
    • 00:26:18 – Wagtail as Django Admin on Steroids
    • 00:29:52 – Video Course Spotlight
    • 00:31:11 – Managing and Measuring Python Code Quality
    • 00:43:10 – purejq: A Pure-Python Implementation of jq
    • 00:46:41 – ninejs: Bringing ✨interactivity✨ to plotnine
    • 00:49:15 – Thanks and goodbye

    News:

    Real Python News:

    Show Links:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  17. Constructing and Judging Modern Agentic Workflows

    59 minÉpisode 302

    How can you improve your LLM agent systems through specification enrichment? What are the advantages of having an LLM act as a judge within an agent system? This week on the show, Senior IEEE Member and Quality …

    Notes de l’épisode

    How can you improve your LLM agent systems through specification enrichment? What are the advantages of having an LLM act as a judge within an agent system? This week on the show, Senior IEEE Member and Quality Engineer Suneet Malhotra joins us to discuss building and evaluating agentic architecture.

    Suneet Malhotra is an independent practitioner-researcher with 18 years of experience in Quality Engineering (QE) and test automation for consumer-scale platforms. He discusses building specification-enrichment loops, monitoring performance, and using Cohen’s kappa to measure agreement between LLM judgments.

    Suneet is currently publishing multiple papers that are under peer review on these topics. He also provides links to his work and GitHub projects if you want to experiment with these concepts and methods yourself.

    Quick Survey: Get more out of the podcast show notes

    Video Course Spotlight: Testing MCP Servers With a Python MCP Client

    Learn how to build a Python MCP client that tests MCP servers from your terminal. List their tools, prompts, and resources, then call each one.

    Topics:

    • 00:00:00 – Introduction
    • 00:00:56 – Survey: RP Podcast show notes
    • 00:02:11 – How did you get into testing?
    • 00:05:04 – Has working for large public-facing corporations changed how you approach testing?
    • 00:07:06 – Writing a paper on LLM-as-Judge
    • 00:09:22 – Looking across the Software Development Lifecycle
    • 00:14:46 – Agentic AI: theater vs methodology
    • 00:17:23 – Specification enrichment
    • 00:27:52 – Video Course Spotlight
    • 00:29:18 – Saving the specifications
    • 00:31:27 – Using the LLM as a judge & Cohen’s kappa
    • 00:39:31 – How can people try out the project?
    • 00:43:35 – What are some of the failure modes you’ve seen?
    • 00:50:26 – What’s an inexpensive way to try these ideas out?
    • 00:54:04 – What are you excited about in the world of Python?
    • 00:56:14 – What do you want to learn next?
    • 00:57:14 – How can people follow your work online?
    • 00:57:32 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  18. Running Python Locally in a Sandbox

    46 minÉpisode 301

    How do you avoid the risk of running a Python application locally that could be malicious, break your code, or leak private data? How can you create a sandboxed local environment using WASM and MicroPython? …

    Notes de l’épisode

    How do you avoid the risk of running a Python application locally that could be malicious, break your code, or leak private data? How can you create a sandboxed local environment using WASM and MicroPython? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We cover a recent article by previous guest Simon Willison titled “Running Python code in a sandbox with MicroPython and WASM.” Simon has been experimenting for years on how to run Python code in a sandbox to reduce the risk of trying out new software, untrusted libraries, and wild ideas. He’s developed a solution using WASM and MicroPython and is sharing it as an alpha package on PyPI.

    We also share other articles and projects from the Python community, including new releases, community announcements, a roundup of recent Real Python tutorials and video courses, a plugin case study using Pluggy, a look at whether you’re expected to run five type-checkers now, wrapping programs using the subprocess module, a project for star charts and maps, and a tool for trend detection in Python.

    This episode is sponsored by DataDriven.

    Spotlight: Codex for Python Developers: Hands-On Agentic Coding Course

    Most Python developers use AI as fancy autocomplete. This 2-day live course teaches you to build entire projects with Codex, an AI agent that works inside your codebase.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:48 – PSF Board Election Dates for 2026
    • 00:03:28 – Python 3.15.0 beta 3 is here!
    • 00:03:58 – PEP 835: Shorthand Syntax for Annotated Type Metadata
    • 00:05:13 – Announcing the Search for a DSF Executive Director
    • 00:05:53 – Django 6.1 beta 1 released
    • 00:06:24 – PyData London 26 Videos Released
    • 00:06:50 – Implementing Interfaces in Python: ABCs and Protocols
    • 00:07:36 – Building Python Skills for the Job Market
    • 00:08:21 – Context Engineering for Python Codebases
    • 00:09:14 – Python for Data Analysis: A Practical Guide
    • 00:09:47 – Using LlamaIndex for RAG in Python
    • 00:10:07 – Django Tasks: Exploring the Built-in Tasks Framework
    • 00:10:59 – Plugins Case Study: Pluggy
    • 00:15:10 – Sponsor: DataDriven
    • 00:15:57 – Pyodide 314.0 Release
    • 00:18:54 – Python in a Sandbox With MicroPython and WASM
    • 00:22:35 – The subprocess Module: Wrapping Programs With Python
    • 00:30:08 – Spotlight: Codex for Python Developers
    • 00:31:51 – Are You Expected to Run 5 Type-Checkers Now?
    • 00:39:41 – starplot: ✨ Star charts and maps in Python
    • 00:42:01 – marimo-tutorials: Collection of Marimo Tutorials
    • 00:42:48 – pytrendy: Trend Detection in Python
    • 00:44:35 – Thanks and goodbye

    News:

    Real Python News:

    Topics:

    • Plugins Case Study: Pluggy – Pluggy is an open source plugin system used by frameworks such as pytest and tox. This article introduces you to how it works and what you can do with it.
    • Pyodide 314.0 Release – This post announces the Pyodide 314.0 release and describes its features, including a focus on standardization and packaging. You can now build Pyodide wheels and post them to PyPI.
    • Python in a Sandbox With MicroPython and WASM – Simon’s been in search of the perfect code sandbox. This article is about his latest attempt and covers why he wants a sandbox and what tech he’s used to achieve it.
    • The subprocess Module: Wrapping Programs With Python – Python’s subprocess module allows you to run shell commands and manage external processes directly from your Python code. By using subprocess, you can execute shell commands like ls or dir, launch applications, and handle both input and output streams.
    • Are You Expected to Run 5 Type-Checkers Now? – Library maintainers may feel overwhelmed by the plurality of type checkers that exist. We offer some guidance on how to focus their efforts where they matter most.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  19. Maintaining Your Python Developer Instincts While Using LLM Tools

    47 minÉpisode 300

    Do you feel like your Python skills are atrophying after using LLM coding tools? How do you add the right kind of friction into your coding routine to keep your developer instincts sharp? Christopher Trudeau is …

    Notes de l’épisode

    Do you feel like your Python skills are atrophying after using LLM coding tools? How do you add the right kind of friction into your coding routine to keep your developer instincts sharp? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss a recent article by previous guest Bob Belderbos about developers keeping their instincts when AI is writing the code. He stresses the importance of the right kind of friction for maintaining skills and scheduling a deliberate coding practice routine.

    We also share other articles and projects from the Python community, including new releases, a roundup of recent Real Python tutorials and video courses, sending emails with Python, libraries to enhance your Python Polars workflows, exploring Django Integrity-Policy, a next-generation HTTP client for Python, and a project to detect lazy imports incompatibilities.

    This episode is sponsored by AURI by Endor Labs

    Course Spotlight: Accessing Multiple AI Models With the OpenRouter API

    Access models from popular AI providers in Python through OpenRouter’s unified API with smart routing, fallbacks, and cost controls.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:53 – Python 3.14.6, 3.13.14, and 3.15.0b2 Released
    • 00:03:20 – Django Security Releases Issued: 6.0.6 and 5.2.15
    • 00:03:35 – PyPy v7.3.23 Released
    • 00:04:25 – Python sleep(): How to Add Time Delays to Your Code
    • 00:04:59 – Structuring Your Python Script
    • 00:05:36 – How to Use GitHub Copilot Code Review in Pull Requests
    • 00:06:13 – Accessing Multiple AI Models With the OpenRouter API
    • 00:07:25 – Cursor vs Windsurf: Which AI Code Editor Is Best for Python?
    • 00:08:28 – Sending Emails With Python
    • 00:16:31 – Sponsor:AURI from Endor Labs
    • 00:17:17 – Announcing Polars 1.41
    • 00:19:43 – Libraries for Your Python Polars Workflows
    • 00:23:42 – Django: Introducing Django-Integrity-Policy
    • 00:28:39 – Video Course Spotlight
    • 00:30:21 – Keep Your Developer Instincts When AI Writes the Code
    • 00:39:58 – Lifeguard: Detect Lazy Imports Incompatibilities
    • 00:42:46 – httpx2: A Next Generation HTTP Client for Python
    • 00:45:34 – Thanks and goodbye

    News:

    Real Python News:

    Show Links:

    • Sending Emails With Python – Learn how to send emails with Python using SMTP, attach files, format HTML messages, and personalize bulk emails for your contact list.
    • Announcing Polars 1.41 – Polars 1.41 is out and this post covers the new features it includes. Learn about faster parquet metadata decoding, nested subplan elimination, and more.
    • Libraries for Your Python Polars Workflows – Four excellent libraries for your data science workflow with support for Polars DataFrames
    • Django: Introducing Django-Integrity-Policy – Recently, browsers have added support for the new Integrity-Policy response header (Firefox 145+, Chrome 138+). Adam quickly went to work to build a library that enables your Django project to take advantage of the feature.
    • How to Keep Your Developer Instincts When AI Writes the Code – The promise was less friction. The cost, it turns out, is instinct, a high price to pay. Bob’s answer: add deliberate practice to your routine, and keep the struggle.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  20. EuroPython 2026: Celebrating 25 Years

    40 minÉpisode 299

    What’s happening at EuroPython 2026? The conference celebrates its 25th anniversary this year in Kraków, Poland. This week on the show, organizers Mia Bajić and Daria Linhart Grudzien join me to discuss this …

    Notes de l’épisode

    What’s happening at EuroPython 2026? The conference celebrates its 25th anniversary this year in Kraków, Poland. This week on the show, organizers Mia Bajić and Daria Linhart Grudzien join me to discuss this year’s conference.

    Mia serves as the Vice Chair of the EuroPython Society, and Daria leads the EuroPython communications team. We dig into the details of the conference, including the wide variety of tracks, the reasoning for selecting the location, and the additional activities surrounding the event.

    We talk about volunteering, organizing, and continuing support for conferences. Mia and Daria also share the talks they’re excited to check out and how they use Python currently.

    Course Spotlight: Building Command Line Interfaces With argparse

    In this step-by-step Python video course, you’ll learn how to take your command line Python scripts to the next level by adding a convenient command line interface that you can write with argparse.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:27 – EuroPython 2026 details
    • 00:05:02 – Daria and Mia’s roles with the conference
    • 00:09:08 – Practices to continue growing a conference
    • 00:13:16 – What makes EuroPython different?
    • 00:18:40 – Video Course Spotlight
    • 00:20:17 – Wide variety of tracks, talks, and topics
    • 00:28:54 – How are you using Python currently?
    • 00:32:38 – What are you excited about in the world of Python?
    • 00:35:12 – What do you want to learn next?
    • 00:37:30 – How can people follow the work you do online?
    • 00:39:06 – Thanks and goodbye

    Show Links:

    Mia Links:

    Daria Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  21. Reducing the Size of Python Docker Containers

    39 minÉpisode 298

    How can you easily reduce the size of a Python Docker container? What are the exceptions you should catch in your code? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly …

    Notes de l’épisode

    How can you easily reduce the size of a Python Docker container? What are the exceptions you should catch in your code? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We cover a tutorial by Khuyen Tran at CodeCut about shrinking the size of a Python Docker container. The piece explores SlimToolKit, which analyzes a container at runtime, identifies what files are used, and then builds a minimal image with only those dependencies.

    We dig into a recent piece by Trey Hunner about Python exceptions. When trying to determine a strategy to handle potential errors, which exceptions should you catch and which should you leave unhandled?

    We also share other articles and projects from the Python community, including recent releases, two PEPs that have been deferred to 3.16, a critical vulnerability in an open-source ASGI framework, resolving a lazy import manually, a project to anonymize sensitive PII data, and a tool for loading Django settings from a TOML file.

    This episode is sponsored by AURI by Endor Labs.

    Course Spotlight: Raising and Handling Python Exceptions

    In this course, you’ll learn what an exception is and how it differs from a syntax error. You’ll learn about raising exceptions, making assertions, and catching exceptions to change the control flow of your program using the try, except, else, and finally keywords.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:32 – Django 6.1 Alpha 1 Released
    • 00:03:07 – Nuitka Python Compiler Release 4.1
    • 00:04:00 – PEP 813: The Pretty Print Protocol (Deferred to 3.16)
    • 00:04:28 – PEP 830: Add Timestamps to Exceptions and Tracebacks
    • 00:04:50 – Millions of AI agents imperiled by critical vulnerability in open source package
    • 00:07:27 – What Types of Exceptions Should You Catch?
    • 00:13:28 – Sponsor: AURI from Endor Labs
    • 00:14:18 – PyCon US 2026 Packaging Summit Recap
    • 00:18:39 – Slim Down Python Docker Containers
    • 00:24:17 – Video Course Spotlight
    • 00:25:45 – Resolve a Lazy Import Manually
    • 00:28:04 – presidio: Detect, Redact, & Anonymize Sensitive Data (PII)
    • 00:32:37 – dj-toml-settings: Load Django settings from a TOML file
    • 00:37:14 – Thanks and goodbye

    News:

    Show Links:

    • What Types of Exceptions Should You Catch? – The trickiest programming bugs are often caused by catching exceptions that you didn’t mean to catch or handling exceptions in ways that obfuscate the actual error that’s occurring. Which exceptions should you catch and which should you leave unhandled?
    • PyCon US 2026 Packaging Summit Recap – Per-talk notes from the PyCon US 2026 Packaging Summit, including: Emma Smith on Wheel 2.0 and Zstandard compression, Mike Fiedler on PyPI abuse vectors, Mahe Iram Khan on ecosystems, lightning talks on PEP 772, mobile wheels, AI accelerator variants, and the roundtable discussions.
    • Slim Down Python Docker Containers – Learn how SlimToolKit can reduce a Python Docker image by analyzing what your app actually uses at runtime. This tutorial walks through slimming a Chainlit LLM chatbot image, shows where container bloat comes from, and explains how to avoid breaking lazily loaded Python frameworks.
    • Resolve a Lazy Import Manually – Learn how to work around the Python 3.15 machinery to resolve an explicit lazy import manually.
    • TIL #141 – Inspect a lazy import - mathspp

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  22. Improving Python Through PEPs and Protocols

    1 h 20 minÉpisode 297

    Have you ever been confused by the naming of modules you’re importing from a package? Is there a standard way to organize and name your Python virtual environments? This week on the show, Brett Cannon returns …

    Notes de l’épisode

    Have you ever been confused by the naming of modules you’re importing from a package? Is there a standard way to organize and name your Python virtual environments? This week on the show, Brett Cannon returns to discuss the Python Enhancement Proposals (PEPs) he’s been working on recently.

    We start with PEP 794, which extends the metadata fields for Python packages to specify the import names a project provides. The metadata will help developers identify the correct project to install when they know the import name or the importable module names a project provides once installed.

    We dive back into WebAssembly to discuss PEP 816, which specifies the WASI support in CPython releases. We also wade into the controversy around PEP 832, which proposes standards around naming and the discovery of virtual environments.

    Brett shares his motivation for being a prolific author and supporter of PEPs. We discuss his promotion of standards and protocols to simplify the Python ecosystem for current and future developers.

    Course Spotlight: Tapping Into the Zen of Python

    Explore the Zen of Python and its 19 guiding principles for writing readable, practical code. Learn its history, jokes, and meaning.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:01 – Prolific PEP creation
    • 00:03:37 – Improving the future of Python through standards
    • 00:09:30 – PEP 794 - Import Name Metadata
    • 00:30:12 – PEP 816 - WASI (WebAssembly System Interface) Support
    • 00:40:55 – Why the interest in WASI?
    • 00:45:23 – Video Course Spotlight
    • 00:47:07 – PEP 832 - Virtual Environment Discovery
    • 01:10:02 – Type Server Protocol
    • 01:17:41 – How can people follow your work online?
    • 01:19:12 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  23. Managing Polars Schema Issues & Profiling GitHub Users

    42 minÉpisode 296

    How can you avoid schema problems in your Polars data pipeline when adding new columns? How can you quickly examine a GitHub user’s profile to decide how much to invest in their contributions? Christopher …

    Notes de l’épisode

    How can you avoid schema problems in your Polars data pipeline when adding new columns? How can you quickly examine a GitHub user’s profile to decide how much to invest in their contributions? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    Christopher shares a recent article about handling schema issues in Python Polars. The piece covers ways that a schema change can break your data pipeline. It provides strategies to avoid and resolve issues.

    We cover a recent project from previous guest Eric Matthes to investigate GitHub profiles of a potential contributor. With the rise of AI-slop pull requests, the tool can provide valuable background on the user.

    We also share other articles and projects from the Python community, including recent releases, exploring four different “get” special methods, what’s new in Pip 26.1, inverse Sapir-Whorf and programming languages, and a Python scripting framework for CAD.

    This episode is sponsored by Six Feet Up.

    Course Spotlight: Working With Python Polars

    Welcome to the world of Polars, a powerful DataFrame library for Python. In this video course, you’ll get a hands-on introduction to Polars’ core features and see why this library is catching so much buzz.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:51 – Python 3.14.5 is out!
    • 00:03:16 – Python 3.15.0 beta 1 is here!
    • 00:03:34 – PyPy v7.3.22 Released
    • 00:03:45 – Django Security Releases: 6.0.5 and 5.2.14
    • 00:04:04 – 2026 Django Developers Survey
    • 00:04:24 – PEP 797: Shared Object Proxies (Deferred to 3.16)
    • 00:04:40 – PEP 828: Supporting ‘Yield From’ in Asynchronous Generators
    • 00:05:59 – Do You Get It Now?
    • 00:11:54 – Sponsor: Six Feet Up
    • 00:12:47 – Handling Schema Issues in Polars
    • 00:17:10 – What’s New in Pip 26.1
    • 00:24:27 – Video Course Spotlight
    • 00:25:39 – Inverse Sapir-Whorf and Programming Languages
    • 00:34:04 – cadquery: CAD Scripting Framework
    • 00:38:16 – gh-profiler: Examine a GH user’s profile
    • 00:40:46 – Thanks and goodbye

    News:

    Topics:

    • Do You Get It Now? – Learn about Python’s .__getitem__(), .__getattr__(), .__getattribute__(), and .__get__(): how they’re different and where to use them.
    • Handling Schema Issues in Polars – You’ve got this great data pipeline going until one day it stops working. A schema error caused by a column upstream has stopped you in your tracks. This post talks about the four different causes of schema errors and what to do about them.
    • What’s New in Pip 26.1 – pip 26.1 adds support for dependency cooldowns, experimental support for reading/installing from standard lockfiles (pylock.toml), fixes several long-standing limitations of the 2020 resolver, and drops support for Python 3.9.
    • Inverse Sapir-Whorf and Programming Languages – The Sapir-Whorf hypothesis is the idea that the languages you speak influence the thoughts you can have. The inverse is the idea that your language limits what you can’t say. When applied to programming, this has subtle results determining core ideas like execution order.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  24. Agentic Architecture: Why Files Aren't Always Enough

    1 h 24 minÉpisode 295

    What are the limitations of using a file-based agent workflow? Why do massive context windows tend to collapse? This week on the show, Mikiko Bazeley from MongoDB joins us to discuss agentic architecture and …

    Notes de l’épisode

    What are the limitations of using a file-based agent workflow? Why do massive context windows tend to collapse? This week on the show, Mikiko Bazeley from MongoDB joins us to discuss agentic architecture and context engineering.

    Mikiko is an applied AI engineer. She helps developers and organizations build AI and ML applications using MongoDB. We dig into the debate of files versus a database. What are some of the limitations of building an agent with just a folder of files?

    We explore the surprising limitations of massive context windows and strategies for fixing them. Mikiko also shares advice and resources to help you get up to speed on building your own agent skills. Our conversation touches on multiple topics in the current development landscape.

    This episode is sponsored by SerpApi.

    Video Course Spotlight: Building Type-Safe LLM Agents With Pydantic AI

    Build type-safe LLM agents in Python with Pydantic AI using structured outputs, function calling, and dependency injection.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:31 – Catching up with MongoDB
    • 00:07:02 – Are the files all you need?
    • 00:15:14 – What is a workflow agent?
    • 00:24:43 – Sponsor: SerpApi
    • 00:25:45 – Model vs harness
    • 00:29:57 – Context rot and tool loadouts
    • 00:41:07 – Sharing state and coordination of agents
    • 00:47:27 – Video Course Spotlight
    • 00:49:16 – What do dataflows look like
    • 01:00:38 – The human-in-the-loop & coding agents
    • 01:10:30 – Resources to explore
    • 01:17:49 – What are you excited about in the world of Python?
    • 01:18:38 – What do you want to learn next?
    • 01:22:54 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  25. Declarative Charts in Python & Discerning Iterators vs Iterables

    56 minÉpisode 294

    What if you could build charts in Python by describing what your data means, instead of scripting every visual detail? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly …

    Notes de l’épisode

    What if you could build charts in Python by describing what your data means, instead of scripting every visual detail? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We cover a recent Real Python article about the data visualization library Altair. Most tools require you to write detailed boilerplate code to set up the axis and figure. Altair follows a declarative approach where you specify which columns go to which axis, the type of chart or plot, and what should be interactive.

    We also share other articles and projects from the Python community, including recent releases, clarifying the differences between iterators and iterables, decoupling your business logic from the Django ORM, comparing an LLM-based tool for web scraping against Playwright, a neural network emulator for guitar amplifiers, and a CLI tool to generate ASCII art of the current moon phase.

    This episode is sponsored by Build Your Own Coding Agent.

    Video Course Spotlight: Use Codex CLI to Enhance Your Python Projects

    Learn how to use Codex CLI to add features to Python projects directly from your terminal, without needing a browser or IDE plugins.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:38 – Read the Docs Now Supports uv Natively
    • 00:03:09 – Reverting the Incremental GC in Python 3.14 and 3.15
    • 00:04:51 – Altair: Declarative Charts With Python
    • 00:12:23 – Sponsor: Build Your Own Coding Agent
    • 00:13:17 – Decoupling Your Business Logic From the Django ORM
    • 00:19:51 – browser-use vs. Playwright: Which to Pick for Web Scraping?
    • 00:26:58 – 2048: iterators and iterables - Ned Batchelder
    • 00:31:31 – Video Course Spotlight
    • 00:33:00 – Discussion: Jumping back into solo developer mode
    • 00:46:59 – neural-amp-modeler: Neural network emulator for guitar amplifiers
    • 00:51:48 – ascii-moon-phase-python: CLI for ASCII art of the current moon phase
    • 00:53:11 – Thanks and goodbye
    • 00:54:43 – Appendix: Neural Amp Modeler - Demo

    News:

    Show Links:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  26. Agentic Data Science Pair Programming With marimo pair

    1 h 4 minÉpisode 293

    How do you add agent skills to your data science workflow? How can a coding agent assist with data wrangling and research? This week on the show, Trevor Manz from marimo joins us to discuss marimo pair. Trevor …

    Notes de l’épisode

    How do you add agent skills to your data science workflow? How can a coding agent assist with data wrangling and research? This week on the show, Trevor Manz from marimo joins us to discuss marimo pair.

    Trevor is a founding engineer at marimo, where he’s been working on integrating LLM tools with marimo. We discuss the balancing act of building a skill and determining how to give an agent access to all the variables in a notebook. He shares how they built a specialized reactive REPL that eliminates hidden state and allows the agent to continue constructing a reproducible Python program.

    We dig into installing and getting started with marimo pair. Trevor also covers several of the tasks an agent can tackle in a data science workflow.

    Video Course Spotlight: Getting Started With marimo Notebooks

    Discover how marimo notebook simplifies coding with reactive updates, UI elements, and sandboxing for safe, sharable notebooks.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:26 – Trevor’s role at marimo
    • 00:03:08 – Current AI tools in marimo
    • 00:06:26 – Describing marimo notebooks
    • 00:10:11 – What is marimo pair?
    • 00:18:49 – Building an agent skill
    • 00:27:34 – Setup & installation
    • 00:31:16 – Video Course Spotlight
    • 00:32:42 – Examples of EDA and data wrangling
    • 00:45:46 – Experimenting inside of a notebook
    • 00:50:40 – Managing context
    • 00:53:25 – Accessing additional libraries
    • 00:57:16 – Recent tools and updates from the marimo community
    • 00:59:31 – What are you excited about in the world of Python?
    • 01:01:10 – What do you want to learn next?
    • 01:02:26 – How can people follow your work online?
    • 01:03:13 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  27. Becoming a Better Python Developer Through Learning Rust

    46 minÉpisode 292

    How can learning Rust help make you a better Python Developer? How do techniques required by a compiled language translate to improving your Python code? Christopher Trudeau is back on the show this week with …

    Notes de l’épisode

    How can learning Rust help make you a better Python Developer? How do techniques required by a compiled language translate to improving your Python code? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss a recent article by Bob Belderbos titled “Learning Rust Made Me a Better Python Developer.” Bob has been on a journey learning to program in Rust, which has made him rethink how he’s been writing Python. The compiler forced him to confront things he’d been ignoring.

    We also share other articles and projects from the Python community, including recent releases, a boatload of PEPs, NumPy as a synth engine, firing and forgetting with Python’s asyncio, managing state with signals in Python, a documentation site generator for Python packages, and a tool to explain your Python environment.

    This episode is sponsored by AgentField.

    Video Course Spotlight: Using Loguru to Simplify Python Logging

    Learn how to use Loguru for simpler Python logging, from zero-config setup and custom formats to file rotation, retention, and adding context.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:23 – Python 3.15.0a8, 3.14.4 and 3.13.13 Released
    • 00:03:01 – Django Security Releases: 6.0.4, 5.2.13, and 4.2.30
    • 00:03:38 – DjangoCon Europe 2027 Call for Organizers
    • 00:04:04 – PEP 803: "abi3t": Stable ABI for Free-Threaded Builds
    • 00:04:44 – PEP 829: Structured Startup Configuration via .site.toml File
    • 00:05:18 – PEP 830 – Add timestamps to exceptions and tracebacks
    • 00:05:44 – PEP 831 – Frame Pointers Everywhere: Enabling System-Level Observability for Python
    • 00:06:59 – PEP 832 – Virtual environment discovery
    • 00:10:13 – PyCoder’s Weekly - Submit a Link
    • 00:11:15 – NumPy as Synth Engine
    • 00:21:04 – Sponsor: AgentField
    • 00:22:05 – Fire and Forget at Textual
    • 00:25:39 – Learning Rust Made Me a Better Python Developer
    • 00:34:06 – Video Course Spotlight
    • 00:35:49 – Signals: State Management for Python Developers
    • 00:40:34 – great-docs: Documentation Site Generator for Python Package
    • 00:42:32 – pywho: Explain Your Python Environment and Detect Shadows
    • 00:44:01 – Thanks and goodbye

    News:

    Show Links:

    • NumPy as Synth Engine – Kenneth has “recorded” a song in a Python script. The catch? No sampling, no recording, no pre-recorded sound. Everything was done through generating wave functions in NumPy. Learn how to become a mathematical musician.
    • Fire and Forget at Textual – In this follow up to a previous article (Fire and forget (or never) with Python’s asyncio, Michael discusses a similar article by Will McGugan as it relates to Textual. He found the problematic pattern in over 500K GitHub files.
    • Learning Rust Made Me a Better Python Developer – Bob thinks that learning Rust made him a better Python developer. Not because Rust is better, but because it made him think differently about how he has been writing Python. The compiler forced him to confront things he’d been ignoring.
    • Signals: State Management for Python Developers – If you’ve ever debugged why your cache didn’t invalidate or notifications stopped firing after a “simple” state change, this guide is for you. Signals are becoming a JavaScript standard, but Python developers can use the same patterns to eliminate “forgot to update that thing” bugs.

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  28. Reassessing the LLM Landscape & Summoning Ghosts

    1 h 15 minÉpisode 291

    What are the current techniques being employed to improve the performance of LLM-based systems? How is the industry shifting from post-training towards context engineering and multi-agent orchestration? This …

    Notes de l’épisode

    What are the current techniques being employed to improve the performance of LLM-based systems? How is the industry shifting from post-training towards context engineering and multi-agent orchestration? This week on the show, Jodie Burchell, data scientist and Python Advocacy Team Lead at JetBrains, returns to discuss the current AI coding landscape.

    In our last conversation, Jodie covered how LLMs were approaching the limits of scaling laws. This time, we recap last year’s big focus on reasoning models and a post-training method called “reinforcement learning from verifiable rewards” (RLVR). We also cover test-time compute, where models spend more time reasoning through steps and considering multiple approaches to solve a problem.

    We touch on Agent Context Protocol (ACP), agent orchestration layers, and context engineering. We also share some concerns about the hype cycle, maintaining all that code being generated, and running local models.

    Course Spotlight: Vector Databases and Embeddings With ChromaDB

    Learn how to use ChromaDB, an open-source vector database, to store embeddings and give context to large language models in Python.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:02 – Build a Language-Learning Agent course
    • 00:02:55 – Update on the past six months of LLMs
    • 00:05:32 – Reinforcement Learning From Verifiable Rewards
    • 00:07:32 – Test Time Compute
    • 00:08:36 – 2025 and the rise of agents
    • 00:14:24 – Benchmarks shifting
    • 00:15:23 – Andrew Karpathy and jagged intelligence
    • 00:19:16 – Not evolving or growing animals but summoning ghosts
    • 00:23:34 – Diminishing gains in newer models
    • 00:24:23 – Context Engineering
    • 00:35:01 – Multi-agent systems and diversity of models
    • 00:36:56 – Video Course Spotlight
    • 00:38:34 – Current generation of coding agents
    • 00:44:00 – Fast vs deep reasoning
    • 00:45:18 – Agent Context Protocol
    • 00:50:19 – Working through the hype cycle
    • 00:55:43 – Open-source contribution pollution
    • 00:57:21 – Local models
    • 00:58:36 – Rick Beato comparing how the music industry failed
    • 01:08:41 – LLMs are an amazing development
    • 01:11:33 – Keynote talk on AI summers and winters
    • 01:12:45 – PyCon US and EuroPython
    • 01:14:11 – Thanks and goodbye

    Show Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  29. Advice on Managing Projects & Making Python Classes Friendly

    55 minÉpisode 290

    What goes into managing a major project? What techniques can you employ for a project that’s in crisis? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and …

    Notes de l’épisode

    What goes into managing a major project? What techniques can you employ for a project that’s in crisis? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss an article by Ben Kuhn titled, “How I’ve Run Major Projects.” We dig into the skills required for project management, and provide advice for when projects fall into crisis. We cover how the field’s terminology has been updated. However, the time investment, sober communication, and planning still remain at the core of successful projects.

    We also share other articles and projects from the Python community, including recent releases and announcements, exploring an IDE for data science development, using Python set comprehensions, making friendly classes, using atexit for cleanup, a high-performance caching library for Python written in Rust, and a curated list of awesome marimo things.

    This episode is sponsored by PropelAuth.

    Video Course Spotlight: Using Data Classes in Python

    When using data classes, you don’t have to write boilerplate code to get proper initialization, representation, and comparisons for your objects.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:15 – Starlette 1.0 Released
    • 00:03:08 – PyOhio 2026 Call for Proposals Now Open!
    • 00:03:42 – Spyder: Your IDE for Data Science Development in Python
    • 00:11:04 – Python Set Comprehensions: How and When to Use Them
    • 00:14:40 – Sponsor: PropelAuth
    • 00:15:17 – Making Friendly Classes
    • 00:23:51 – How to Use atexit for Cleanup
    • 00:25:49 – Video Course Spotlight
    • 00:27:14 – How I’ve run major projects
    • 00:47:47 – awesome-marimo: Curated List of Awesome Marimo Things
    • 00:51:37 – moka-py: A high performance caching library for Python written in Rust
    • 00:53:24 – Thanks and goodbye

    News:

    Show Links:

    • Spyder: Your IDE for Data Science Development in Python – Learn how to use the Spyder IDE, a Python code editor built for scientists, engineers, and data analysts working with data-heavy workflows.
    • Python Set Comprehensions: How and When to Use Them – In this tutorial, you’ll learn how to write set comprehensions in Python. You’ll also explore the most common use cases for set comprehensions and learn about some bad practices that you should avoid when using them in your code.
    • Making Friendly Classes – What’s a friendly class? One that accepts sensible arguments, has a nice string representation, and supports equality checks. Read on to learn how to write them.
    • How to Use atexit for Cleanup – Divakar recently came across Python’s atexit module and became curious about practical use cases in real-world applications. To explore it, he created a simple client-server app that uses a clean-up function.

    Discussion:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

  30. Limitations in Human and Automated Code Review

    51 minÉpisode 289

    With the mountains of Python code that it’s possible to generate now, how’s your code review going? What are the limitations of human review, and where does machine review excel? Christopher Trudeau is back on …

    Notes de l’épisode

    With the mountains of Python code that it’s possible to generate now, how’s your code review going? What are the limitations of human review, and where does machine review excel? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

    We discuss a recent piece from Glyph titled, “What Is Code Review For?” We dig into the limitations of human review and where software tools like linters and formatters can help you. We cover the challenges developers and open-source maintainers face with the rise of LLM-generated code and pull requests.

    We also share other articles and projects from the Python community, including a collection of recent releases and announcements, creating publication-ready tables from DataFrames, choosing the right Python task queue, mastering context managers, statically checking Python dicts for completeness, an open-source inventory management system, and an ORM-based backend for Django tasks.

    This episode is sponsored by SerpApi.

    Spotlight: Intermediate Python Deep Dive: Write Better Python and Build Better Systems

    Master advanced patterns, OOP, and Pythonic design in eight weeks–with live expert guidance.

    Topics:

    • 00:00:00 – Introduction
    • 00:02:32 – DuckDB 1.5.0 Released
    • 00:03:11 – PyPy v7.3.21 Released
    • 00:03:30 – Sunsetting Jazzband
    • 00:04:08 – Thoughts on OpenAI acquiring Astral and uv/ruff/ty
    • 00:05:19 – Great Tables: Publication-Ready Tables From DataFrames
    • 00:10:24 – Comparing PDF Table Extraction Tools
    • 00:11:53 – Sponsor: SerpApi
    • 00:12:55 – Choosing the Right Python Task Queue
    • 00:16:57 – Mastering Python Context Managers
    • 00:22:40 – Statically Checking Python Dicts for Completeness
    • 00:25:00 – Spotlight: Intermediate Python Deep Dive
    • 00:26:16 – What Is Code Review For?
    • 00:43:48 – usdatasets: Installable Collection of Datasets on USA
    • 00:45:22 – InvenTree: OSS Inventory Management System
    • 00:48:01 – django-tasks-db: An ORM-based Backend for Django Tasks
    • 00:49:41 – Thanks and goodbye

    News:

    Show Links:

    • Great Tables: Publication-Ready Tables From DataFrames – Learn how to create publication-ready tables from Pandas and Polars DataFrames using Great Tables. Format currencies, add sparklines, apply conditional styling, and export to PNG.
    • Comparing PDF Table Extraction Tools – This article explores three Python tools for PDF table extraction: Docling, Marker, and LlamaParse. Learn which handles merged cells and multi-level headers best.
    • Choosing the Right Python Task Queue – Python has great options for task queues. Choosing between Celery and RQ isn’t an easy decision. Jump in and learn how each option compares!
    • Mastering Python Context Managers – Go beyond just using open() and learn how Python context managers work and where they are useful.
    • Statically Checking Python Dicts for Completeness – To keep code concerns separate, you might have two data structures (like an Enum and a dict) that are supposed to change in sequence: adding a value to the Enum requires you to add a similar value in the dict. This is common when separating business logic from UI code. This article shows you ways of making sure the corresponding changes happen together.

    Discussion:

    Projects:

    Additional Links:

    Level up your Python skills with our expert-led courses:

    Support the podcast & join our community of Pythonistas

Voici les 40 derniers épisodes sur 319. Les épisodes plus anciens se trouvent dans le flux du podcast.

C’est votre podcast ?

Confirmez-le avec une entrée dans votre flux : vous recevez ici un code, vous l’ajoutez comme podcast:txt dans le canal de votre flux, et nous le vérifions. Votre podcast apparaît ensuite comme « vérifié » sur SoundNode.

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.