

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

Jul 30, 2021 • 1h 6min
Start Using a Debugger With Your Python Code
Are you still sprinkling print statements throughout your code while writing it? Print statements are often clunky and offer only a limited view of the state of your code. Have you thought there must be a better way? This week on the show, we have Nina Zakharenko to discuss her conference talk titled “Goodbye Print, Hello Debugger.”
We talk about how to get started debugging your code by adding a single keyword. Nina discusses the differences between debugging on the command line vs using the tools included with an Integrated Development Environment(IDE). She also shares tricks and best practices. If you haven’t seen Nina’s conference talk, it’s a great starting point.
We also talk about working through the last 18 months and how to recharge your creative batteries. We briefly discuss two other presentations Nina gave about CircuitPython and getting started with electronics and Python.
Course Spotlight: Python Debugging With pdb
In this hands-on course, you’ll learn the basics of using pdb, Python’s interactive source code debugger. pdb is a great tool for tracking down hard-to-find bugs, and it allows you to fix faulty code more quickly.
Topics:
00:00:00 – Introduction
00:01:46 – Follow up on PyCascades 2021 and 2022
00:02:45 – Election to the PSF Board
00:05:06 – Current levels of burnout
00:09:09 – Possible ways to recharge
00:12:18 – Goodbye Print, Hello Debugger
00:14:46 – What are the types of things you can examine the state of?
00:18:01 – Where to start?
00:22:37 – Sponsor: Sentry
00:23:39 – Why is debugging not shown as often in Python?
00:26:49 – Debugging in VSCode
00:29:37 – Adding breakpoints in Flask or Django Templates
00:31:32 – What is pdb and how does it compare to ipdb?
00:39:40 – What are common debugging mistakes?
00:43:50 – Video Course Spotlight
00:44:48 – Why include a disclaimer about the talk?
00:46:13 – Where did you learn about debugging?
00:49:23 – Nina’s conference talks about CircuitPython
00:58:33 – What are you excited about in the world of Python?
00:59:51 – What do you want to learn next?
01:04:02 – Social info
01:04:27 – Thanks and goodbye
Show Links:
Nina Zakharenko - Personal Website
PyCascades 2021
Python Software Foundation - Become a Member
Nina Zakharenko - Goodbye Print, Hello Debugger! - PyCon 2020
pdb — The Python Debugger: Python 3 Docs
IPython: Interactive Computing
Pre-commit: A framework for managing and maintaining multi-language pre-commit hooks
Python Morsels: Write better Python code in 30 minutes each week
Find & Fix Code Bugs in Python: Debug With IDLE: Real Python Article
Python Basics: Finding and Fixing Code Bugs: Real Python Video Course
Light Up Your Life With Python and LEDs - PyCon 2019 - YouTube
More Fun With Hardware and CircuitPython - IoT, Wearables, and more! - PyCon 2021 - YouTube
CircuitPython: The easiest way to program microcontrollers
Circuit Playground Express by Adafruit
Device Simulator Express: A VS code extension
IoT for Beginners - A Curriculum
The Big Book of Small Python Projects - Al Sweigart
Kreg® Pocket-Hole Jig 320
Conquer your cuts with the Adaptive Cutting System
Nina’s Twitter
Level up your Python skills with our expert-led courses:
Debugging in Python With pdb
The pandas DataFrame: Working With Data Efficiently
Documenting Python Projects With Sphinx and Read The Docs - Archived
Support the podcast & join our community of Pythonistas

