The Real Python Podcast

The Real Python Podcast

https://realpython.com/podcasts/rpp/feed
661 Followers 265 Episodes Claim Ownership
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.

Episode List

Large Language Models on the Edge of the Scaling Laws

Sep 5th, 2025 12:00 PM

What’s happening with the latest releases of large language models? Is the industry hitting the edge of the scaling laws, and do the current benchmarks provide reliable performance assessments? This week on the show, Jodie Burchell returns to discuss the current state of LLM releases. The most recent release of GPT-5 has been a wake-up call for the LLM industry. We discuss how the current scaling of these systems is reaching a diminishing edge. Jodie also shares how many AI model assessments and benchmarks are flawed. We also take a sober look at the productivity gains from using these tools for software development within companies. We discuss how newer developers should consider additional factors when looking at the current job market. Jodie digs into how economic changes and rising interest rates are influencing layoffs and hiring freezes. Then we share a wide collection of resources for you to continue exploring these topics. This episode is sponsored by Influxdata. Course Spotlight: Exploring Python Closures: Examples and Use Cases Learn about Python closures: function-like objects with extended scope used for decorators, factories, and stateful functions. Topics: 00:00:00 – Introduction 00:03:00 – Recent conferences and talks 00:04:18 – What’s going on with LLMs? 00:06:06 – What happened with the GPT-5 release? 00:08:14 – Simon Willison - 2025 in LLMs so far 00:09:00 – How did we get here? 00:10:37 – OpenAI’s and scaling laws 00:12:25 – Pivoting to post-training 00:16:01 – Some history of AI eras 00:17:54 – Issues with measuring performance and benchmarks 00:22:19 – Chatbot Arena 00:24:06 – Languages are finite 00:26:22 – LLMs and the illusion of humanity 00:30:41 – Sponsor: Influxdata 00:31:34 – Types of solutions to move past these limits 00:36:57 – Does AI actually boost developer productivity? 00:44:19 – Agentic Al Programming with Python 00:48:02 – Results of non-programmers vibe coding 00:50:18 – Back to the concept of overfitting 00:52:52 – The money involved in training 00:56:50 – Video Course Spotlight 00:58:21 – Deepseek and new methods of training 01:01:02 – Quantizing and fitting on a local machine 01:04:48 – The layoffs and the economic changes 01:10:32 – AI implementation failures 01:21:01 – Don’t doubt yourself as a developer 01:24:06 – What are you excited about in the world of Python? 01:25:39 – What do you want to learn next? 01:26:42 – What’s the best way to follow your work online? 01:27:04 – Thanks and goodbye Survey: Listener Survey - Help Shape the Future of the Real Python Podcast Show Links: EuroPython 2025 - July 14th-20th 2025 - Prague, Czech Republic & Remote Episode #232: Exploring Modern Sentiment Analysis Approaches in Python GPT-5: Overdue, overhyped and underwhelming. And that’s not the worst of it. GPT 5’s Rocky Launch Highlights AI Disillusionment - IEEE Spectrum 2025 in LLMs so far, illustrated by Pelicans on Bicycles — Simon Willison Attention is All You Need - Google Scaling laws for neural language models - OpenAI What if AI Doesn’t Get Much Better Than This? - Cal Newport Hiltzik: AI hype is fading fast - Los Angeles Times Does AI Actually Boost Developer Productivity? (100k Devs Study) - Yegor Denisov-Blanch, Stanford - YouTube Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity - METR Amazon Cloud Chief: Replacing Junior Staff With AI Is ‘Dumbest’ Idea - Business Insider 20 LLM evaluation benchmarks and how they work MMLU - Measuring Massive Multitask Language Understanding HellaSwag: Can a Machine Really Finish Your Sentence? Mechanical Turk - Wikipedia Amazon Mechanical Turk Chatbot Arena - LMArena LLMs Can’t Reason - The Reversal Curse, The Alice In Wonderland Test, And The ARC - AGI Challenge - CustomGPT Mirror, mirror: LLMs and the illusion of humanity - Jodie Burchell - NDC Oslo 2024 - YouTube Is Chain-of-Thought Reasoning of LLMs a Mirage? A Data Distribution Lens Context Rot: How Increasing Input Tokens Impacts LLM Performance - YouTube Does AI Actually Boost Developer Productivity? (100k Devs Study) - Yegor Denisov-Blanch, Stanford - YouTube AWS CEO says no more programmers in 2 years - Tech Industry - Blind MIT report: 95% of generative AI pilots at companies are failing - Fortune Agentic Al Programming with Python - Talk Python To Me Podcast Vibe coding through the GPT-5 mess - The Verge Overfitting - Wikipedia Andrej Karpathy - Busy Person’s Intro to LLMs - YouTube AI Isn’t Taking Your Job – The Economy Is - Andrew Stiefel Commonwealth Bank backtracks on AI job cuts, apologizes for ‘error’ as call volumes rise - ABC News Klarna CEO Reverses Course By Hiring More Humans, Not AI | Entrepreneur Has Duolingo Lost Its Streak? - Matt Jones - Medium McDonald’s removes AI drive-throughs after order errors OpenAI Usage Plummets in the Summer, When Students Aren’t Cheating on Homework What Happened When I Tried to Replace Myself with ChatGPT in My English Classroom - Literary Hub Learning to code in the age of AI — Sheena O’Connell - YouTube Jodie Burchell - The JetBrains Blog Jodie Burchell’s Blog - Standard error Jodie Burchell (@t-redactyl.bsky.social) — Bluesky Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon JetBrains: Essential tools for software developers and teams Level up your Python skills with our expert-led courses: Python Decorators 101 A History of Python Versions and Features Exploring Python Closures: Examples and Use Cases Support the podcast & join our community of Pythonistas

