

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

Jun 9, 2023 • 1h 1min
Volunteering, Organizing, and Finding a Python Community
Have you thought about getting more involved in the Python community? Are you interested in volunteering for an event or becoming an organizer? This week on the show, we speak with organizers from this year’s PyCascades conference about making connections, learning new skills, and rationing your time.
We have three guests to discuss working on PyCascades 2023 and how they got involved in volunteering. Conference Chair Ben Berry, a site reliability engineer based in Seattle, is currently working on a private platform-as-a-service. Diversity Chair Madison Swain-Bowden is a senior data engineer out of Seattle, currently working at Automattic on the Openverse team. Sponsorship Chair Michael van der Kamp is a back-end engineer at Coffee Meets Bagel.
We discuss finding other volunteers, maintaining motivation, and connecting with sponsors. Our guests also share their stories of overcoming challenges, connecting with community, and finding fulfillment through volunteering.
This week’s episode is brought to you by Proxify.
Course Spotlight: Using pandas to Make a Gradebook in Python
With this course and Python project, you’ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You’ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.
Topics:
00:00:00 – Introduction
00:02:34 – Conference Chair Ben Berry
00:03:58 – Diversity Chair Madison Swain-Bowden
00:06:04 – Sponsorship Chair Michael van der Kamp
00:08:28 – Scheduling of conferences around one another
00:10:41 – How did you get involved in the community?
00:20:01 – Sponsor: Proxify
00:20:57 – Workplace groups and guilds
00:27:41 – How community helps with job referrals
00:32:19 – New position and added responsibilities
00:41:24 – How would you pitch volunteering?
00:44:32 – Video Course Spotlight
00:45:45 – How do you avoid overdoing it?
00:52:46 – What are you excited about in the world of Python?
00:55:16 – What do you want to learn next?
00:59:22 – Thanks and goodbye
Show Links:
The Team - PyCascades 2023
PyCascades 2023 - YouTube
PyLadies – Women Who Love Coding in Python
Puget Sound Programming Python (PuPPy) (Seattle, WA) - Meetup
PySprings (Colorado Springs, CO) - Meetup
What is Lean Coffee? - an introduction to agenda-less meetings
Async IO in Python: A Complete Walkthrough – Real Python
Structural Pattern Matching – Real Python
Using FastAPI to Build Python Web APIs – Real Python
Rust Programming Language
Rust for Rustaceans - No Starch Press
CircuitPython
Michael van der Kamp - LinkedIn
Madison on Tumblr
Ben Berry (@benb@fosstodon.org)
Level up your Python skills with our expert-led courses:
Using pandas to Make a Gradebook in Python
The pandas DataFrame: Working With Data Efficiently
Building Python Project Documentation With MkDocs
Support the podcast & join our community of Pythonistas

