

The Real Python Podcast
Real Python
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.
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.
Episodes
Mentioned books

13 snips
May 1, 2020 • 1h 27min
AsyncIO + Music, Origins of Black, and Managing Python Releases
Łukasz Langa, release manager for Python 3.8 and 3.9, discusses AsyncIO with Music at PyCon 2020. Topics include event loop comparisons, coroutines, uvloop, and origins of his code formatter, Black. He also shares insights on EdgeDB and transitioning back to Poland.

Apr 24, 2020 • 55min
Python REST APIs and The Well-Grounded Python Developer
Are you interested in building REST APIs with Flask and SQLAlchemy? This week we have Doug Farrell on the show. We talk about his four-part Real Python article series on Python REST APIs.
We discuss the various Python tools and libraries used in the series. Doug also shares his practices for continuous learning. Doug has worked in process control, embedded systems, and has a long background in software development.
He’s currently a developer at ShutterFly, and discusses developing tools for his internal customers. He also teaches Python to kids at a STEM school near where he lives.
Doug is writing a book for Manning Publications, “The Well-Grounded Python Developer”. The book is currently available in an early access state. And as always please check out all the additional resources and tools that Doug discusses, they are all gathered for you in the show notes.
Topics:
00:00:00 – Introduction
00:01:30 – Doug’s programming background
00:06:16 – Building a Polargraph
00:08:51 – When did you get into Python?
00:10:43 – Working at Shutterfly
00:13:45 – How does Python help at Shutterfly?
00:16:21 – Difficulties for a self-taught developer
00:18:58 – How do you keep honing your skills?
00:20:32 – Writing articles
00:22:04 – Python REST APIs With Flask, Connexion, and SQLAlchemy Series
00:27:54 – Picking tools for REST APIs
00:36:27 – The Well-Ground Python Developer Book
00:39:27 – What topic are you most interested in covering?
00:42:35 – How has working with hardware helped you become a better programmer?
00:45:36 – Something you thought you knew about Python, but were wrong about?
00:46:25 – What’s a good tool to use for profiling?
00:47:34 – Getting up to speed on data science
00:50:45 – What are you excited about in the world of Python?
00:53:26 – Contact info, thank you and sign off
Show links:
Python REST APIs With Flask, Connexion, and SQLAlchemy
Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2
Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3
Build a JavaScript Front End for a Flask API (Previously Part 4)
API Integration in Python – Part 1
Flask Tutorials - Real Python
SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper
marshmallow: simplified object serialization
Swagger - API Development for Everyone
Connexion - Swagger/OpenAPI First framework for Python
Serialization - Wikipedia article
Working With JSON Data in Python - Real Python Article
Ajax - Wikipedia article
What’s a polargraph
Polargraph (vertical plotter / drawing machine) written in Go
The Python Profilers - docs.python.org
Python Timer Functions: Three Ways to Monitor Your Code - Real Python
Doug’s personal website
The Well-Grounded Python Developer - Early Access Book
Doug’s Linked-In Profile
Level up your Python skills with our expert-led courses:
Working With JSON in Python
Exploring Basic Data Types in Python
Support the podcast & join our community of Pythonistas