Exploring Mixin Classes in Python

Aug 29th, 2025 12:00 PM

What is a good way to add isolated, reusable functionality to Python classes? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. Christopher covers a recent Real Python tutorial about developing mixin classes to reuse code across multiple Python classes. He describes how mixins rely on multiple inheritance to combine features from different classes, enhancing flexibility and code reuse. We also share several other articles and projects from the Python community, including a news roundup, highlights from the 2024 Python Developers Survey, reasons you might not need a Python class, an exploration of asyncio’s sharp corners, an explanation of how JIT builds of CPython work, a web-based GUI library, and a project for quickly querying Python lists. This episode is sponsored by Influxdata. Course Spotlight: Design and Guidance: Object-Oriented Programming in Python In this video course, you’ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that’s more maintainable, extensible, scalable, and testable. Topics: 00:00:00 – Introduction 00:03:14 – Python 3.13.7 Released 00:03:38 – Python 3.14.0rc2 Released 00:04:10 – PEP 802: Display Syntax for the Empty Set 00:04:59 – Announcing the PSF Board Candidates for 2025 00:05:26 – Rodrigo - PSF - Community Service Award for Q2 2025 00:06:06 – Python Developers Survey 2024 Results 00:13:27 – pyx: A Python-Native Package Registry 00:15:12 – Test & Code Final Episode 00:15:48 – You Might Not Need a Python Class 00:20:52 – Sponsor: Influxdata 00:21:44 – asyncio: A Library With Too Many Sharp Corners 00:25:43 – How JIT Builds of CPython Actually Work 00:35:21 – Video Course Spotlight 00:37:12 – What Are Mixin Classes in Python? 00:44:05 – nicegui: Create Web-Based UI With Python 00:46:51 – leopards: Quickly query your Python lists 00:49:00 – Thanks and goodbye Survey: Listener Survey - Help Shape the Future of the Real Python Podcast News: Python 3.13.7 Released Python 3.14.0rc2 Released PEP 802: Display Syntax for the Empty Set (Added) Announcing the PSF Board Candidates for 2025 – The Python Software Foundation elections are upon us, and this post announces this year’s candidates. Voting is September 2nd to 16th. To vote, you must be registered by August 26th. Rodrigo - PSF - Community Service Award for Q2 2025 Python Developers Survey 2024 Results The State of Python 2025 - The PyCharm Blog pyx: A Python-Native Package Registry, Now in Beta – The folks at Astral, who brought you uv and more, have created a new commercial Python-native package registry called “pyx”. Test & Code Final Episode – After 10 years and 237 episodes, Brian Okken has decided to stop recording Test & Code. He’ll still be contributing to Python Bytes. Here’s to all his work on a great podcast over the last decade. Show Links: You Might Not Need a Python Class – If you’re coming from other languages, you might think a class is the easiest way to do something, but Python has other options. This post shows you some alternatives and why you might choose them. asyncio: A Library With Too Many Sharp Corners – asyncio has a few gotchas and this post describes five different problems, including: cancellation, disappearing tasks, and more. How JIT Builds of CPython Actually Work – You don’t have to be a compiler engineer to understand how your code runs in a JIT build of CPython. This article runs you through just what happens under the covers. What Are Mixin Classes in Python? – Learn how to use Python mixin classes to write modular, reusable, and flexible code with practical examples and design tips. Projects: nicegui: Create Web-Based UI With Python leopards: Quickly query your Python lists Additional Links: Episode #259: Design Patterns That Don’t Translate to Python Episode #123: Creating a Python Code Completer & More Abstract Syntax Tree Projects Specializing Adaptive Interpreter The LLVM Compiler Infrastructure Project PEP 774 – Removing the LLVM requirement for JIT builds Building a JIT compiler for CPython What they don’t tell you about building a JIT compiler for CPython Quiz: What Are Mixin Classes in Python? NiceGUI Level up your Python skills with our expert-led courses: Class Concepts: Object-Oriented Programming in Python Inheritance and Internals: Object-Oriented Programming in Python Design and Guidance: Object-Oriented Programming in Python Support the podcast & join our community of Pythonistas

Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python