8 snips
Jun 2, 2023 • 53min
Building Python CI With Docker & Applying for a Hacker Initiative Grant
Do you need a refresher on using Docker with Python? Would you like to learn how to configure a continuous integration pipeline with modern tools and Docker? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
We share a Real Python tutorial from Bartosz Zaczyński about building continuous integration with Docker. Docker provides consistent environments for configuring, testing, and delivering Python applications. In this tutorial, you’ll get up to speed with current Docker and CI techniques.
We also speak with Bill Pollock from No Starch Press about Hacker Initiative. The public nonprofit gives back to and strengthens the hacking community. The 2023 grant cycle is currently open until August 15. We discuss the application process and projects from previous grant recipients.
We cover several other articles and projects from the Python community, including a news update and some resources on implementing metaclasses in Python, creating time machine-style backups, and scanning your project for vulnerabilities.
Course Spotlight: Metaclasses in Python
Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you’ll learn how Python’s metaclasses work in object-oriented programming.
Topics:
00:00:00 – Introduction
00:02:26 – PyPI Temporarily Suspended New Registrations
00:03:38 – PyPI was subpoenaed
00:04:54 – Python 3.12.0 beta 1 released
00:05:19 – Build Robust Continuous Integration With Docker and Friends
00:13:02 – Metaclasses in Python
00:20:03 – Pronouncing SQL - Is there life after SQL?
00:22:52 – Video Course Spotlight
00:24:25 – pyscan: Python dependency vulnerability scanner, written in Rust
00:26:28 – rsync-time-machine.py: Time Machine-Style Backups
00:29:20 – Bill Pollock and Hacker Initiative
00:34:18 – Previous grant recipients
00:36:58 – First Tech Challenge
00:43:18 – Large vs small nonprofits
00:45:48 – Applying for the 2023 grant cycle
00:49:01 – Underserved areas
00:51:45 – Thanks and goodbye
News:
PyPI Temporarily Suspended New Registrations – Due to a large volume of traffic from malicious users, PyPI temporarily suspended new account and project registrations on May 20. The suspension was lifted thirty hours later on May 21.
PyPI was subpoenaed - The Python Package Index – The PSF received three subpoenas from the US Department of Justice for PyPI user data in March and April of 2023.
Python Insider: Python 3.12.0 beta 1 released
Show Links:
Build Robust Continuous Integration With Docker and Friends – In this tutorial, you’ll use Docker and GitHub Actions to build a robust continuous integration pipeline for a multi-container web application consisting of Flask and Redis. Along the way, you’ll learn how to dockerize a Python web application.
Metaclasses in Python - Real Python Video Course – Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you’ll learn how Python’s metaclasses work in object-oriented programming.
Is there life after SQL? - YouTube
Projects:
pyscan: Python dependency vulnerability scanner, written in Rust - GitHub
rsync-time-machine.py: Time Machine-Style Backups
Hacker Initiative Links:
Hacker Initiative – By hackers. For hackers.
Apply for the 2023 Grant Cycle – Hacker Initiative
2022 Grant Recipients – Hacker Initiative
Additional Links:
Release CPython 3.12.0b1 w/ WASI SDK 20 - brettcannon/cpython-wasi-build
Episode #149: Coding With namedtuple & Python’s Dynamic Superpowers
What is FIRST Tech Challenge? - FIRST
No Starch Press - “The finest in geek entertainment”
Level up your Python skills with our expert-led courses:
Continuous Integration With Python
Metaclasses in Python
Writing Clean, Pythonic Code With namedtuple
Support the podcast & join our community of Pythonistas

May 26, 2023 • 55min
Discussing Mojo & Improving Python Object-Oriented Programming
Would you like to speed up your Python machine-learning code dramatically? What if you only had to change a few keywords and add a couple of type hints on portions of your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a new programming language named Mojo, which is a superset of Python. It aims to fix Python’s performance and deployment problems. The project has many interesting ideas and a leader who has helped to shape modern compiler technology.
We also share a pair of Real Python tutorials from Leodanis Pozo Ramos about object-oriented programming in Python. The first one is a deep dive into the creation of classes. It’s an excellent refresher for anyone looking to hone their OOP skills in Python.
The second tutorial covers the SOLID principles, which are five well-established standards for improving your object-oriented design. These principles guide you to create object-oriented code that is more maintainable, extensible, scalable, and testable.
We cover several other articles and projects from the Python community, including a news update, showing warnings when running Django, tracking the progress of your Python program, and a Markdown browser for your terminal.
This week’s episode is brought to you by Koyeb.
Course Spotlight: Using k-Nearest Neighbors (kNN) in Python
In this video course, you’ll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you’ll use scikit-learn to facilitate your coding process.
Topics:
00:00:00 – Introduction
00:02:39 – PEP 713: Callable Modules
00:04:22 – PEP 712: “Converter” Parameter for dataclasses.field
00:06:49 – Python Classes: The Power of Object-Oriented Programming
00:16:44 – Sponsor: Koyeb
00:17:33 – SOLID Principles: Improve Object-Oriented Design in Python
00:22:00 – Mojo, a Superset of Python
00:34:31 – Mojo might be the biggest thing to happen in programming for decades
00:41:48 – Mojo – a new programming language for AI developers
00:44:03 – Video Course Spotlight
00:45:23 – Have Python Show Warnings When Running Django
00:47:52 – TQDM: Tracking the Progress of Your Python Program
00:50:34 – frogmouth: A Markdown Browser for Your Terminal
00:53:59 – Thanks and goodbye
News:
PEP 713: Callable Modules
PEP 712: “Converter” Parameter for dataclasses.field
Show Links:
Python Classes: The Power of Object-Oriented Programming – In this tutorial, you’ll learn how to create and use full-featured classes in your Python code. Classes provide a great way to solve complex programming problems by approaching them through models that represent real-world objects.
SOLID Principles: Improve Object-Oriented Design in Python – In this tutorial, 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 is more maintainable, extensible, scalable, and testable.
Mojo, a Superset of Python – Mojo is a new programming language, which is a superset of Python. It aims to fix Python’s performance and deployment problems.
Have Python Show Warnings When Running Django – How to show warnings when running Python, and Django, during local development. The easy, yet not well-known, way.
Discussion:
Mojo might be the biggest thing to happen in programming for decades - Hacker News
Mojo, a new programming language for AI developers - Hacker News
Projects:
TQDM: Tracking the Progress of Your Python Program
frogmouth: A Markdown Browser for Your Terminal
Additional Links:
Video - tqdm documentation
tqdm documentation
pipx
Episode #101: Tools for Setting Up Python on a New Machine – The Real Python Podcast
Level up your Python skills with our expert-led courses:
Using Jupyter Notebooks
Using k-Nearest Neighbors (kNN) in Python
Using Multiple Constructors in Your Python Classes
Support the podcast & join our community of Pythonistas

