The Real Python Podcast - podcast cover

The Real Python Podcast

Real Pythonrealpython.com
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.
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

Reducing the Size of Python Docker Containers

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...

Jun 05, 202639 minEp. 298

Improving Python Through PEPs and Protocols

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 ...

May 29, 20261 hr 20 minEp. 297

Managing Polars Schema Issues & Profiling GitHub Users

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 res...

May 22, 202642 minEp. 296

Agentic Architecture: Why Files Aren't Always Enough

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 surpr...

May 15, 20261 hr 24 minEp. 295

Declarative Charts in Python & Discerning Iterators vs Iterables

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 ...

May 08, 202656 minEp. 294

Agentic Data Science Pair Programming With marimo pair

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 elimina...

May 01, 20261 hr 4 minEp. 293

Becoming a Better Python Developer Through Learning Rust

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...

Apr 24, 202646 minEp. 292

Reassessing the LLM Landscape & Summoning Ghosts

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 reasonin...

Apr 17, 20261 hr 15 minEp. 291

Advice on Managing Projects & Making Python Classes Friendly

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 communica...

Apr 10, 202655 minEp. 290

Limitations in Human and Automated Code Review

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 de...

Mar 27, 202651 minEp. 289

Automate Exploratory Data Analysis & Invent Python Comprehensions

How do you quickly get an understanding of what’s inside a new set of data? How can you share an exploratory data analysis with your team? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. We discuss a recent Real Python tutorial about YData Profiling. This library lets you quickly generate an exploratory data analysis (EDA) report with a few lines of code. The report provides column-level analysis, visualizations, and summary statist...

Mar 20, 202657 minEp. 288

Crafting and Editing In-Depth Tutorials at Real Python

What goes into creating the tutorials you read at Real Python? What are the steps in the editorial process, and who are the people behind the scenes? This week on the show, Real Python team members Martin Breuss, Brenda Weleschuk, and Philipp Acsany join us to discuss topic curation, review stages, and quality assurance. We start by sharing the multiple roles our panel of guests perform across the editorial process. They describe the phases a tutorial passes through, including layers of reviews,...

Mar 13, 20261 hr 21 minEp. 287

Overcoming Testing Obstacles With Python's Mock Object Library

Do you have complex logic and unpredictable dependencies that make it hard to write reliable tests? How can you use Python’s mock object library to improve your tests? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. Christopher shares details about his recent Real Python video course, “Improving Your Tests With the Python Mock Object Library.” He describes how mocking in Python with unittest.mock allows you to simulate complex logic...

Feb 27, 202640 minEp. 286

Exploring MCP Apps & Adding Interactive UIs to Clients

How can you move your MCP tools beyond plain text? How do you add interactive UI components directly inside chat conversations? This week on the show, Den Delimarsky from Anthropic joins us to discuss MCP Apps and interactive UIs in MCP. Den is a member of the MCP Steering Committee and a Core Maintainer focusing on auth and security. He explains how MCP acts as a universal bridge, providing AI models with the real-time context they need. He shares insights on working with MCP Apps and moving be...

Feb 20, 20261 hr 9 minEp. 285

Running Local LLMs With Ollama and Connecting With Python

Would you like to learn how to work with LLMs locally on your own computer? How do you integrate your Python projects with a local model? 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 step-by-step tutorial on installing local LLMs with Ollama and connecting them to Python. It begins by outlining the advantages this strategy offers, including reducing costs, improving privacy, and enabling offline-capa...

Feb 13, 202645 minEp. 284

Improving Your GitHub Developer Experience

What are ways to improve how you’re using GitHub? How can you collaborate more effectively and improve your technical writing? This week on the show, Adam Johnson is back to talk about his new book, “Boost Your GitHub DX: Tame the Octocat and Elevate Your Productivity”. Adam has written a series of books about improving developer experience (DX). In this episode, we dig into his newest book, which focuses on GitHub and how to get the most out of its features—from settings and keyboard shortcuts ...

Feb 06, 20261 hrEp. 283

Testing Python Code for Scalability & What's New in pandas 3.0

How do you create automated tests to check your code for degraded performance as data sizes increase? What are the new features in pandas 3.0? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. Christopher digs into an article about building tests to make sure your software is fast, or at least doesn’t get slower as it scales. The piece focuses on testing Big-O scaling and its implications for algorithms. We also discuss another articl...

Jan 30, 202649 minEp. 282

Continuing to Improve the Learning Experience at Real Python

If you haven’t visited the Real Python website lately, then it’s time to check out a great batch of updates on realpython.com! Dan Bader returns to the show this week to discuss improvements to the site and more ways to learn Python. Dan details changes to the website, including our Python reference area. This tool provides a quick reference for both beginners and experienced developers looking for concise definitions and refreshers on Python’s features. We discuss the expansion of our live cour...

Jan 23, 202645 minEp. 281

Considering Fast and Slow in Python Programming