Jul 23, 2021 • 57min
What Can You Do With Python and Counting Objects Using "Counter"
How is Python being used today, and what can you do with the language? Do you want to develop software, dive into data science and math, automate parts of your job and digital life, or work with electronics? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
We talk about a Real Python article that covers the incredible variety of ways you can use Python. David shares an article about the pythonic way to count objects using the Counter class from the collections module. We discuss the ways it can lead to cleaner and more efficient code.
We cover several other articles and projects from the Python community including, the inaugural CPython developer-in-residence, typeclasses in Python, GitHub Copilot writes a text-based game, friendlier tracebacks in REPLs (including Jupyter), 120+ interactive interview challenges, a module that helps you build complex pipelines of batch jobs, and a tool for plotting in the terminal.
Course Spotlight: Understanding Python List Comprehensions
Python list comprehensions make it easy to create lists while performing sophisticated filtering, mapping, and conditional logic on their members. In this course, you’ll learn when to use a list comprehension in Python and how to create them effectively.
Topics:
00:00:00 – Introduction
00:02:01 – Łukasz Langa Is the Inaugural CPython Developer-in-Residence
00:05:03 – What Can I Do With Python?
00:11:19 – Typeclasses in Python
00:17:59 – Sponsor: Sentry
00:19:01 – Copilot Writes a Text-Based Game in Python
00:27:31 – Python’s Counter: The Pythonic Way to Count Objects
00:34:14 – interactive-coding-challenges: 120+ Interactive Python Coding Interview Challenges With Anki Flashcards
00:38:11 – Video Course Spotlight
00:39:11 – Friendlier Tracebacks in REPLs (Including Jupyter)
00:49:37 – luigi: Python Module That Helps You Build Complex Pipelines of Batch Jobs
00:52:13 – plotext: Plotting in the Terminal
00:55:24 – Thanks and goodbye
Show Links:
Łukasz Langa Is the Inaugural CPython Developer-in-Residence
What Can I Do With Python? – You’ve finished a course or finally made it to the end of a book that teaches you the basics of programming with Python. You’ve learned about variables, lists, tuples, dictionaries, for and while loops, conditional statements, object-oriented concepts, and more. So, what’s next? What can you do with Python nowadays?
Typeclasses in Python – Sometimes you need to change the behavior of a function based on the type of argument passed to it. This is a classic example of polymorphism in programming. In this article, you’ll learn how this is typically done in Python, compare that to polymorphism in other languages, and see how the new classes library can make the whole process easier.
Copilot Writes a Text-Based Game in Python – GitHub’s new Copilot feature has a lot of people talking. The project’s goal is to be an AI pair programmer — a tool that can suggest entire lines of code or even entire functions! In this amusing article, one developer who gained access to Copilot’s technical preview shares how the AI wrote an entire text-based adventure game that turned out to be the solution to an exercise from a Python instructional book.
Python’s Counter: The Pythonic Way to Count Objects– In this step-by-step tutorial, you’ll learn how to use Python’s Counter to count several repeated objects at once. You’ll also learn how to use Counter objects to enhance other computations that you do in Python.
interactive-coding-challenges: 120+ Interactive Python Coding Interview Challenges With Anki Flashcards
Friendlier Tracebacks in REPLs (Including Jupyter) – Tracebacks are often the start of any Python debugging journey. But tracebacks can be difficult to read and confusing to beginners. The friendly-traceback project aims to lift the veil of confusion for tracebacks by providing more helpful error messages with lots of context. New updates to the project include better tracebacks in Jupyter Notebooks!
Projects:
luigi: Python Module That Helps You Build Complex Pipelines of Batch Jobs
plotext: Plotting in the Terminal
Additional Links:
I am the new CPython Developer in Residence: Łukasz Langa
Python Success Stories: python.org
Using FastAPI to Build Python Web APIs: Real Python Article
GitHub Copilot
GitHub Copilot: Fly With Python at the Speed of Thought
Anki: Powerful, Intelligent Flash Cards
friendly-traceback
Status of PEP657 in Python 3.11 by Pablo Galindo
Episode 69: Planning a Faster Future at the Python Language Summit
Metaflow: A Framework for Real-life Data Science
Lessons from a real Machine Learning project, part 1: from Jupyter to Luigi
Data pipelines, Luigi, Airflow: everything you need to know
Level up your Python skills with our expert-led courses:
Records and Sets: Selecting the Ideal Data Structure
Understanding Python List Comprehensions
Python Coding Interviews: Tips & Best Practices
Support the podcast & join our community of Pythonistas