Aug 22nd, 2025 12:00 PM

What went into developing the open-source Python tools data scientists use every day? This week on the show, we talk with Travis Oliphant about his work on SciPy, NumPy, Numba, and many other contributions to the Python scientific community. Travis discusses his initial involvement in the open-source community and how he discovered Python while working in biomedical imaging. He was trying to find ways to manage large sets of numerical data, which led to his initial contributions and collaborations in building scientific libraries. His appearance on the show coincides with the release of the Python documentary, in which he’s featured. We discuss the myriad organizations Travis founded, including Quansight, OpenTeams, and Anaconda. We dig into his underlying mission to continue fostering the growth of the open-source scientific computing community. This episode is sponsored by Influxdata. Course Spotlight: NumPy Techniques and Practical Examples In this video course, you’ll learn how to use NumPy by exploring several interesting examples. You’ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You’ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function. Topics: 00:00:00 – Introduction 00:02:41 – Python documentary 00:07:44 – Getting involved in open source 00:12:04 – Numeric Python 00:15:36 – SciPy and the SciPy community 00:17:35 – Starting to think about entrepreneurship 00:18:16 – NumPy evolving from the work of Numeric 00:22:01 – Sponsor: Influxdata 00:22:53 – Python as controlling code for lower-level libraries 00:23:37 – Numba open-source JIT compiler 00:30:09 – Starting to build in Python before learning it all 00:34:45 – Python as the language AI generates 00:36:31 – Guilds and sharing knowledge 00:40:15 – More NumPy backstory 00:46:36 – Contributing to Python 00:48:24 – Video Course Spotlight 00:49:41 – The investment of companies in Python 00:51:22 – Quansight and businesses in open source 00:53:09 – Open Teams and Quansight details 00:57:14 – NumFOCUS and Anaconda 00:58:51 – FairOSS 01:02:36 – Documenting these efforts 01:05:37 – What are you excited about in the world of Python? 01:07:12 – What do you want to learn next? 01:08:10 – How can people follow your work online? 01:10:03 – Thanks and goodbye Show Links: Python: The Documentary - OFFICIAL TRAILER - Coming August 28 - YouTube The Python Matrix Object: Extending Python for Numerical Computation Jim Fulton Jim Hugunin - Home History of SciPy - SciPy wiki dump SciPy NumPy Numba: A High Performance Python Compiler LPython - High performance typed Python compiler OpenTeams: Open SaaS AI Solutions Quansight Consulting OpenTeams Incubator NumFOCUS: A Nonprofit Supporting Open Code for Better Science Anaconda FairOSS faster-cpython Travis Oliphant (@teoliphant) / X Travis Oliphant - LinkedIn Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Stacks and Queues: Selecting the Ideal Data Structure NumPy Techniques and Practical Examples Support the podcast & join our community of Pythonistas