May 12, 2023 • 1h 9min
Virtual Environment Structure & Surveying the Packaging Ecosystem
How do Python virtual environments work under the hood? How does understanding these concepts help you with managing them for your projects? This week on the show, CPython core developer Brett Cannon returns to discuss his recent articles about virtual environments and the Python packaging landscape.
Brett talks about his recent article “How Virtual Environments Work.” He was researching the topic to solve an issue with a Linux Python distribution that doesn’t provide the tools to create virtual environments. We talk about how he solved the problem by creating a tiny library named microvenv.
We also take a look at the Python packaging ecosystem. Brett talks about the early days of Python, when these tools didn’t exist. He contrasts that with the current packaging solution explosion and how each one attempts to solve unique problems. We also discuss the Python Packaging User Survey and the plans for packaging summits at PyCon US. Note that we recorded this episode two weeks before PyCon US 2023.
Course Spotlight: Getting the Most Out of the Python Standard REPL
In this video course, you’ll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more.
Topics:
00:00:00 – Introduction
00:01:58 – Virtual environments
00:07:10 – PEP 704 & virtual environment workflows
00:26:57 – Experimenting with not including pip
00:34:44 – Video Course Spotlight
00:36:35 – What are you using for packaging?
00:43:32 – Python Packaging User Survey & the history of packaging
00:48:40 – Packing only gets complex when it’s not pure Python code
01:01:22 – Outcomes after the survey and the packaging summit
01:03:56 – What are you excited about in the world of Python?
01:05:28 – What’s something you want to learn next?
01:07:12 – How can people follow the work that you do?
01:08:14 – Thanks and goodbye
Show Links:
How virtual environments work
PEP 704 – Require virtual environments by default for package installers - peps.python.org
microvenv - PyPI
python-launcher: Python launcher for Unix - GitHub
bootstrap.pypa.io
Classifying Python virtual environment workflows
Python Packaging User Survey - Results PDF
Thoughts on the Python packaging ecosystem - Pradyun Gedam
pypa/packaging: Core utilities for Python packages - GitHub
Flit 3.8.0 - Flit 3.8.0 documentation
hatch - PyPI
hatchling - PyPI
Episode #93: Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon – The Real Python Podcast
PEP 665 – A file format to list Python dependencies for reproducibility of an application - peps.python.org
Programming Rust, 2nd Edition
Tall, Snarky Canadian - Brett’s Blog
Microsoft Python Blog
Visual Studio Code Blog
Brett Cannon (@brettcannon@fosstodon.org) - Mastodon
Level up your Python skills with our expert-led courses:
Getting the Most Out of the Python Standard REPL
Working With Python Virtual Environments
Publishing Python Packages to PyPI
Support the podcast & join our community of Pythonistas