Jul 16, 2021 • 58min
Planning a Faster Future at the Python Language Summit
Do you wonder what the future may hold for the Python language? Are there speed improvements coming soon? What if you could be in the room while the core developers discuss Python’s future? This week on the show, we have Joanna Jablonski, who was invited to the Python Language Summit 2021 as a journalist to summarize and document the event.
A small group of core developers from the Python community gather to work toward a healthy future for the language. Through presentations and group discussions, they share insights, ideas, and potential problems.
Joanna has been the executive editor at Real Python and she was invited to write a series of blog posts for the Python Software Foundation (PSF) that summarize the presentations and deeper conversations of the summit. We walk through the two days and discuss the topics covered.
Several of the presentations focused on performance and speeding up CPython. There were conversations about packaging, documentation, the standard library, handling exceptions, testing, and more.
Course Spotlight: Defining and Calling Python Functions
In this course, you’ll learn how to define and call your own Python function. You’ll also learn about passing data to your function and returning data from your function back to its calling environment.
Topics:
00:00:00 – Introduction
00:01:58 – What is the Python Language Summit?
00:06:44 – How do you summarize the talks?
00:08:17 – Terminology and technological level of the conversations
00:13:02 – PEP 654 — Exception Groups and except*
00:16:10 – Sponsor: Sentry
00:17:12 – Progress on Running Multiple Python Interpreters in Parallel in the Same Process
00:18:15 – CPython Performance Improvements at Instagram
00:20:41 – Making CPython Faster
00:23:22 – HPy — Present and Future
00:25:07 – Lightning Talks, Round 1
00:31:03 – Video Course Spotlight
00:32:34 – The Challenges of Packaging Python for a Linux Distro
00:36:12 – The Python Documentation Work Group
00:39:11 – What Is the stdlib?
00:42:07 – What Should I Work on as a Core Dev?
00:44:34 – Fuzzing and Testing Python With Properties
00:46:00 – Lightning Talks, Round 2
00:53:41 – What are you excited about in the world of Python?
00:54:46 – What do you want to learn next?
00:55:57 – Shout out and social connections
00:56:57 – Thanks and goodbye
Show Links:
Joanna Jablonski: Real Python Profile
Joanna Jablonski - Personal Site
Joanna’s Twitter
The 2021 Python Language Summit
The 2021 Python Language Summit: Welcome, Introductions, Guidelines
PEP 654 — Exception Groups and except*
Progress on Running Multiple Python Interpreters in Parallel in the Same Process
CPython Performance Improvements at Instagram
Making CPython Faster
HPy — Present and Future
Lightning Talks, Round 1
The Challenges of Packaging Python for a Linux Distro
The Python Documentation Work Group
What Is the stdlib?
What Should I Work on as a Core Dev?
Fuzzing and Testing Python With Properties
Lightning Talks, Round 2
Additional Links:
PEP 654 – Exception Groups and except*: Python Developer’s Guide PEP Index
Cinder: Instagram’s internal performance-oriented production version of CPython 3.8
CircuitPython: The easiest way to program microcontrollers
ABI - Application Binary Interface
Tiers of Execution in a high-performance interpreter for CPython
Mort, Elvis, Einstein, and You: Coding Horror
Ren’Py: A visual novel engine
Level up your Python skills with our expert-led courses:
Python Inner Functions
Defining and Calling Python Functions
Test-Driven Development With pytest
Support the podcast & join our community of Pythonistas