Selecting Inheritance or Composition in Python

Aug 15th, 2025 12:00 PM

When considering an object-oriented programming problem, should you prefer inheritance or composition? Why wouldn’t it just be simpler to use functions? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. Christopher shares an article about structuring code using inheritance, composition, or only functions. We discuss how the piece is a good exploration of the trade-offs of each solution. Unlike the tutorials beginners typically encounter while learning the fundamentals, the article goes much deeper into the “why” of object-oriented programming. We also share several other articles and projects from the Python community, including a news roundup, processing audio in Python, reasons why you shouldn’t call dunder methods, smuggling arbitrary data through an emoji, an HTML to markdown converter, and a library to convert Python requests into curl commands. Course Spotlight: Single and Double Underscore Naming Conventions in Python In this video course, you’ll learn a few Python naming conventions involving single and double underscores (_). You’ll learn how to use this character to differentiate between public and non-public names in APIs, write safe classes for subclassing purposes, avoid name clashes, and more. Topics: 00:00:00 – Introduction 00:02:23 – Python 3.13.6 Released 00:02:47 – Django 5.2.5 Released 00:02:55 – Django REST Framework Release v3.16.1 00:03:09 – Narwhals v2.0.0 Released 00:03:22 – mypy 1.17 Released 00:03:42 – PEP 798: Unpacking in Comprehensions 00:04:11 – PEP 799: A Dedicated Profilers Package for Organizing Python Profiling Tools 00:06:12 – PyPI Users Email Phishing Attack 00:07:33 – Django in Action 00:08:00 – Call for proposals deadline - PyCon NL 00:08:59 – Python Audio Processing With pedalboard 00:18:49 – Smuggling Arbitrary Data Through an Emoji 00:21:53 – Don’t Call Dunder Methods 00:28:51 – Video Course Spotlight 00:30:27 – Inheritance Over Composition, Sometimes 00:40:03 – html-to-markdown: HTML to Markdown Converter 00:42:20 – curlify: A library to convert Python requests request object into curl commands 00:44:18 – transfunctions: Support Both Sync and Async 00:45:18 – Thanks and goodbye Survey: Listener Survey - Help Shape the Future of the Real Python Podcast News: Python 3.13.6 Released Django 5.2.5 Released Django REST Framework Release v3.16.1 Narwhals v2.0.0 Released Mypy 1.17 Released PEP 798: Unpacking in Comprehensions (Added) PEP 799: A Dedicated Profilers Package for Organizing Python Profiling Tools (Added) PyPI Users Email Phishing Attack – PyPI users are being targeted by an email phishing attack attempting to trick them into logging into a fake PyPI site. This post from the Security Engineer at PyPI discusses what’s happening and what you should do about it. There’s also a follow-up post. PyCon NL 2025 - Call for Papers Django in Action - Christopher Trudeau - Code ladjango40 Topics: Python Audio Processing With pedalboard – The pedalboard library for Python is aimed at audio processing of various sorts, from converting between formats to adding audio effects. This post summarizes a PyCon US talk on pedalboard and its uses. Smuggling Arbitrary Data Through an Emoji – Unicode includes flexibility through the use of variation selectors. These include the ability to change characters through a consecutive series of coding points. But, when used with code points that don’t need them, they’re ignored, so you can hide data in them. Don’t Call Dunder Methods – It’s best to avoid calling dunder methods. It’s common to define dunder methods, but uncommon to call them directly. Inheritance Over Composition, Sometimes – In an older post, Adrian wrote some code using inheritance. He got questions from his readers asking why it wouldn’t just be simpler to use functions. This post re-implements the code with inheritance, composition, and plain old functions, then compares the approaches. Projects: html-to-markdown: HTML to Markdown Converter curlify: A library to convert Python requests request object to curl command transfunctions: Support Both Sync and Async Additional Links: Working with Audio in Python (feat. Pedalboard) - Peter Sobot - YouTube Python’s Magic Methods: Leverage Their Power in Your Classes – Tutorial Level up your Python skills with our expert-led courses: Class Concepts: Object-Oriented Programming in Python Single and Double Underscore Naming Conventions in Python Inheritance and Internals: Object-Oriented Programming in Python Support the podcast & join our community of Pythonistas

