The Real Python Podcast

The Real Python Podcast

By Real PythonTechnology
Download on the App Store

The Real Python Podcast episodes

  • Python 3.15: Exploring the New Features

    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:

      • * Python 3.15: following tradition, let’s have a surprise rc3! - Core Development - Discussions on Python.org
      • Python 3.15: Cool New Features for You to Try – Real Python
      • Python 3.15 Preview: Sentinel Values – Real Python
      • Python 3.15 Preview: Lazy Imports – Real Python
      • Unpacking in Comprehensions -What’s new in Python 3.15 — Python 3.15 documentation
      • math — Mathematical functions — Python 3.15 documentation
      • Python 3.15 Preview: Sampling Profiler
      • PEP 799 – A dedicated profiling package for organizing Python profiling tools
      • Python 3.15 Preview: frozendict
      • PEP 814 – Add frozendict built-in type
      • More color - What’s new in Python 3.15
      • Improved error messages - What’s new in Python 3.15
      • Python 3.15 Preview: UTF-8 by Default
      • PEP 803: Stable ABI for free-threaded builds - What’s new in Python 3.15
      • Python 3.15 Preview: Upgraded JIT Compiler
      • Additional Links:

        • PEP 810 – Explicit lazy imports
        • Implement native PEP 0810 lazy loading by hebaalazzeh - google-cloud-python
        • PEP 798 – Unpacking in Comprehensions
        • PEP 448 – Additional Unpacking Generalizations
        • Tachyon: Python 3.15’s sampling profiler is faster…- Pablo Galindo Salgado, Laszlo Kiss Kollar - YouTube
        • The amazing and varied life of Tachyon particles in Star Trek TNG - YouTube
        • Episode #128: Using a Memory Profiler in Python & What It Can Teach You
        • Episode #172: Measuring Multiple Facets of Python Performance With Scalene
        • Upgraded experimental JIT compiler - What’s new in Python 3.15
        • What’s new in Python 3.15 — Python 3.15 documentation
        • Level up your Python skills with our expert-led courses:

          • Understanding Python List Comprehensions
          • What's New in Python 3.14
          • What's New in Python 3.15
          • Support the podcast & join our community of Pythonistas

            45 min
          • Navigating AI in Open Source: Insights From Wagtail

            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:

              • Wagtail CMS - Django Content Management System
              • Wagtail Space 2026 - Wagtail CMS
              • Showcase - Wagtail CMS
              • Guidance for AI-led contributions - Wagtail CMS
              • What I learned from two days of hanging out with AI experts - Wagtail CMS
              • AI saved me 10 minutes on a blog post: Was it worth it? - Wagtail CMS
              • What AI tools get right and wrong with Wagtail - Wagtail CMS
              • Comparing open weight AI models and providers - Wagtail CMS
              • AI in the CMS: steering the ecosystem - Wagtail CMS
              • The carbon footprint of Wagtail AI - Wagtail CMS
              • Open source AI we use to work on Wagtail - Wagtail CMS
              • Results of the 2026 Wagtail DX with AI survey - Wagtail CMS
              • open-code-review: Secure, fast, efficient, battle-tested - hybrid architecture code review tool
              • CMS with AI, not AI CMS: Wagtail 8.0’s new API
              • Roadmap - Wagtail CMS
              • Executive Director Search Extended to September 22 - Django Weblog
              • git-worktree Documentation
              • Wagtail newsletter
              • Meagen Voss (@[email protected]) - Fosstodon
              • Thibaud Colas (@[email protected]) - Fosstodon
              • Level up your Python skills with our expert-led courses:

                • How to Set Up a Django Project
                • Getting Started With Google Gemini CLI
                • Using the Claude API in Python
                • Support the podcast & join our community of Pythonistas

                  1 hr 8 min
                • Django Developers Survey Results & Reproducible Python Builds

                  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:

                    • Python 3.15.0 candidate 2 is here! - Python Insider
                    • Django 6.1.1 release notes - Django documentation
                    • CMS With AI, Not AI CMS: Wagtail 8.0’s New API – Wagtail 8 includes a new API built on Django Ninja and Pydantic, to automate common admin tasks with and without agents. 50+ operations derived from projects’ existing Python/Django code, mimicking the admin panel but via endpoints and an official CLI.
                    • Wagtail 8.0 release notes — Wagtail Documentation 8.0 documentation
                    • RISC-V Is Now Officially Supported by CPython
                    • PEP 843: Export Statement for DRY Re-Exports (Draft)
                    • PEP 842: Module Exports (Withdrawn)
                    • 2026 PSF Board Election Interviews – This is a collection of interviews of the various candidates running for the Python Software Foundation Board. Many of the posts also include links to AMA sessions.
                    • Python Software Foundation News: The 2026 PSF Board Election is Open!
                    • Python Software Foundation News: Inaugural Python Packaging Council Election: Voting is now open!
                    • Up and Running with Rust Course
                    • Guido Comment on PEP 805: Safe Parallel Python
                    • 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:

                        • matchify: Converts if-else Code to match Statements
                        • pydantic-pint: Pydantic Pint Quantities
                        • Additional Links:

                          • Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries
                          • Mastering DuckDB when you’re used to pandas or Polars
                          • Episode #297: Improving Python Through PEPs and Protocols
                          • PEP 770 – Improving measurability of Python packages with Software Bill-of-Materials
                          • Phantom Dependencies: is your requirements.txt haunted? - Seth Michael Larson - YouTube
                          • prebuilt-cpython - GitHub
                          • htmx - high power tools for html
                          • Pint: makes units easy — pint 0.25.3rc1.dev1+g5e79411e1 documentation
                          • Exploring Astrophysics in Python With pandas and Matplotlib – Real Python
                          • PyCoder’s Weekly - Submit a Link
                          • Level up your Python skills with our expert-led courses:

                            • Exploring Astrophysics in Python With pandas and Matplotlib
                            • Connecting LLMs to Your Data With Python MCP Servers
                            • How to Get Started With Ollama
                            • Support the podcast & join our community of Pythonistas

                              47 min
                            • Performance Engineering: Profiling and Making Apps Fast by Default

                              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:

                                • Fast by Default - Den Odell - Manning Discount Link
                                • Fast by Default
                                • Constraints and the Lost Art of Optimization - Den Odell
                                • Python 3.15 Preview: Sampling Profiler
                                • Tachyon: High frequency statistical sampling profile
                                • Profiling in Python: How to Find Performance Bottlenecks
                                • Episode #128: Using a Memory Profiler in Python & What It Can Teach You
                                • Episode #172: Measuring Multiple Facets of Python Performance With Scalene
                                • Running Python code in a sandbox with MicroPython and WASM
                                • Syntorial: The Ultimate Synthesizer Course
                                • Den Odell - LinkedIn
                                • Den Odell – Author. Staff Web Engineer.
                                • Level up your Python skills with our expert-led courses:

                                  • Speed Up Python With Concurrency
                                  • Profiling Performance in Python
                                  • Testing Your Code With Python's unittest
                                  • Support the podcast & join our community of Pythonistas

                                    1 hr 17 min
                                  • Exploring Complex Systems & Maintainable Data Science Pipelines

                                    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:

                                      • Python 3.12.14, 3.11.16 and 3.10.21 Released
                                      • Django Is Moving to an Annual Release Cycle
                                      • PEP 828: Supporting ‘Yield From’ in Asynchronous Generators (Accepted)
                                      • PEP 841: Adding Frozen Syntax to Optimize Immutable Types (Draft)
                                      • PEP 844: public and private Builtins (Draft)
                                      • 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:

                                          • marimo-book: Static Site Generator for marimo Notebooks
                                          • marimo-lsp: A language server and VS Code extension for marimo
                                          • hexora: Static analysis of malicious Python code
                                          • Additional Links:

                                            • pointblank - PyPI
                                            • Episode #274: Preparing Data Science Projects for Production With Khuyen Tran
                                            • marimo-book
                                            • DartBrains - How can we understand how the brain works?
                                            • marimo - Visual Studio Marketplace
                                            • Level up your Python skills with our expert-led courses:

                                              • Getting Started With marimo Notebooks
                                              • Managing Imports With Python's all
                                              • Sending Emails Using Python
                                              • Support the podcast & join our community of Pythonistas

                                                42 min
                                              • Navigating Silent Failures in AI: Strategies for Effective Oversight

                                                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:

                                                  • Why AI Fails Silently and How to Fix It
                                                  • Claude Cowork - Claude by Anthropic
                                                  • List of All Oblique Strategies - Matt Rickard
                                                  • Pi Coding Agent
                                                  • goose - Your open source AI agent
                                                  • Codex CLI - ChatGPT Learn
                                                  • 2026 All Things Open AI: Orchestrate Agentic AI: Context, Checklists, and No-Miss Reviews - GitHub
                                                  • scaf: A template manager that simplifies bootstrapping and updating projects.
                                                  • Tau - Learn how coding agents are built.
                                                  • superpowers: An agentic skills framework & software development methodology that works.
                                                  • Hermes Agent — Open-Source AI Agent That Grows With You
                                                  • PyOhio 2026 - PyOhio 2026
                                                  • AWS re:Invent 2026 - Nov 30-Dec 4, Las Vegas
                                                  • Python Bytes - Python News Podcast
                                                  • beats the hell out of me - painfully - YouTube
                                                  • Level up your Python skills with our expert-led courses:

                                                    • Getting Started With Claude Code
                                                    • Use Codex CLI to Enhance Your Python Projects
                                                    • Coding With OpenCode: AI-Assisted Python
                                                    • Support the podcast & join our community of Pythonistas

                                                      1 hr 10 min
                                                    • Improving NumPy Performance on Free-Threaded Python

                                                      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:

                                                        • Python 3.15.0 candidate 1 is here! - Python Insider
                                                        • Python 3.14.7 and 3.13.15 are now available! - Python Insider
                                                        • Django 6.1 released - Weblog - Django
                                                        • Planned Updates to the PyPI User Interface – Over the next few months a new user interface will be rolled out for the Python packaging website, PyPI. The rollout will be done in phases to make sure it is rock solid and to get community feedback. This post talks about the history of PyPI’s UI and what is changing.
                                                        • PyPI Releases Now Reject New Files After 14 Days – “The Python Package Index (PyPI) now rejects new files being uploaded to releases that are older than 14 days. This restriction was put in place to prevent old and long-stable releases from being poisoned”
                                                        • PEP 837 – Extensible JSON serialization
                                                        • PEP 842: Module Exports
                                                        • 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:

                                                            • cnsplots: Python Data Visualization for Complex Datasets
                                                            • django-orm-lens: Django Schema Review
                                                            • Additional Links:

                                                              • What’s up Python? __json__, __export__ and Astral stuff
                                                              • Episode #97: Improving Your Django and Python Developer Experience
                                                              • Python’s __all__: Packages, Modules, and Wildcard Imports – Tutorial
                                                              • Quiz: Managing Imports With Python’s __all__
                                                              • Smoke - The Amazing Hamster, Storing Food - YouTube
                                                              • Modern Object-Oriented Python Book – Real Python
                                                              • Level up your Python skills with our expert-led courses:

                                                                • Python Modules and Packages: An Introduction
                                                                • NumPy Techniques and Practical Examples
                                                                • Managing Imports With Python's all
                                                                • Support the podcast & join our community of Pythonistas

                                                                  47 min
                                                                • Programmatically Developing LLM Prompts With DSPy

                                                                  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:

                                                                    • Building LLM Applications with DSPy - Serj Smorodinsky and Brett Kennedy
                                                                    • DSPy
                                                                    • DSPy: The framework for programming—not prompting—language models - GitHub
                                                                    • Tutorials Overview - DSPy
                                                                    • GEPA optimization - DSPy
                                                                    • Let the LLM Write the Prompts: An Intro to DSPy in Compound AI Pipelines - YouTube
                                                                    • Episode #208: Detecting Outliers in Your Data With Python
                                                                    • Tabular Models Benchmark: Performance Across 19 Datasets 2026
                                                                    • Brett Kennedy on Manning
                                                                    • Serj Smorodinsky on Manning
                                                                    • W Brett Kennedy – Medium
                                                                    • Brett Kennedy - LinkedIn
                                                                    • Level up your Python skills with our expert-led courses:

                                                                      • Building Type-Safe LLM Agents With Pydantic AI
                                                                      • Accessing Multiple AI Models With the OpenRouter API
                                                                      • Using LlamaIndex for RAG in Python
                                                                      • Support the podcast & join our community of Pythonistas

                                                                        1 hr 6 min
                                                                      • Should You Understand Your Entire Python Codebase?

                                                                        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:

                                                                          • Python 3.15.0 Beta 4 Released
                                                                          • PEP 838: Adding python-version to pyvenv.cfg (Added)
                                                                          • PEP 840: Name Resolution in Class Namespaces (Added)
                                                                          • Show Links:

                                                                            • Stop Using if-else Chains – Learn a cleaner, more extensible way to dispatch logic in Python using dictionaries and function pointers instead of long if-else chains.
                                                                            • Nifty Django Feature: F Expressions – Django’s F-Expression provides a way of querying fields from the ORM. They’re particularly handy to traverse relationships in more complex queries.
                                                                            • F() Expressions - Django Documentation
                                                                            • In Defense of Not Understanding Your Codebase – In this opinion piece, Sean argues that there is a difference in the thought process between maintaining smaller software projects vs larger ones, and that the former is over represented in engineering discussion in the internet.
                                                                            • 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.
                                                                            • Projects:

                                                                              • Python strftime/strptime Directive Cheat Sheet
                                                                              • Itertools Cheatsheet – Cheatsheet with visual diagrams that explain how the iterables from itertools work.
                                                                              • Introducing django-orjson – orjson is a Rust-based replacement for Python’s json module. So what would Adam Johnson do with it? Make it easier to use in Django of course.
                                                                              • orjson: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
                                                                              • django-orjson documentation
                                                                              • Additional Links:

                                                                                • Primer on Python Decorators - Registering Plugins
                                                                                • Python Built-in Functions: A Complete Guide
                                                                                • Python Cheat Sheet – Real Python
                                                                                • What’s in which Python - Ned Batchelder
                                                                                • Level up your Python skills with our expert-led courses:

                                                                                  • Using Python's datetime Module
                                                                                  • Python Basics: Conditional Logic and Control Flow
                                                                                  • Exploring Python's Built-in Functions
                                                                                  • Support the podcast & join our community of Pythonistas

                                                                                    58 min
                                                                                  • Configuring a Versatile LLM Harness & Scraping the Web With Scrapy

                                                                                    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:

                                                                                      • How to build your first Scrapy extension
                                                                                      • Web Scraping API - All-in-one Web Scraper - Zyte API
                                                                                      • Web Scraping With Scrapy and MongoDB – Real Python
                                                                                      • noalgotube: I Built My Own YouTube Feed Because the Algorithm Stopped Working for Me - CodeNSolder
                                                                                      • noalgotube: A personal content aggregator for YouTube channels and blog RSS feeds
                                                                                      • Why homelab? Building a proper self-hosted setup from scratch - CodeNSolder
                                                                                      • OPNsense: Open source, feature rich firewall and routing platform, offering cutting-edge network protection
                                                                                      • Proxmox - Powerful open-source server solutions
                                                                                      • Pi-hole – Network-wide Ad Blocking
                                                                                      • omni-tools: Self-hosted collection of powerful web-based tools for everyday tasks
                                                                                      • Frigate NVR
                                                                                      • Harness Engineering, part 1: What is an agent harness and why it matters
                                                                                      • My agentic coding setup: Claude Code, multi-agent orchestration, and how I actually work
                                                                                      • ExtractPod EP07 - AI Harnesses, our model usage and a Scottish dinner staple. - YouTube
                                                                                      • OpenCode - The open source AI coding agent
                                                                                      • OpenRouter
                                                                                      • Gemma 4 — Google DeepMind
                                                                                      • LM Studio Bionic - Agent for Open Models
                                                                                      • GLM-5.2: Built for Long-Horizon Tasks
                                                                                      • caveman: 🪨 why use many token when few token do trick — Claude Code skill
                                                                                      • ponytail: Makes your AI agent think like the laziest senior dev in the room
                                                                                      • Episode #301: Running Python Locally in a Sandbox
                                                                                      • Aillio – Bullet R2 - Coffee Roaster
                                                                                      • CodeNSolder
                                                                                      • Ayan Pahwa - Zyte
                                                                                      • HydraDB
                                                                                      • Level up your Python skills with our expert-led courses:

                                                                                        • Introduction to Web Scraping With Python
                                                                                        • Getting Started With Claude Code
                                                                                        • Testing MCP Servers With a Python MCP Client
                                                                                        • Support the podcast & join our community of Pythonistas

                                                                                          59 min

                                                                                        About The Real Python Podcast

                                                                                        From the publisher's feed

                                                                                        A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community.

                                                                                        More shows like The Real Python Podcast

                                                                                        The Changelog: Software Development, Open Source by Changelog Media

                                                                                        The Changelog: Software Development, Open Source

                                                                                        286 Listeners

                                                                                        Software Engineering Daily by Software Engineering Daily

                                                                                        Software Engineering Daily

                                                                                        623 Listeners

                                                                                        Talk Python To Me by Michael Kennedy

                                                                                        Talk Python To Me

                                                                                        582 Listeners

                                                                                        Soft Skills Engineering by Jamison Dance and Dave Smith

                                                                                        Soft Skills Engineering

                                                                                        286 Listeners

                                                                                        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                                                                                        Super Data Science: ML & AI Podcast with Jon Krohn

                                                                                        305 Listeners

                                                                                        Python Bytes by Michael Kennedy and Calvin Hendryx-Parker

                                                                                        Python Bytes

                                                                                        213 Listeners

                                                                                        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                                                                                        Syntax - Tasty Web Development Treats

                                                                                        985 Listeners

                                                                                        Darknet Diaries by Jack Rhysider

                                                                                        Darknet Diaries

                                                                                        8,054 Listeners

                                                                                        Tech Brew Ride Home by Morning Brew

                                                                                        Tech Brew Ride Home

                                                                                        959 Listeners

                                                                                        Practical AI by Daniel Whitenack and Chris Benson

                                                                                        Practical AI

                                                                                        203 Listeners

                                                                                        AWS Podcast by Amazon Web Services

                                                                                        AWS Podcast

                                                                                        202 Listeners

                                                                                        Django Chat by William Vincent and Carlton Gibson

                                                                                        Django Chat

                                                                                        75 Listeners

                                                                                        Last Week in AI by Skynet Today

                                                                                        Last Week in AI

                                                                                        315 Listeners

                                                                                        Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

                                                                                        Machine Learning Street Talk (MLST)

                                                                                        98 Listeners

                                                                                        The Pragmatic Engineer by Gergely Orosz

                                                                                        The Pragmatic Engineer

                                                                                        72 Listeners