Apr 17, 2020 • 1h 3min
Exploring CircuitPython
Have you ever wanted to explore using Python with electronics? CircuitPython is a great platform to get started with. This week we have Thea Flowers on the show. Thea has been creating several hardware projects based around CircuitPython, and she talks about getting started on the platform.
She also answers questions about how she taught herself to design and prototype printed circuit boards. Thea discusses several of her open source projects, including Nox, ConductHotline, and getting involved with CircuitPython.
Thea was the conference co-chair for PyCascades, and we talk about how someone could get involved in volunteering for conferences. We also discuss building diversity in the community.
This episode was initially recorded at an earlier date, so we asked Thea to come back for a few minutes to discuss updates on her projects and about a recent honor she received.
Topics:
00:00:00 – Introduction
00:01:25 – Thea’s programming background
00:02:45 – Working with Google Cloud Platform
00:04:10 – Flutter developer relations
00:04:52 – Learning Python
00:06:07 – Working on open source projects
00:06:33 – Nox - Automated Python testing
00:07:03 – ConductHotline
00:07:38 – Contributing to CircuitPython
00:07:53 – More background on Nox and Tox
00:10:03 – Getting involved with CircuitPython
00:12:38 – MicroPython and CircuitPython
00:14:20 – Suggestions for starter board or kit
00:15:49 – What are you excited about in CircuitPython?
00:16:31 – Nina Zakharenko CircuitPython project
00:17:47 – Things you’d like to see improved in CircuitPython?
00:21:30 – Working toward consensus in open source projects?
00:25:41 – Winterbloom - Big Honking Button
00:30:25 – Creating circuit boards
00:34:32 – Winterbloom - Sol
00:38:49 – Code editor for CircuitPython
00:40:08 – Something you thought you knew about Python, but were wrong about?
00:42:14 – What are you excited about in the world of Python?
00:44:21 – Do you listen to music when coding?
00:45:29 – Being an organizer for PyCascades
00:46:53 – Getting involved and volunteering for events
00:48:16 – Ways to increase diversity
00:53:51 – Extended episode conversation
00:54:25 – Updates on the WInterbloom projects
00:55:24 – 2020 Q1 PSF Fellow Member!
00:56:32 – PyCon 2020 moves to online only
00:58:45 – How would you learn Python if starting from scratch?
01:02:10 – Thanks and ending
Show links:
Thea’s blog: thea.codes
GameMaker
Google Cloud platform
Flutter: UI toolkit
Nox
Break the Cycle: Three excellent Python tools to automate repetitive tasks - Pycon 2019
ConductHotline
Genesynth: Creating a Sega-inspired synthesizer
Circuit Python
Contributing to CircuitPython
Lessons learned from building a custom CircuitPython board
Circuit Playground Express
Nina Zakharenko CircuitPython Twitch Streams
Thea’s thoughts on CircuitPython: Blog post
Winterbloom Store
John Edgar Parks: Sol quantizing demo
DigiKey KiCad series
Code with Mu
Celeste: video game soundtrack
PyCascades
PSF Fellows 2020 Q1
PyCon 2020: Online
Level up your Python skills with our expert-led courses:
Threading in Python
Arduino With Python: Getting Started
Test-Driven Development With pytest
Support the podcast & join our community of Pythonistas

11 snips
Apr 10, 2020 • 1h 10min
Learning Python Through Errors
Do you get upset and frustrated when you experience errors running your Python code? This week we have Martin Breuss on the show. We discuss how to learn Python through errors, and how errors really are your friends.
Martin is a video course creator here at Real Python, and we talk briefly about several courses he’s created. We focus on his course about getting started with Django, as a jumping off point for the discussion.
Martin talks about his work with Coding Nomads, and teaching Python around the world. He also provides some tips on debugging and writing good questions.
This episode was recorded at an earlier date, and because of recent events Martin came back to discuss a new #StayAtHome Mentorship Program he’s working on. The program is meant not only for learners but also for those who want to try their hand at being a mentor. We also answer our first listener submitted question.
Topics:
00:00:00 – Introduction
00:01:18 – Martin Breuss - Introduction
00:04:52 – Programming background and MOOCs
00:10:17 – Creating Courses for Real Python
00:12:02 – Real Python - Django Course
00:14:50 – How can errors teach you?
00:18:27 – Reading errors from Django
00:22:31 – Working with Coding Nomads
00:24:16 – Common frustrations for students
00:26:52 – Comments and forums
00:29:46 – Asking good questions
00:34:24 – Debugging tips
00:36:37 – Course: Finding the right python code editor
00:42:46 – What are you excited about?
00:46:05 – MacOS Catalina Python issue
00:47:30 – Music for programming
00:48:51 – Extended episode details
00:49:29 – #StayAtHome Mentorship Program
00:58:48 – Listener submitted question
00:59:17 – How would you learn Python from scratch?
01:09:39 – Final thanks and links
Show links:
Finding the Perfect Python Code Editor - Video Course
Get Started With Django: Build a Portfolio App - Video Course
Get Started With Django Part 1: Build a Portfolio App - Original Article
Using Jupyter Notebooks - Video Course
Variables in Python - Video Course
Beautiful Soup: Build a Web Scraper With Python - Article
CodingNomads
CodingNomads Platform
AI Course With Sebastian Thrun and Peter Norvig
Rice University - An Introduction to Interactive Programming in Python
MacOS Catalina Python/GCC compiler issue
I don’t like notebooks - Jupyter Notebook talk by Joel Grus
FoxDot_ Live music coding with Python and SuperCollider
Leap Motion Controller (The hand tracker)
Geco - for making music with Leap Motion Controller
#StayAtHome Mentorship Program
Teaching Python Podcast
Humble Bundle
Pythonista Café
Real Python Community
Project Euler
Sololearn - Code learning app
m1m0 - Code learning app
Music to code to links:
Chillhop (The eternally studying girl)
Related Article on Her Test Results
Noisli - Just Noises
Classical music playlists on youtube
Level up your Python skills with our expert-led courses:
Getting Started With Django: Building a Portfolio App
Finding the Perfect Python Code Editor
Using Jupyter Notebooks
Support the podcast & join our community of Pythonistas