May 5, 2023 • 38min
Checking Project Dependencies & Python Dev Resource Collections
How can you ensure that you’ve appropriately declared your project’s required dependencies? How do you determine what dependencies are missing from a third-party project that you can’t run? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a new Python dependency checker called FawltyDeps. The tool helps you determine if you’ve declared too few or too many packages for your project.
Christopher has brought several developer resource collections: a list of assured open-source Python packages from Google, test databases with interesting datasets, and multiple Django third-party packages.
We cover several other articles and projects from the Python community, including a news update, advice on how to pitch yourself as a guest to a podcast, how to submit articles and projects to PyCoders Weekly, PyPI’s introduction of trusted publishers and organizations, a tool for tracking package history, a pixel art paint program written in Python, and a project for efficient string matching with regular expressions.
Course Spotlight: Publishing Python Packages to PyPI
In this video course, you’ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using setup.cfg.
Topics:
00:00:00 – Introduction
00:02:19 – PEP 684 – A Per-Interpreter GIL Accepted
00:03:59 – Python 3.10 Runtime Now Available in AWS Lambda
00:04:19 – PyCon US 2023 Follow Up
00:08:05 – Podcast Topic & Guest Submissions
00:13:45 – Submissions to PyCoders Weekly
00:16:49 – Google’s Assured OSS Python Packages
00:18:27 – Groovy Datasets for Test Databases
00:19:10 – Top 10 Django Third-Party Packages
00:20:27 – Video Course Spotlight
00:21:46 – FawltyDeps - A Dependency Checker for Your Python
00:26:58 – PyPI Introduces “Trusted Publishers”
00:28:27 – Introducing PyPI Organizations
00:29:02 – pypi-diff: PyPI Package History Tracking
00:30:29 – PyDPainter: A usable pixel art paint program written in Python
00:35:19 – trrex: Efficient String Matching With Regular Expressions
00:37:16 – Thanks and Goodbye
News:
PEP 684 – A Per-Interpreter GIL Accepted
Python 3.10 Runtime Now Available in AWS Lambda
Show Links:
PyCon US 2023 - Follow Up
The Real Python Podcast (podcast@realpython.com)
PyCoder’s Weekly - Submit a Link
Google’s Assured OSS Python Packages – Google publishes a list of the open-source packages that it uses and secures within its own software supply chain. The list is public, so you can take advantage of their assessment.
Groovy Datasets for Test Databases – When you experiment with a new-to-you data science skill, you need some sort of data to work with. Why be boring? This article talks about several available datasets that you can use when you practice your coding skills.
Top 10 Django Third-Party Packages – Will covers a list of his favorite third-party packages for Django. This includes old favorites, like Django REST framework, and lesser-known packages, like django-filter and django-environ.
FawltyDeps: A Dependency Checker for Your Python – FawltyDeps is a new tool to help you identify undeclared and unused dependencies in your Python code, making your projects leaner and more reproducible.
PyPI Introduces “Trusted Publishers” – PyPI package maintainers can adopt a new, more secure, OIDC-authenticated publishing method that doesn’t require sharing long-lived passwords or API tokens with external systems.
Introducing PyPI Organizations - The Python Package Index
pypi-diff: PyPI Package History Tracking
Projects
PyDPainter: A usable pixel art paint program written in Python - GitHub
trrex: Efficient String Matching With Regular Expressions
Additional Links:
Data Is Plural
FawltyDeps
Quick PyDPainter Demo - YouTube
Having a look at PyDPainter and comparing it to Deluxe Paint on the Amiga - YouTube
Level up your Python skills with our expert-led courses:
Everyday Project Packaging With pyproject.toml
Publishing Python Packages to PyPI
Documenting Python Projects With Sphinx and Read the Docs
Support the podcast & join our community of Pythonistas