Jul 9, 2021 • 55min
Exploring the functools Module and Complex Numbers in Python
Are you ready to expand your Python knowledge into the intermediate to advanced territory? What tools are awaiting your discovery inside Python’s functools module? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
We discuss an article about the functools module, which adds functionality for caching, function overloading, better definitions for decorated functions, and more. David talks about a new Real Python article about working with complex numbers in Python. We also cover a tutorial about troubleshooting memory problems in Python.
We cover several other articles and projects from the Python community including, DevOps interview questions, correlation analysis in Python, pivot and plot data with pandas, how to use Python and OpenCV to play online chess with a real chessboard, and generating hardware pinout diagrams as SVG images.
Course Spotlight: Python Decorators 101
In this course on Python decorators, you’ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.
Topics:
00:00:00 – Introduction
00:01:56 – The Future of FastAPI and Pydantic Is Bright
00:04:33 – Simplify Complex Numbers With Python
00:10:37 – Functools: The Power of Higher-Order Functions in Python
00:18:40 – Sponsor: Sentry
00:19:42 – How to Pivot and Plot Data With Pandas
00:23:06 – devops-exercises: DevOps Interview Questions
00:32:09 – Video Course Spotlight
00:33:25 – Correlation Analysis 101 in Python
00:39:28 – How to Troubleshoot Memory Problems in Python
00:46:16 – Use Python and OpenCV to Play Online Chess With a Real Chessboard
00:49:28 – pinout: Generate Hardware Pinout Diagrams as SVG Images
00:54:21 – Thanks and goodbyes
Show Links:
The Future of FastAPI and Pydantic Is Bright – Not long ago there was some chatter on the internet about a change in Python 3.10 that would impact Python projects that check types at runtime. The discussion centered around FastAPI and Pydantic and had some folks worried about the future of those projects. In this article, FastAPI’s creator explains what the discussion was all about and why the future of FastAPI and Pydantic remains bright.
Simplify Complex Numbers With Python – In this tutorial, you’ll learn about the unique treatment of complex numbers in Python. Complex numbers are a convenient tool for solving scientific and engineering problems. You’ll experience the elegance of using complex numbers in Python with several hands-on examples.
Functools: The Power of Higher-Order Functions in Python – The functools module is one of the “hidden gems” of the Python standard library. This article takes you on a tour of everything in functools. You’ll learn how to implement caching, function overloading, and a whole lot more.
How to Pivot and Plot Data With Pandas – One of the challenges of working with data is knowing how to manipulate the data format for a particular analysis. And there’s no single correct format. You need to know how to melt, pivot, and transpose data into a format that fits whatever you’re analyzing. If you enjoy this article, be sure to also check out Stefanie’s Pandas Workshop.
devops-exercises: DevOps Interview Questions
Correlation Analysis 101 in Python – Correlation analysis is a useful part of exploratory data analysis. It can help you identify potential relationships between various features of your data. In this helpful guide, you’ll learn how to do correlation analysis in a pandas DataFrame. You’ll see how to display a correlation matrix as a heatmap and explore some guidelines for identifying when correlation might imply causation.
How to Troubleshoot Memory Problems in Python – Memory problems can be frustrating. They’re hard to diagnose and fix, and memory issues in Python applications can be especially frustrating thanks to the language’s garbage collection system. In this article, you’ll learn a six-step process for troubleshooting memory problems that the EvalML team used to solve a tricky problem with their library.
Projects:
play-online-chess-with-real-chess-board: Use Python and OpenCV to Play Online Chess With a Real Chessboard
pinout: Generate Hardware Pinout Diagrams as SVG Images
Additional Links:
functools: Python 3 Documentation
Primer on Python Decorators: Real Python Guide
Caching in Python Using the LRU Cache Strategy: Real Python Article
Caching in Python With lru_cache: Real Python Video Course
Measuring Memory Usage in Python: It’s Tricky!
Fritzing: Electronics Made Easy
KiCad EDA: A Cross Platform and Open Source Electronics Design Automation Suite
PcbDraw: Convert your KiCAD boards into nice looking 2D drawings
Four stages of competence: Wikipedia article
Level up your Python skills with our expert-led courses:
Python Decorators 101
Python Inner Functions
Plot With pandas: Python Data Visualization Basics
Support the podcast & join our community of Pythonistas