Apr 3, 2020 • 43min
Effective Python and Python at Google Scale
Have you been using Python for a while, but want to be more effective with your code? This week we have Brett Slatkin on the show. We talk about the 2nd edition of his book Effective Python.
Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3. He answers questions about who is the intended developer for the book.
Brett also discusses working on Google App Engine, and what it’s like to develop and maintain Python applications at Google Scale. Brett mentions a brief anecdote about working with Guido van Rossum, while they both worked at Google. He also provides advice about maintaining a large and aging Python code base.
Topics:
00:00:00 – Introduction
00:01:13 – Brett Slatkin - Programming background
00:02:00 – Python background and start at Google
00:03:22 – Working on Google infrastructure
00:05:36 – Is Python a good tool for infrastructure?
00:07:28 – PubSubHubbub
00:09:06 – Lobste.rs
00:10:03 – Starting to write Effective Python
00:11:12 – Who is the intended developer for the book?
00:12:45 – About the Effective series book structure
00:14:39 – What were the sections you were excited to rewrite?
00:18:41 – Moving away from Metaclasses in modern Python
00:20:43 – Python 3.8 in the book
00:21:03 – Using the walrus operator to build a switch/case statement
00:23:22 – Why did you feel Python made you a more productive developer?
00:28:02 – Working with Guido van Rossum
00:31:15 – What’s it like to work on the same code base for years?
00:33:35 – What is code rot?
00:35:10 – What would you put in a book about refactoring?
00:37:06 – What’s something you thought you knew about Python, but were wrong?
00:38:42 – What are you excited about in the world of Python?
00:40:24 – Do you listen to music when you code?
00:42:00 – End Credits
Show links:
Brett’s Blog - One Big Fluke
Real Python Community Interview with Brett Slatkin
PubSubHubbub - An open, simple, web-scale and decentralized pubsub protocol
Google App Engine
Alex Martelli - Wikipedia
Python in a Nutshell by Alex Martelli
Effective Python - 2nd Edition
“The Best Python Books” - RP Review of “Effective Python”
What is the appeal of dynamically-typed languages?
Python Type Checking - Real Python Article
Item 10: Prevent Repetition with Assignment Expressions
Lobste.rs - Computing-focused community
Scott Myers - Effective Effective Books - Blog Post
Bret Victor - “The Future of Programming”
Bret Victor - References for “The Future of Programming”
PyCon 2016: “Refactoring Python: Why and how to restructure your code”
What are you excited about in the world of Python?
Brett’s Pick:
PEP 554 – Multiple Interpreters in the Stdlib
Level up your Python skills with our expert-led courses:
Threading in Python
Cool New Features in Python 3.8
Python Type Checking
Support the podcast & join our community of Pythonistas