Apr 28, 2023 • 1h 19min
Targeting WebAssembly Platforms & Distilling a Minimum Viable Python
Are you familiar with the different versions of WebAssembly? Could WASM be the “write once, run everywhere” solution that developers have searched for? Where does distributing Python applications fit in the narrative? This week on the show, we have CPython core developer Brett Cannon to discuss his recent articles about WebAssembly and MVPy.
Brett has completed his syntactic sugar series, which we discussed in a previous episode. He details the origin of the series and his process of unearthing a minimum viable version of Python. Brett shares how he updated his PyCon US talk on the subject after feedback from presenting it at PyCascades.
We also dig deep into WebAssembly, specifically WebAssembly System Interface (WASI). Brett explains the concept of a “platform target triple” and the importance of defining which system CPython is compiled for. We also discuss WebAssembly becoming a ubiquitous distribution system.
Course Spotlight: Python Basics: Building Systems With Classes
In this video course, you’ll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you’ll harness the power of object-oriented programming (OOP).
Topics:
00:00:00 – Introduction
00:02:05 – PyCascades 2023
00:02:56 – Using social media for polls and checking interest
00:06:02 – Completing the syntactic sugar blog series
00:15:29 – Minimum Viable Python (MVPy) and WebAssembly
00:19:29 – Other teams focusing on WebAssembly
00:21:31 – Sponsor: Courier
00:22:13 – Stack of technology
00:26:50 – WebAssembly and its platform targets
00:32:35 – WASI and connecting to a runtime
00:38:33 – Extension modules and dynamic libraries
00:47:29 – Overcoming road blocks and envisioning a new WASI assignment
00:51:51 – Video Course Spotlight
00:53:26 – PEP 11 & CPython platform support for WASI
01:03:11 – Machine-specific runtime
01:04:57 – Write once, run everywhere
01:13:14 – Talks and summits planned for PyCon 2023
01:18:00 – Thanks and goodbye
Show Links:
MVPy: Minimum Viable Python
Python’s Syntactic Sugar - PyCon US 2023
Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon – The Real Python Podcast
syntactic sugar - Tall, Snarky Canadian
Brett Cannon (@brettcannon@fosstodon.org) - Fosstodon
WASI - wasi.dev
WebAssembly and its platform targets
Introducing the Disney+ Application Development Kit (ADK) - Mike Hanley
Compute@Edge services using WebAssembly - Fastly Developer Hub
Experimental - Python for the Web - Visual Studio Marketplace
PEP 11 – CPython platform support - peps.python.org
Testing a Python project using the WASI build of CPython with pytest
The rise of WebAssembly - InfoWorld
Can WASM become the new Docker?
bytecodealliance/wasmtime: A fast and secure runtime for WebAssembly
Emscripten - Dev Documentation
PyScript - Run Python in your HTML
Level up your Python skills with our expert-led courses:
Python Basics: Object-Oriented Programming
Inheritance and Composition: A Python OOP Guide
Python Basics: Building Systems With Classes
Support the podcast & join our community of Pythonistas

Apr 14, 2023 • 43min
Seeking Faster Text Processing & Python's .__repr__() vs .__str__()
What can you do if your text manipulation in Python is slowing you down? Are there faster alternatives using a compiled extension? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
Christopher shares a recent article by Itamar Turner-Trauring called “Speeding Up Text Processing in Python (Is Hard).” The piece compares the performance of string-matching scenarios using several alternatives to pure Python that rely on compiled extensions.
We also discuss a recent Real Python tutorial by Stephen Gruppetta on when to use .__repr__() vs .__str__() in Python. We cover the use cases for these special methods and the intended audiences for the strings they produce.
We share several other articles and projects from the Python community, including a news update, an article on the functional power of Python’s reduce(), a call to ban 1+N in Django, a friendly project to fetch your data files, and a tool for tracking your work from the shell.
Course Spotlight: Unicode in Python: Working With Character Encodings
In this course, you’ll get a Python-centric introduction to character encodings and Unicode. Handling character encodings and numbering systems can at times seem painful and complicated, but this guide is here to help with easy-to-follow Python examples.
Topics:
00:00:00 – Introduction
00:02:11 – The Python Package Index Launches a Blog
00:03:11 – PEP 582 (Python Local Packages Directory) Rejected
00:05:00 – Django 4.2 Release Candidate 1 Released
00:05:34 – Want to Host DjangoCon Europe 2024?
00:06:23 – When Should You Use .__repr__() vs .__str__() in Python?
00:14:16 – Sponsor: Snyk
00:15:06 – Speeding Up Text Processing in Python (Is Hard)
00:22:21 – reduce() - The Power of a Single Python Function
00:30:27 – Video Course Spotlight
00:32:04 – Ban 1+N in Django
00:35:26 – Pooch - A Friend to Fetch Your Data Files
00:39:11 – workedon - Track Your Work From the Shell
00:41:53 – Thanks and Goodbye
News:
The Python Package Index Launches a Blog
PEP 582 (Python Local Packages Directory) Rejected
Django 4.2 Release Candidate 1 Released
Want to Host DjangoCon Europe 2024?
Show Links:
When Should You Use .__repr__() vs .__str__() in Python? – In this tutorial, you’ll learn the difference between the string representations returned by .__repr__() vs .__str__() and understand how to use them effectively in classes that you define.
Speeding Up Text Processing in Python (Is Hard) – If you need to speed up string parsing and formatting in Python, you have many choices. This article covers the uses of Cython, mypyc, Rust, and PyPy and considers how to choose between them.
reduce() - The Power of a Single Python Function – “While Python is not a pure functional programming language, you still can do a lot of functional programming in it. In fact, just one function - reduce() - can do most of it.” This article introduces you to reduce().
Ban 1+N in Django – The 1+N database anti-pattern is common: fetch some rows from the database then re-fetch specific rows to get all the items. An ORM can hide this away and make you fail to realize that it’s happening. This article discusses how to avoid this anti-pattern in Django. It also has an added meta-bonus: a link to the attempt to write the article with ChatGPT.
Projects:
Pooch: A Friend to Fetch Your Data Files
workedon: Track Your Work From the Shell
Additional Links:
Python’s reduce(): From Functional to Pythonic Style – Real Python
Episode #116: Exploring Functional Programming in Python With Bruce Eckel – The Real Python Podcast
Lightning talk at PyCascades 2023 - Pooch: A friend to fetch your data files - YouTube
Secure copy protocol - Wikipedia
Level up your Python skills with our expert-led courses:
Python's map() Function: Transforming Iterables
Python Basics: Strings and String Methods
Unicode in Python: Working With Character Encodings
Support the podcast & join our community of Pythonistas