Jul 2, 2021 • 1h 11min
Securing Your Python Software Supply Chain With Dustin Ingram
How well do you know your software supply chain? When you PIP install a package, what steps can you take to minimize the risk of installing something malicious? This week on the show, we have Dustin Ingram, a director of the Python Software Foundation (PSF) and a maintainer of the Python Package Index (PyPI).
We talk about Dustin’s PyCon 2021 talk titled “Secure Software Supply Chains for Python”. Dustin shares the types of attacks you should be aware of and how you can make your supply chain more trustworthy. We cover tools, techniques, and best practices.
Dustin also discusses what it takes to keep the Python Package Index running and the players working to keep it going into the future.
Course Spotlight: A Beginner’s Guide to Pip
This course is a great introduction to pip for those who are getting started Python, and for those who want to understand more about what is happening when you install new packages into your environment. It’s a worthy investment of your time to understand the fundamentals of pip.
Topics:
00:00:00 – Introduction
00:01:51 – Developer Advocate at Google
00:04:34 – A director of the PSF
00:06:27 – A maintainer of PyPI
00:12:29 – Secure Software Supply Chains for Python - PyCon 2021
00:15:53 – Do I need to be a security expert as a Python developer?
00:17:23 – Typo-squatting of package names
00:19:46 – Sponsor: Scout APM
00:20:52 – Dependency confusion and private repos
00:26:00 – What are some best practices?
00:31:55 – How to lessen the scale of “I don’t know what I don’t know”?
00:36:33 – Tools and techniques that can help
00:44:11 – Video Course Spotlight
00:45:30 – Namespaces on PyPI
00:53:03 – What does it take to power the Python Package Index?
01:01:57 – What are you excited about in the world of Python?
01:03:55 – What do you want to learn next?
01:05:52 – What is something you thought you knew about Python, but were wrong about it?
01:08:46 – Shout outs and social information
01:10:16 – Thanks and goodbye
Show Links:
Dustin Ingram: Personal Website
Python on Google Cloud
Cloud Run: Develop and deploy highly scalable containerized applications on a fully managed serverless platform
Python Software Foundation
PSF Membership FAQ
PyPI: The Python Package Index
Secure Software Supply Chains for Python: PyCon 2021 - YouTube
pip Documentation: Requirements Files
pip Documentation: Hash-Checking Mode
PEP-0440: Direct references for pip
pip-tools: pip-tools keeps your pinned dependencies fresh
PyPA: Python Packaging User Guide
The Update Framework (TUF)
tuf: A secure updater framework for Python
pipx: Install and Run Python Applications in Isolated Environments
How to Publish an Open-Source Python Package to PyPI - Real Python Article
Poetry: Python packaging and dependency management made easy
PyUp: Python Dependency Security
Dependabot: Automated dependency updates
Why Package Signing is not the Holy Grail: Donald Stufft
Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies
What Is Pip? A Guide for New Pythonistas - Real Python Article
A ‘Worst Nightmare’ Cyberattack: The Untold Story Of The SolarWinds Hack
Security scanners for Python and Docker: from code to dependencies
What does it take to power the Python Package Index?
Level up your Python skills with our expert-led courses:
A Beginner's Guide to pip
How to Publish Your Own Python Package to PyPI
Python Modules and Packages: An Introduction
Support the podcast & join our community of Pythonistas