12 snips
Mar 27, 2020 • 55min
Learn Python Skills While Creating Games
Is game programming a good way to develop your Python programming skills? This week we have Jon Fincher on the show. Jon is an author on the Real Python team, and we talk about his recent articles on PyGame and Arcade.
Jon talks about his background working at Microsoft. We discuss if a game would make a good portfolio piece. We compare and contrasts the two popular Python game libraries of Arcade and PyGame. Jon also reveals ways to find assets for your own creations.
Want your question featured on the show? Here’s a new thing we’re trying out. Send us your question at realpython.com/podcast-question and we might feature it on a future episode of the show.
Topics:
00:00:00 – Introduction
00:00:56 – Jon Fincher
00:05:17 – Start with Real Python
00:07:08 – Is game programming a good way to learn?
00:13:16 – Setting specific goals and limits
00:19:28 – Is a game a good portfolio piece?
00:21:07 – PyWeek 29
00:22:58 – Al Sweigart books
00:25:00 – Comparing PyGame and Arcade
00:37:34 – Finding game art and other assets
00:41:04 – Licensing game assets
00:44:29 – Packaging your game and sharing
00:47:34 – What are you excited about in the world of Python
00:50:20 – Final Thoughts
00:54:13 – Conclusion
Show links:
TEALS: Help us close the computer science gap
Scrum for One
Raymond Chen: The Old New Thing Blog - You don’t know what you do until you know what you don’t do
PyGame
Real Python Article - PyGame: A Primer on Game Programming in Python
Pygame Zero
Arcade
Real Python Article - Arcade: A Primer on the Python Game Framework
The Python Arcade Library: Reddit Group
PyWeek 29: March 22, 2020
Quill Creates
Quill Twitch Stream
Al Sweigart Twitch Stream:
Al Sweigart: Automate the Boring Stuff With Python
Al Sweigart: Invent With Python & Pygame
Scratch (non-Python)
Snap! (non-Python)
Godot Game engine (non-Python)
Unity Game Engine (non-Python)
Unreal Game Engine (non-Python)
Tiled Map Editor
Pymunk: Pythonic 2D Physics library
OpenGameArt
Font assets
Distributing your Game: Real Python article on PyInstaller
Beeware: Write once. Deploy everywhere
Audacity: Free, Open Source, Cross-platform audio software
What are you excited about in the world of Python?
Jon’s pick:
ursina 3D Engine: Open Source Game Engine
Panda3D: The Open Source Framework for 3D Rendering and Games
Chris’s pick:
Real Python Podcast: Submit a Question
Level up your Python skills with our expert-led courses:
Make a 2D Side-Scroller Game With PyGame
Intro to Object-Oriented Programming (OOP) in Python
Support the podcast & join our community of Pythonistas

5 snips
Mar 20, 2020 • 50min
Python Decorators and Writing for Real Python
Do you want to learn more about Python decorators? Have you ever wondered what goes on behind the scenes to create a Real Python article? In this first episode, We have Geir Arne Hjelle from the Real Python team on the show.
You’ll learn about Geir Arne’s background as a Pythonista and PyCon speaker, the tutorials he’s written for the site, how Python decorators can help you write better code, and what Real Python’s tutorial publishing process looks like behind the scenes.
Note: This episode was recorded earlier. We discuss PyCon US 2020 and Geir Arne’s planned tutorial. At the time this episode was released PyCon US 2020 was currently looking at re-scheduling or a potential cancelation. Updates will be provided in upcoming episodes.
Topics:
00:00:00 – Introduction
00:01:39 – Geir Arne Python Background
00:04:16 – Real Python Background
00:05:55 – Real Python Editing Process
00:09:00 – Christopher’s Real Python Background
00:10:45 – Working on Decorators
00:13:00 – Decorators in the wild
00:16:30 – Pycon 2019 Talk - Plugins
00:19:32 – Pyplugs
00:20:09 – Links to talk materials
00:20:29 – Pycon 2020 Tutorial - Decorators
00:22:59 – Euro SciPy
00:23:47 – Real Python Meetup Pycon 2019
00:25:05 – More on the Decorators Article
00:26:18 – Slack Decorators Q&A
00:27:29 – More on Euro SciPy
00:28:12 – Current Position at Amesto NextBridge
00:32:09 – Decorators Examples
00:39:47 – What are You Excited About in Python
00:47:04 – PyCon 2020 Tutorial on Decorators additional
00:49:45 – Conclusion
Links from the show:
Real Python Article: Primer on Python Decorators
Real Python Course: Python Decorators 101
Real Python Article: Python Timer Functions: Three Ways to Monitor Your Code
Join the Real Python Team: Apply to become a Tutorial Author
Codetiming: PyPI Package
PyPlugs: PyPI Package
PyConfs: PyPI Package
Geir Arne’s PyCon 2019 Talk on Plugins + Video
IPython: Alternative REPL
bpython: Alternative REPL
Discover bpython: A Python REPL With IDE-Like Features
PyCon 2020
Geir Arne’s Decorators Tutorial at PyCon 2020
EuroSciPy 2020
Level up your Python skills with our expert-led courses:
Python Decorators 101
Writing Beautiful Pythonic Code With PEP 8
Cool New Features in Python 3.8
Support the podcast & join our community of Pythonistas

Mar 6, 2020 • 2min
About the Show
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 to hear what’s new in the world of Python programming and become a better coder.
Level up your Python skills with our expert-led courses:
Welcome to Real Python!
Support the podcast & join our community of Pythonistas