How often have you heard about the speed of Python? What’s actually being measured, where are the bottlenecks—development time or run time—and which matters more for productivity? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. Christopher shares an article titled “The Uselessness of ‘Fast’ and ‘Slow’ in Programming.” It digs into how the different aspects of software performance span a wide range of orders of magnitude, and ho...

Jan 16, 202655 minEp. 280

Coding Python With Confidence: Beginners Live Course Participants

Are you looking for that solid foundation to begin your Python journey? Would the accountability of scheduled group classes help you get through the basics and start building something? This week, two members of the Python for Beginners live course discuss their experiences. We speak with course instructor Stephen Gruppetta about building a course where the participants start using their knowledge as soon as possible. He describes how he’s evolved his teaching techniques over years of working wi...

Jan 09, 20261 hr 19 minEp. 279

PyCoder's Weekly 2025 Top Articles & Hidden Gems

PyCoder’s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2025. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and uncovering a few hidden gems from the pile. We share the top links explored by PyCoder’s readers. We also dig into trends across all the articles and stories this year. We highlight a few gems that we didn’t cover on the show and a couple that explore the overall themes of the year. We hope...

Jan 02, 202633 minEp. 278

Moving Towards Spec-Driven Development

What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programming? This week on the show, Marc Brooker, VP and Distinguished Engineer at AWS, joins us to discuss specification-driven development and Kiro. Marc describes the process of developing an application by writing specifications, which outline what a program should do and what needs it should meet. We dig into a bit of computer science history to explore t...

Dec 19, 20251 hr 2 minEp. 277

Exploring Quantum Computing & Python Frameworks

What are the recent advances in the field of quantum computing and high-performance computing? And what Python tools can you use to develop programs that run on quantum computers? This week on the show, Real Python author Negar Vahid discusses her tutorial, “Quantum Computing Basics With Qiskit.” Negar digs into the fundamentals of quantum computers, describing qubits, superposition, entanglement, and interference. We discuss the concept of quantum advantage and the fields of exploration where q...

Dec 05, 202550 minEp. 276

Building a FastAPI Application & Exploring Python Concurrency

What are the steps to get started building a FastAPI application? What are the different types of concurrency available in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss a recent Real Python step-by-step tutorial about programming a FastAPI example application. You practice installing FastAPI, building your first endpoints, adding path and query parameters, and validating endpoints using Pydantic. Christophe...

Nov 21, 202535 minEp. 275

Preparing Data Science Projects for Production

How do you prepare your Python data science projects for production? What are the essential tools and techniques to make your code reproducible, organized, and testable? This week on the show, Khuyen Tran from CodeCut discusses her new book, “Production Ready Data Science.” Khuyen shares how she got into blogging and what motivated her to write a book. She shares tips on how to create repeatable workflows. We delve into modern Python tools that will help you bring your projects to production. Co...

Nov 14, 202559 minEp. 274

Advice for Writing Maintainable Python Code

What are techniques for writing maintainable Python code? How do you make your Python more readable and easier to refactor? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss a recent article about writing code that is easy to maintain. We cover writing comments, creating meaningful names, avoiding magic numbers, and preparing code for your future self. We also share several other articles and projects from the Python c...

Nov 07, 202555 minEp. 273

Michael Kennedy: Managing Your Own Python Infrastructure

How do you deploy your Python application without getting locked into an expensive cloud-based service? This week on the show, Michael Kennedy from the Talk Python podcast returns to discuss his new book, “Talk Python in Production.” Michael runs multiple Python applications online, including a training site, blog, and two podcasts. While searching for the best solution for hosting his business, he documented his findings in a book. We talk about containerizing Python applications, generating st...

Oct 31, 20251 hr 20 minEp. 272

Benchmarking Python 3.14 & Enabling Asyncio to Scale

How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. At the top of the show, we have a mountain of release news and Python Enhancement Proposals to cover. Then, we dig into a couple of articles covering the performance of Python 3.14. The first is a benchmarking comparison of the last several Python ver...

Oct 24, 202547 minEp. 271

Evolving Teaching Python in the Classroom

How is teaching young students Python changing with the advent of LLMs? This week on the show, Kelly Schuster-Paredes from the Teaching Python podcast joins us to discuss coding and AI in the classroom. Kelly shares her current thoughts on teaching Python to young students. She stresses that the earliest classes still need to cover the fundamentals. We also discuss how coding instruction is evolving toward reading and reviewing code more than writing it. Course Spotlight: Building a Python GUI A...

Oct 17, 20251 hr 5 minEp. 270

Python 3.14: Exploring the New Features

Python 3.14 is here! Christopher Trudeau returns to discuss the new version with Real Python team member Bartosz Zaczyński. This year, Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the showcase tutorial, “Python 3.14: Cool New Features for You to Try.” Christopher’s video course, “What’s New in Python 3.14”, covers the topics from the article and shows the new features in action. Christopher and Bartosz dug into the new release to create code e...

Oct 10, 202556 minEp. 269
For the best experience, listen in Metacast app for iOS or Android