Jun 25, 2021 • 56min
Practicing Python With CSV Files and Extracting Values With "filter()"
Are you ready to practice your Python skills some more? There is a new set of practice problems prepared for you to tackle, and this time they’re based on working with CSV files. This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
David shares an article about functional programming with a focus on the “filter” function. The tutorial covers how to process an iterable and extract the items that satisfy a given condition. It also covers combining filter with other functional tools, and compares it to coding with Pythonic tools like list comprehensions and generator expressions.
We cover several other articles and projects from the Python community including, Excel, Python, and the future of data science, a Bayesian analysis of Lego prices in Python, why can’t comments appear after a line continuation character, teaching Python on the Raspberry Pi400 at the public library, a cross-platform editor designed for writing novels built with Python and Qt, and a text user interface with rich as the renderer.
Spotlight: Python vs JavaScript for Python Developers
Python and JavaScript are two of the most popular programming languages in the world. In this course, you’ll take a deep dive into the JavaScript ecosystem by comparing Python vs JavaScript. You’ll learn the jargon, language history, and best practices from a Python developer’s perspective.
Topics:
00:00:00 – Introduction
00:02:29 – Excel, Python, and the Future of Data Science
00:07:50 – Python Practice Problems: Parsing CSV Files
00:17:09 – Sponsor: Digital Ocean’s App Platform
00:17:45 – A Bayesian Analysis of Lego Prices in Python With PyMC3
00:23:02 – Why Can’t Comments Appear After a Line Continuation Character?
00:28:40 – Python’s filter(): Extract Values From Iterables
00:34:57 – Video Course Spotlight
00:36:24 – How I Teach Python on the Raspberry Pi 400 at the Public Library
00:46:23 – novelWriter: Cross-Platform Editor Designed for Writing Novels Built With Python and Qt
00:48:02 – textual: A Text User Interface With Rich as the Renderer
00:54:58 – Thanks and goodbye
Show Links:
Excel, Python, and the Future of Data Science – What’s the most widely used tool in data science? Is it pandas or NumPy? Is it the Python language itself? Not really. It’s Excel. You might argue that data scientists aren’t using Excel as their primary tool, and you might be right. But Excel enables non-technical users, like small business owners, to gain insights into their data. In this article, Anaconda CEO Peter Wang discusses his goal of making Python and PyData the “conceptual successor” to Excel.
Python Practice Problems: Parsing CSV Files – In this tutorial, you’ll prepare for future interviews by working through a set of Python practice problems that involve CSV files. You’ll work through the problems yourself and then compare your results with solutions developed by the Real Python team.
A Bayesian Analysis of Lego Prices in Python With PyMC3 – Follow along with this in-depth analysis of LEGO prices to see Bayesian analysis in action. Along the way, you’ll how pooled and unpooled linear models can be used to determine if a LEGO set is fairly priced. The article is quite technical, so experience with Bayesian statistics is recommended.
Why Can’t Comments Appear After a Line Continuation Character? – Chaining together many object methods can create long tines that break the PEP 8 79-character line length recommendation. You can use \ to break the chain of methods onto individual lines, but if you want to leave comments at the end of some of the lines, you’re out of luck. There’s another pattern, though, that solves this.
Python’s filter(): Extract Values From Iterables – In this step-by-step tutorial, you’ll learn how Python’s filter() works and how to use it effectively in your programs. You’ll also learn how to use list comprehension and generator expressions to replace filter() and make your code more Pythonic.
How I Teach Python on the Raspberry Pi 400 at the Public Library – Community-based programming courses are a great way to introduce folks to computer programming that otherwise may not have the means to do so. One of the barriers to learning to code is cost. You need a computer to program on, after all. But with the advent of tiny computers like the Raspberry Pi, computers aimed at education are more affordable than ever.
Projects:
novelWriter: Cross-Platform Editor Designed for Writing Novels Built With Python and Qt
textual: A Text User Interface With Rich as the Renderer
Additional Links:
Episode 27: Preparing for an Interview With Python Practice Problems
PyMC3: Probabilistic Programming in Python
Black: The uncompromising code formatter
My review of the Raspberry Pi 400
Will McGugan’s Blog: Introducing Textual
Level up your Python skills with our expert-led courses:
Python vs JavaScript for Python Developers
Python's map() Function: Transforming Iterables
Functional Programming in Python
Support the podcast & join our community of Pythonistas