Apr 7, 2023 • 50min
Automate Processes and Distribute Python Tools With RPA and RCC
Are you exploring automation of your repetitive business tasks with Python? How are you going to share your helpful tools with co-workers? This week on the show, Sampo Ahokas from Robocorp is here to discuss robotic process automation (RPA) and distribution of these robots.
Sampo is a co-founder and VP of engineering at Robocorp. We talk about using Robot Framework, an open-source RPA tool, to develop bots that implement your existing Python skills. Sampo shares example projects and additional resources for new users.
We discuss the typical difficulties of sharing automation tools with a team and trying to avoid the dreaded “works on my machine” problem. Sampo describes how their group worked to develop a Conda-based tool for creating shareable packages and environments.
Course Spotlight: Manipulating ZIP Files With Python
In this video course, you’ll learn how to manipulate ZIP files using Python’s zipfile module from the standard library. Through hands-on examples, you’ll learn how to read, write, compress, and extract files from your ZIP files quickly.
Topics:
00:00:00 – Introduction
00:02:25 – What is robotic process automation (RPA)?
00:03:55 – What do you mean by automation?
00:05:56 – Additional examples of RPA
00:07:41 – What is the RPA platform?
00:10:06 – What is the Robot Framework?
00:12:42 – Robocorp portal
00:14:09 – Python integration
00:17:06 – Sponsor: REVSYS
00:17:56 – Distribution with RCC
00:20:24 – Why does the system use conda under the hood?
00:24:12 – What hurdles did you face creating RCC?
00:27:51 – Steps for the end user
00:30:52 – Making the project open source
00:35:20 – Video Course Spotlight
00:36:42 – Tips for someone starting with automation
00:42:17 – Integration with VSCode
00:44:18 – Intelligent document processing (IDP)
00:45:36 – What are you excited about in the world of Python?
00:47:46 – What do you want to learn next?
00:48:13 – How can people follow the project online?
00:48:46 – Thanks and goodbye
Show Links:
Open Source RPA - Intelligent Automation Software - Robocorp
What is RPA? A breakdown of RPA and its benefits - Robocorp
Robocorp Portal
RPA Documentation, Training Courses, Certificates - Robocorp documentation
rpaframework: Collection of open-source libraries and tools for Robotic Process Automation (RPA), designed to be used with both Robot Framework and Python
rcc: RCC is a set of tooling that allows you to create, manage, and distribute Python-based self-contained automation packages - or ‘robots’ as we call them.
Conda - documentation
QuantStack
micromamba - documentation
Low-code RPA Development Solution | Automation Studio - Robocorp
Bolster IDP With Robotic Process Automation - DZone
Visual Studio Code - Code Editing. Redefined
Welcome to LangChain - 🦜🔗 LangChain 0.0.131
Sampo Ahokas - LinkedIn
Robocorp (@RobocorpInc) - Twitter
Community for Software Robot Developers
RPA Resources, White Papers and Case Studies - Robocorp
Level up your Python skills with our expert-led courses:
Reading and Writing Files in Python
Testing Your Code With pytest
Manipulating ZIP Files With Python
Support the podcast & join our community of Pythonistas