Harnessing the Power of Python Polars

Aug 8th, 2025 12:00 PM

What are the advantages of using Polars for your Python data projects? When should you use the lazy or eager APIs, and what are the benefits of each? This week on the show, we speak with Jeroen Janssens and Thijs Nieuwdorp about their new book, Python Polars: The Definitive Guide. Jeroen and Thijs describe how they were introduced to Polars while working at Xomnia. They were converting a large data project to Python and saw surprising speed increases using the new library. We discuss converting projects from pandas to Polars, getting away from indexes, consistent syntax, and using lazy vs eager APIs. Along the way, Jeroen and Thijs offer tips for getting the most out of Polars in your code. We dig into the process of writing a definitive guide and the advantages of working collaboratively on a book project. They also share resources for practicing data wrangling and building visualizations with Pydy Tuesday. 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:47 – Polars start at Xomnia 00:04:08 – Putting Polars into production 00:07:18 – Realizing the speed differences 00:08:49 – Converting the project from R to Python 00:14:34 – How did Polars improve the project? 00:16:34 – Making the code more ergonomic and readable 00:19:21 – Only grabbing the data that is needed 00:20:37 – Titling and deciding to write the book 00:24:40 – Advantages to collaboration 00:29:34 – What were you excited to include in the book? 00:31:55 – Working with different engines and Nvidia’s Cuda 00:35:05 – Defining a Polars expression 00:36:11 – Transitioning from pandas to Polars 00:37:34 – Not needing an index 00:39:56 – What inspired the syntax? 00:45:01 – Defining lazy vs eager workflows 00:49:16 – Examples covered in first chapter preview 00:51:51 – Video Course Spotlight 00:53:14 – Data formats and Arrow 00:55:41 – Working with NaN, null, or None 00:58:11 – Measuring performance through a benchmark 00:59:12 – Advantages to working with the Discord community 01:02:32 – Code examples and applying the techniques 01:03:34 – Pydy Tuesday 01:05:47 – What are you excited about in the world of Python? 01:09:21 – What do you want to learn next? 01:13:26 – What’s the best way to follow your work online? 01:14:14 – Thanks and goodbye Survey: Listener Survey - Help Shape the Future of the Real Python Podcast Show Links: Python Polars: The Definitive Guide Janssens & Nieuwdorp - What we learned by converting a large codebase from Pandas to Polars - YouTube Polars — DataFrames for the new era polars · PyPI Xomnia - Home Page Episode #140: Speeding Up Your DataFrames With Polars Data Science at the Command Line - Jeroen Janssens Tidyverse PySpark Overview — PySpark 4.0.0 documentation Episode #193: Wes McKinney on Improving the Data Stack & Composable Systems Apache Arrow TPC-H Homepage Community – Python Polars: The Definitive Guide pydytuesday: A Python package to download TidyTuesday datasets PydyTuesday - Python How-to Videos - YouTube Astral: High-performance Python tooling Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv uv: An extremely fast Python package and project manager, written in Rust. PEP 723 – Inline script metadata Inline script metadata - Python Packaging User Guide Package Your Python Code as a CLI - PyData London 25 - YouTube marimo - A next-generation Python notebook The Rust Programming Language Book Pimsleur - Learn New Languages Online Official Rosetta Stone - How Language Is Learned Thijs Nieuwdorp Jeroen Janssens Python Polars: The Definitive Guide Level up your Python skills with our expert-led courses: Working With Python Polars Graph Your Data With Python and ggplot Working With Missing Data in Polars Support the podcast & join our community of Pythonistas

Get this podcast on your phone, Free

Create Your Podcast In Minutes

  • Full-featured podcast site
  • Unlimited storage and bandwidth
  • Comprehensive podcast stats
  • Distribute to Apple Podcasts, Spotify, and more
  • Make money with your podcast
Get Started
It is Free