Jun 18, 2021 • 1h 1min
Expanding the International Python Community With the PSF
The popularity of Python is continuing to grow Developers across the globe are embracing the language. How is Python being used in all of these different countries? How does an organization like the Python Software Foundation (PSF) work toward the goals in its mission statement for supporting and growing this international community? This week on the show, we have Marlene Mhangami, a PSF board member and part of the Diversity and Inclusion Work Group.
Marlene lives in Zimbabwe on the continent of Africa. She has been organizing events not only locally in Zimbabwe but across all of Africa. She is the chair of Pycon Africa and has given talks at Pycon US, Pycon UK, and Pycon India.
She has been working locally as an organizer and educator. We talk about the challenges of teaching technology and programming to a population of young people. Some of these students don’t have access to computers.
She is also currently pursuing a computer science degree with the University of London. Along with her studies, she is also interning with NVidia. She is working with them on the RAPIDS project with a focus on the cuDF library.
Spotlight: Introduction to Sorting Algorithms in Python
In this course, you’ll learn all about five different sorting algorithms in Python from both a theoretical and a practical standpoint. You’ll also learn several related and important concepts, including Big O notation and recursion.
Topics:
00:00:00 – Introduction
00:02:05 – Connecting during PyCon 2021
00:03:08 – Roles with the Python Software Foundation (PSF)
00:05:39 – Python in Africa
00:10:31 – School overseas and return to Zimbabwe to build a Python community
00:13:47 – Teaching technology and Python to students who don’t have computers
00:22:14 – Sponsor: Digital Ocean’s App Platform
00:22:50 – Work with the PSF and building geographic diversity
00:27:49 – PSF work groups
00:32:10 – Organizing PyCon Africa 2019 and bringing a continent of communities together
00:35:51 – How is Python being used in Africa?
00:38:05 – Video Course Spotlight
00:39:24 – Working with NVidia RAPIDS and cuDF
00:43:57 – What are you excited about in the world of Python?
00:46:12 – What do you want to learn next?
00:52:45 – What is something you thought you knew about Python but were wrong about it?
00:59:41 – Thanks and goodbye
Show Links:
Marlene Mhangami: Personal Website
Python Software Foundation
PSF Membership
PyCon US 2021: YouTube Playlist
Real Python Interview With Marlene Mhangami
PyCon Africa Conference 2019 Highlights & Interviews: YouTube
Django Girls
RAPIDS: Open GPU Data Science
10 Minutes to Data Science: Transitioning Between RAPIDS cuDF and CuPy Libraries
Level up your Python skills with our expert-led courses:
Using pandas to Make a Gradebook in Python
Hands-On Python 3 Concurrency With the asyncio Module
Introduction to Sorting Algorithms in Python
Support the podcast & join our community of Pythonistas