Mar 31, 2023 • 1h 1min
Evaluating Python Packages & Celebrating 20 Years of PyCon US
Have you ever installed a Python package without knowing anything about it? What best practices should you employ to ensure the quality of your next package installation? Christopher Trudeau is back this week, bringing another batch of PyCoder’s Weekly articles and projects. We also have Python Software Foundation executive director, Deb Nicholson, to share details about PyCon US 2023.
We cover a recent Real Python tutorial by Philipp Acsany on evaluating the quality of Python packages. The piece provides a tool kit for researching the traits, history, software license, and current condition of external Python packages. We also discuss the techniques that we personally use before selecting a package for our Python projects.
We share several other articles and projects from the Python community, with topics such as the underlying structure of virtual environments, the overhead of Python asyncio tasks, documentation for Python projects with Sphinx and Read the Docs, a project for creating argparse boilerplate, and a way to generate seemingly realistic fake numbers using Benford’s law.
Deb Nicholson is also here to talk about the 20th anniversary of PyCon US, hosted in Salt Lake City. We dig into the details of the upcoming conference, including keynote speakers, tutorials, scheduled talks, and improvements to the hybrid online experience.
Course Spotlight: Documenting Python Projects With Sphinx and Read the Docs
In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.
Topics:
00:00:00 – Introduction
00:02:46 – How to Evaluate the Quality of Python Packages
00:11:35 – Overhead of Python asyncio Tasks
00:14:53 – Sponsor: Courier
00:15:37 – How Virtual Environments Work
00:23:48 – Documenting Python Projects With Sphinx and Read the Docs
00:28:29 – duckargs: Code Generator for argparse Boilerplate
00:30:46 – Video Course Spotlight
00:32:04 – Are Those Numbers Realistic or Fake? Try Using Benford’s Law
00:34:37 – Introduction for Deb Nicholson
00:36:33 – What is your role with PyCon US?
00:37:28 – Hybrid conference and dates
00:39:07 – Tutorials
00:40:30 – Education Summit and Typing Summit
00:42:06 – Keynote speakers
00:42:57 – Lightning talks, posters, and job fair
00:45:04 – 20th anniversary of PyCon US
00:46:56 – Resources for proposals and talks
00:49:22 – Previous podcast guests and talks
00:51:26 – Mentored sprints for diverse beginners
00:53:12 – PyLadies auction
00:54:29 – COVID policy
00:56:50 – What are you excited about in the world of Python?
00:58:07 – What do you want to learn next?
00:59:24 – How to follow the PSF and PyCon US?
00:59:55 – Thanks and goodbye
Show Links:
How to Evaluate the Quality of Python Packages – Just like you shouldn’t download any file from the Internet, you shouldn’t install third-party Python packages without evaluating them first. This tutorial will give you the tool set to evaluate the quality of external Python packages before you incorporate them into your Python projects.
Overhead of Python Asyncio Tasks – The Textual library uses a lot of asyncio tasks. In order to determine whether to spend time optimizing them, Will measured the cost of creating asyncio tasks. TLDR; optimize something else. This article also spawned a conversation on Hacker News.
How Virtual Environments Work – This article attempts to demystify virtual environments, specifically why they exist and how they work. It even delves into why Brett is heading down this alley and how running into challenges with cross-platform tools has prompted the creation of microvenv.
Documenting Python Projects With Sphinx and Read the Docs – In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.
Projects:
duckargs: Code Generator for argparse Boilerplate
Are Those Numbers Realistic or Fake? Try Using Benford’s Law – How can you tell whether a set of figures is trustworthy? It’s not always simple, but Benford’s Law gives you one way to find out. There’s even a Python Package to help you check: randalyze.
PyCon US 2023 Links:
Welcome to PyCon US 2023
Python Software Foundation
Registration Information - PyCon US 2023
Talks Schedule - PyCon US 2023
Tutorials Schedule - PyCon US 2023
Education Summit - PyCon US 2023
PyCon US Stories Slideshow
Proposal Guidelines - PyCon US 2023
PyLadies Auction - PyCon US 2023
Volunteering - PyCon US 2023
Additional Links:
Libraries.io - The Open Source Discovery Service
Licenses - Choose a License
Python Virtual Environments: A Primer – Real Python
EU Cyber Resilience Act - Shaping Europe’s digital future
Python Software Foundation News: Where is the PSF?
Signup for the Python Software Foundation Newsletter
The Boston Python User Group (Cambridge, MA) - Meetup
PyLadies – Women Who Love Coding in Python
Level up your Python skills with our expert-led courses:
Building Python Project Documentation With MkDocs
Documenting Python Projects With Sphinx and Read the Docs
Documenting Code in Python
Support the podcast & join our community of Pythonistas

