The Real Python Podcast
The Real Python Podcast

The Real Python Podcast

Real Python

Overview
Episodes

Details

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.

Recent Episodes

Moving Towards Spec-Driven Development
DEC 19, 2025
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 the differences between declarative and imperative programming. We also discuss Kiro, a new integrated development environment from Amazon, built around turning prompts into structured requirements. We examine the various types of documents used to specify tasks, requirements, design, and steering. Real Python Resource Spotlight: Python Coding With AI - Learning Path Explore tools and workflows for AI in Python: coding partners, prompt engineering, RAG, ChromaDB, FastAPI chatbots, and MCP integrations. Stay current and start today. Topics: 00:00:00 – Introduction 00:02:41 – How did you get involved in open source? 00:07:23 – How would you describe spec-driven development? 00:10:49 – Balancing the desire to start coding with defining the project 00:13:06 – What does this documentation look like? 00:18:27 – Declarative vs imperative programming 00:24:13 – Infrastructure as part of the design 00:27:03 – Getting started with a small project 00:29:05 – Committing the spec files along with the code 00:31:08 – What is steering? 00:34:17 – How to get better at distilling specifications? 00:38:59 – What are anti-patterns in spec-driven development? 00:41:08 – Should you avoid third-party libraries? 00:43:16 – Real Python Resource Spotlight 00:44:39 – Getting started with Kiro 00:51:00 – Neuro-symbolic AI 00:55:41 – What are you excited about in the world of Python? 00:58:36 – What do you want to learn next? 01:00:18 – How can people follow your work online? 01:00:57 – Thanks and goodbye Show Links: Kiro and the future of AI spec-driven software development - Kiro Marc Brooker’s Blog - Marc’s Blog Kiro: The AI IDE for prototype to production Beyond Prompts: The Future of AI-Assisted Development | Marc Brooker - YouTube Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl Declarative programming - Wikipedia Behaviour-Driven Development - Cucumber Steering - Docs - Kiro Best practices - Docs - Kiro CLI - Kiro Does your code match your spec? - Kiro Amazon takes on AI’s biggest nightmare: Hallucinations - Fast Company Neuro-symbolic AI - Wikipedia Spec-Driven Development: The Waterfall Strikes Back G-code - Wikipedia Marc Brooker (@MarcJBrooker) / X Marc Brooker (@[email protected]) Marc Brooker - LinkedIn Level up your Python skills with our expert-led courses: Getting Started With Claude Code First Steps With LangChain Building a Neural Network & Making Predictions With Python AI Support the podcast & join our community of Pythonistas
play-circle icon
61 MIN
Exploring Quantum Computing & Python Frameworks
DEC 5, 2025
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 quantum computing promises speed-ups over classical computers. She also shares tools for designing quantum circuits with Python. 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:31 – Writing for Real Python 00:02:37 – What drew you to quantum computing? 00:04:27 – What is quantum advantage? 00:07:10 – Quantum computing basics article 00:09:32 – Linear algebra 00:10:32 – What is a quantum computer? 00:14:52 – Superconducting devices 00:17:29 – Looking for ways to advance computing 00:19:17 – Superposition of qubits and entanglement 00:22:43 – Video Course Spotlight 00:24:27 – Potential areas of research 00:26:45 – IBM quantum computing & Qiskit 00:29:43 – Describing superposition as a spinning coin 00:30:41 – Other types of quantum computers 00:32:08 – Qiskit Global Summer School 2025 00:32:48 – Qiskit Advocate 00:33:49 – What do you see in the near future? 00:37:42 – What are the type of HPCs? 00:40:05 – Additional resources to learn more 00:43:32 – Answering to skeptics 00:47:51 – What are you excited about in the world of Python? 00:48:24 – What do you want to learn next? 00:49:04 – What’s the best way to follow your work online? 00:49:25 – Thanks and goodbye Show Links: Quantum Computing Basics With Qiskit Quantum mechanics - Wikipedia Qubit - Wikipedia Quantum superposition - Wikipedia Quantum entanglement - Wikipedia Quantum supremacy - Wikipedia Linear Algebra in Python: Matrix Inverses and Least Squares – Real Python Linear Algebra - Khan Academy Quantum Echoes: Towards real world applications - YouTube Meet Willow, our state-of-the-art quantum chip IBM and Vanguard explore quantum optimization for finance Register today for Qiskit Global Summer School 2025 Aqora: Explore Quantum Computing for Real-World Applications Qiskit - IBM Quantum Computing IBM Quantum Platform Cirq - Google Quantum AI Xanadu - PennyLane Classiq - Quantum Computing Software - Limitless Development | Computer architecture - Wikipedia NumPy uv About Negar Vahid – Real Python The Path Integral Negar Vahid - LinkedIn Level up your Python skills with our expert-led courses: Profiling Performance in Python NumPy Techniques and Practical Examples Python Project Management With uv Support the podcast & join our community of Pythonistas
play-circle icon
50 MIN
Building a FastAPI Application & Exploring Python Concurrency
NOV 21, 2025
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. Christopher covers updates to his Real Python video course about concurrency in Python. The course digs into what concurrency means in Python and why you might want to incorporate it in your code. He describes the different methods and demonstrates how to approach coding using threading, asyncio, and multiprocessing. We also share several other articles and projects from the Python community, including a news roundup, the PSF fundraiser campaign for 2025, where Python stores attributes, performance hacks for faster Python code, a project to transform functions into a web interface, and a Python disk-backed cache. Course Spotlight: Python Descriptors Learn what Python descriptors are, how the descriptor protocol works, and when descriptors are useful, with practical, hands-on examples. Topics: 00:00:00 – Introduction 00:02:18 – Django Security Release 00:02:46 – Django Is Now a CVE Numbering Authority (CNA) 00:03:53 – An Annual Release Cycle for Django 00:04:12 – PEP 810: Explicit Lazy Imports (Accepted) 00:04:27 – PSF Board Office Hour Sessions for 2026 00:05:42 – PyCon US 2026: Call for Proposals Open 00:06:15 – PSF Fundraiser campaign for 2025 00:10:12 – A Close Look at a FastAPI Example Application 00:16:36 – Speed Up Python With Concurrency 00:21:08 – __dict__: Where Python Stores Attributes 00:25:59 – Video Course Spotlight 00:27:17 – 10 Smart Performance Hacks for Faster Python Code 00:29:56 – FuncToWeb: Transform Python Functions Into a Web Interface 00:32:48 – python-diskcache: Python Disk-Backed Cache 00:34:07 – Thanks and goodbye News: Django Security Release: 5.2.8, 5.1.14, and 4.2.26 Django Is Now a CVE Numbering Authority (CNA) An Annual Release Cycle for Django - Buttondown PEP 810: Explicit Lazy Imports (Accepted) PSF Board Office Hour Sessions for 2026 PyCon US, Long Beach CA, 2026: Call for Proposals Open PSF Fundraiser campaign for 2025 Connecting the Dots: Understanding the PSF’s Current Financial Outlook Show Links: A Close Look at a FastAPI Example Application – Set up a FastAPI example app, add path and query parameters, and handle CRUD operations with Pydantic for clean, validated endpoints. Speed Up Python With Concurrency – Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing. __dict__: Where Python Stores Attributes – Most Python objects store their attributes in a __dict__ dictionary. Modules and classes always use __dict__, but not everything does. 10 Smart Performance Hacks for Faster Python Code – Some practical optimization hacks, from data structures to built-in modules, that boost speed, reduce overhead, and keep your Python code clean. Projects: FuncToWeb: Transform Python Functions Into a Web Interface python-diskcache: Python Disk-Backed Cache Additional Links: Become a Member of the PSF - Python Software Foundation FastAPI Welcome to Pydantic Quiz: A Close Look at a FastAPI Example Application – Practice FastAPI basics with path parameters, request bodies, async endpoints, and CORS. Build confidence to design and test simple Python web APIs. Diskcache, more than caching - Bite code! Level up your Python skills with our expert-led courses: Python REST APIs With FastAPI Python Descriptors Speed Up Python With Concurrency Support the podcast & join our community of Pythonistas
play-circle icon
35 MIN
Preparing Data Science Projects for Production
NOV 14, 2025
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. Course Spotlight: Python Project Management With uv Create and manage Python projects with uv, a blazing-fast package and project manager built in Rust. Learn setup, workflow, and best practices. Topics: 00:00:00 – Introduction 00:01:27 – Recent article about top six visualization libraries 00:02:19 – How long have you been blogging? 00:03:55 – What do you cover in your book? 00:07:07 – Potential issues with notebooks 00:11:40 – Structuring data science projects 00:15:12 – Reproducibility and sharing notebooks 00:20:33 – Using Polars 00:26:03 – Advantages of marimo notebooks 00:34:21 – Video Course Spotlight 00:35:44 – Shipping a project in data science 00:42:10 – Advice on testing 00:49:50 – Creating importable parameter values 00:53:55 – Seeing the commit diff of a notebook 00:55:12 – What are you excited about in the world of Python? 00:56:04 – What do you want to learn next? 00:56:52 – What’s the best way to follow your work online? 00:58:28 – Thanks and goodbye Show Links: Production Ready Data Science by Khuyen Tran - CodeCut CodeCut Top 6 Python Libraries for Visualization: Which One to Use? - CodeCut Ruff uv Cookiecutter marimo - a next-generation Python notebook Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python Polars — DataFrames for the new era Episode #260: Harnessing the Power of Python Polars Narwhals Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries pytest documentation nbdime: Tools for diffing and merging of Jupyter notebooks. LangChain Build Production-Ready LLM Agents with LangChain 1.0 Middleware - CodeCut Build an LLM RAG Chatbot With LangChain Khuyen Tran - LinkedIn Khuyen Tran (@KhuyenTran16) - X Level up your Python skills with our expert-led courses: Working With Python Polars Getting Started With marimo Notebooks Python Project Management With uv Support the podcast & join our community of Pythonistas
play-circle icon
59 MIN
Advice for Writing Maintainable Python Code
NOV 7, 2025
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 community, including release news, modifying the REPL, differences between Polars and pandas, generating realistic test data in Python, investigating quasars with Polars and marimo, creating simple meta tags for Django objects, and a GUI toolkit for grids of buttons. Course Spotlight: Modern Python Linting With Ruff Ruff is a blazing-fast, modern Python linter with a simple interface that can replace Pylint, isort, and Black—and it’s rapidly becoming popular. Topics: 00:00:00 – Introduction 00:01:53 – PyTorch 2.9 Release 00:02:38 – Django 6.0 Beta 1 00:03:05 – Handy Python REPL Modifications 00:11:06 – Polars vs pandas: What’s the Difference? 00:17:55 – Faker: Generate Realistic Test Data in Python 00:22:06 – Video Course Spotlight 00:23:35 – Investigating Quasars With Polars and marimo 00:27:37 – Writing Maintainable Code 00:49:48 – buttonpad: GUI Toolkit for Grids of Buttons 00:52:10 – django-snakeoil: Simple Meta Tags for Django Objects 00:54:07 – Thanks and goodbye News: PyTorch 2.9 Release Django 6.0 Beta 1 Show Links: Handy Python REPL Modifications – Trey uses the the Python REPL a lot. In this post he shows you his favorite customizations to make the REPL even better. Polars vs pandas: What’s the Difference? – Discover the key differences in Polars vs pandas to help you choose the right Python library for faster, more efficient data analysis. Faker: Generate Realistic Test Data in Python – If you want to generate test data with specific types (bool, float, text, integers) and realistic characteristics (names, addresses, colors, emails, phone numbers, locations), Faker can help you do that. Investigating Quasars With Polars and marimo – Learn to visualize quasar redshift data by building an interactive marimo dashboard using Polars, pandas, and Matplotlib. You’ll practice retrieving, cleaning, and displaying data in your notebook. You’ll also build interactive UI components that live-update visualizations in the notebook. Discussion: Writing Maintainable Code – “Maintainable code can easily be the difference between long-lived, profitable software, and short-lived money pits.” Read on to see just what maintainable code is and how to achieve it. Projects: buttonpad: GUI Toolkit for Grids of Buttons django-snakeoil: Simple Meta Tags for Django Objects Additional Links: The Python Standard REPL: Try Out Code and Ideas Quickly – Real Python pyrepl-hacks: Hacky extensions and helper functions for the new Python REPL pandas - Python Data Analysis Library Polars — DataFrames for the new era Welcome to Faker’s documentation! SOLID Principles: Improve Object-Oriented Design in Python – Real Python The Pragmatic Programmer - Wikipedia Level up your Python skills with our expert-led courses: Modern Python Linting With Ruff Design and Guidance: Object-Oriented Programming in Python Investigating Quasar Data With Polars and Interactive marimo Notebooks Support the podcast & join our community of Pythonistas
play-circle icon
54 MIN