Jun 11, 2021 • 1h 1min
Detecting Deforestation With Python & Using GraphQL With Django and Vue
Are you looking for an in-depth data science project to practice your skills on? Perhaps you would like to add new tools to your Python web development projects instead? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
David shares an article about how to go about detecting deforestation from satellite images. He covers how a data science team built a machine learning (ML) solution to do just that, using FastAI for the modeling and Streamlit to create a dashboard.
We also discuss a Real Python article about building a blog using Django, Vue.js, and GraphQL. GraphQL is a great tool to enhance your API to make it more flexible. The step by step project walks you through turning your Django blog data models into a GraphQL API.
We cover several other articles and projects from the Python community including, the tools and tech used to run a one-woman hardware company, visualizing data in Python using plt.scatter(), why the sad face when using Black, how to iterate over dataframe rows (and should you?), pipx is now a PyPA member project, and real-time lossless audio compression in Python with pyFLAC.
Spotlight: Explore Your Dataset With Pandas
In this step-by-step course, you’ll learn how to start exploring a dataset with Pandas and Python. You’ll learn how to access specific rows and columns to answer questions about your data. You’ll also see how to handle missing values and prepare to visualize your dataset in a Jupyter Notebook.
Topics:
00:00:00 – Introduction
00:02:11 – Build a Blog Using Django, Vue, and GraphQL
00:10:06 – Detecting Deforestation From Satellite Images
00:16:35 – Sponsor: Digital Ocean’s App Platform
00:17:11 – The Tools and Tech I Use to Run a One-Woman Hardware Company
00:29:13 – Visualizing Data in Python Using plt.scatter()
00:34:24 – Why the Sad Face?
00:40:20 – Video Course Spotlight
00:41:26 – How to Iterate Over DataFrame Rows (And Should You?)
00:48:31 – pyFLAC: Real-Time Lossless Audio Compression in Python
00:53:47 – pipx: Install and Run Python Applications in Isolated Environments
00:59:59 – Thanks and goodbye
Show Links:
Build a Blog Using Django, Vue, and GraphQL – In this step-by-step project, you’ll build a blog from the ground up. You’ll turn your Django blog data models into a GraphQL API and consume it in a Vue application for users to read. You’ll end up with an admin site and a user-facing site you can continue to refine for your own use.
Detecting Deforestation From Satellite Images – How would you go about detecting deforestation — a contributor to climate change — from satellite images? In this article, you’ll learn how one team built a machine learning (ML) solution to do just that, using FastAI for the modeling and Streamlit to create a dashboard. The article discusses methodology and results, and is a great read about building an ML solution. The project code is available on GitHub.
The Tools and Tech I Use to Run a One-Woman Hardware Company – Winterbloom makes open-source, boutique synthesizers. There’s a lot that goes into running a hardware company. Someone has to design the hardware, code the firmware, write the documentation, not to mention administrate the company. Winterbloom does all of this with just one engineer — Stargirl Flowers. Learn what tools and tech Stargirl uses to run her company, and how Python fits into the big picture in more ways than one.
Visualizing Data in Python Using plt.scatter() – In this tutorial, you’ll learn how to create scatter plots in Python, which are a key part of many data visualization applications. You’ll get an introduction to plt.scatter(), a versatile function in the Matplotlib module for creating scatter plots.
Why the Sad Face? – The Black autoformatter adopts some conventions that might surprise you the first time you use it. One of those conventions — the “sadface dedent” — moves closing parentheses in function signatures and other block headers to their own lines. This creates a line containing nothing but “):”, which looks like a sad face emoji. Łukasz Langa, Black’s creator, explains why Black does this.
How to Iterate Over DataFrame Rows (And Should You?) – How to iterate over pandas DataFrame rows is one of the top voted questions with the pandas tag on Stack Overflow. That question is also the most copied answer with a code block on the entire site. Clearly, lots of people want to iterate over the rows in a DataFrame. But should you do this, or are there better options?
Projects
pyFLAC: Real-Time Lossless Audio Compression in Python
pipx: Install and Run Python Applications in Isolated Environments
Additional Links:
Django: The Web Framework for Perfectionists With Deadlines
Vue.js: The Progressive JavaScript Framework
GraphQL: A query language for your API
GraphQL? Here is what you need to know! - Syntax FM Episode
FastAI: Simplifies training fast and accurate neural nets using modern best practices
Streamlit: The fastest way to build and share data apps
Winterbloom: Magical Musical Machines
Black: The uncompromising code formatter
pyFLAC: Real-Time Lossless Audio Compression in Python
pipx Is Now a PyPA Member Project
Level up your Python skills with our expert-led courses:
Using Jupyter Notebooks
How to Set Up a Django Project
Explore Your Dataset With pandas
Support the podcast & join our community of Pythonistas

Jun 4, 2021 • 1h 11min
Create Web Applications Using Only Python With Anvil
This podcast discusses Anvil, a platform that allows Python developers to create web applications without learning additional languages. They cover the history of Anvil and its open-source nature. They also talk about Python libraries available to developers, working with PDFs and files, and the modularity of code and user management. The episode also mentions high school students creating projects, a video course spotlight, and the difference between server code and client code.

May 28, 2021 • 49min
Selecting the Ideal Data Structure & Unravelling Python's "pass" and "with"
Discussions on selecting the ideal data structure in Python, using named tuples for cleaner code, unraveling the 'pass' and 'with' statements, typing code in Pallets projects, the value of reading and understanding other people's code, and using Python as a calculator and with new TI 84 calculator. Also explores Python usage on different devices and building a spell-checking library.