8 snips
Mar 24, 2023 • 1h 2min
Lessons Learned From Four Years Programming With Python
What are the core lessons you’ve learned along your Python development journey? What are key takeaways you would share with new users of the language? This week on the show, Duarte Oliveira e Carmo is here to discuss his recent talk, “Four Years of Python.”
Duarte works at the crossroads of machine learning, data science, and software engineering. He began using Python in his graduate studies and never looked back. In 2021, he wrote a blog post about some of the valuable lessons he’s learned. Then he decided the lessons and concepts in the post might make a good conference talk.
We cover the steps in his process of crafting the presentation, practicing it at a smaller conference, and finally presenting it at PyCon Italia last year.
We also dig into the four major themes of the talk. Along the way, we share a collection of resources to help you continue learning on your Python journey.
Course Spotlight: Building a URL Shortener With FastAPI and Python
In this video course, you’ll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You’ll also use the automatically created documentation of FastAPI to try out your API endpoints.
Topics:
00:00:00 – Introduction
00:02:38 – Four years of Python
00:04:18 – Why did you create a blog?
00:06:19 – A singular vs wide focus for the blog
00:09:19 – Pitching the talk to conferences
00:13:02 – Resources for preparing your talk
00:16:03 – What was your programming and Python background?
00:19:00 – Sponsor: InfluxData
00:19:47 – Reading is better than Googling
00:26:23 – What are some of your favorite docs?
00:28:48 – Thoughts on GPT and Copilot
00:31:45 – Keep it stupid simple
00:36:07 – What’s extensible code?
00:38:29 – Video Course Spotlight
00:39:54 – Learning testing techniques & testing data science code
00:46:05 – Continuous learning
00:51:46 – What do you use for RSS?
00:53:06 – Resources for machine learning
00:57:20 – What are you excited about in the world of Python?
00:58:57 – What do you want to learn next?
01:00:55 – How can people follow the work you do?
01:01:20 – Thanks and goodbye
Show Links:
Four years of Python - Duarte O.Carmo
Four years of Python - Duarte Carmo - YouTube
Practices of the Python Pro
Pelican 4.8.0
“One for Them, One for Me” - Blank Check Movies From Famous Directors
PyData
NumFOCUS: A Nonprofit Supporting Open Code for Better Science
Proposing a Talk - PyCon US 2023
pandas documentation - pandas 1.5.3 documentation
scikit-learn 1.2.2 - User guide - documentation
FastAPI - Tutorial - User Guide
Using FastAPI to Build Python Web APIs - Real Python
Python 3.11.2 Documentation
Kindle Highlights Newsletter
Reeder 5
Welcome to Feedly
Normconf: The Normcore Tech Conference
Tech Blog - ★❤✰ Vicki Boykis ★❤✰
Sebastian Raschka - Blog
Blog of a data person. - koaning.io
Machine Learning Design Patterns - Book
The Practical AI Podcast - Changelog
tidytuesday: Official repo for the #tidytuesday project
PyCon.DE & PyData Berlin, 2023 - PyConDE & PyData Berlin 2023
PyCon Italia - 2023
ruff - PyPI
Effective Python › The Book: Second Edition
Episode #3: Effective Python and Python at Google Scale - The Real Python Podcast
Duarte O.Carmo
Talks - Duarte O.Carmo
Duarte O.Carmo - LinkedIn
Level up your Python skills with our expert-led courses:
Python REST APIs With FastAPI
Splitting Datasets With scikit-learn and train_test_split()
Building a URL Shortener With FastAPI and Python
Support the podcast & join our community of Pythonistas