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.
What keeps your spark alive for developing software and learning Python? Do you like to try new frameworks, build toy projects, or collaborate with other developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss the joy of tinkering with Python as a way to keep your developer skills sharp. We dig into our techniques for continuing to learn and build projects.
Christopher shares an article that examines the performance of Python 3.13’s free-threading features. This piece uses a clever example to measure how the new features behave with large datasets and parallelization.
We share several other articles and projects from the Python community, including a group of new releases, common use cases and examples for Python closures, finding the opposite of cloud-native, Python’s soft keywords, a command-line utility for taking automated screenshots of websites, and putting the Django admin in the terminal with Textual.
This episode is sponsored by Windsurf.
Course Spotlight: Python Inner Functions
In this step-by-step course, you’ll learn what inner functions are in Python, how to define them, and what their main use cases are. You’ll see how to write helper functions, create closure factory functions, and how to add behavior to existing functions with decorators.
Topics:
News:
Show Links:
Discussion:
Projects:
Additional Projects:
Level up your Python skills with our expert-led courses:
How do you build a sustainable open-source project and community? What lessons can be learned from Python’s history and the current mess that the WordPress community is going through? This week on the show, we speak with Paul Everitt from JetBrains about navigating open-source funding and the start of the Python Software Foundation.
Paul has been an organizer in the Python community almost from the beginning. He shares how the project has navigated through multiple sponsors. We talk about the early governance models and the formation of the Python Software Foundation.
We contrast this journey with the current drama unfolding in the WordPress community. We discuss the potential problems of having a benevolent dictator for life. We also dig into sponsorship models and ways to get companies to give back to the open-source projects they rely on.
This episode is sponsored by Sentry.
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:
Show Links:
Level up your Python skills with our expert-led courses:
Have you wanted the flexibility of f-strings but need safety checks in place? What if you could have deferred evaluation for logging or avoiding injection attacks? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a set of recent Python Enhancement Proposals (PEPs). The idea of template strings has been under consideration for a while, and PEP 750 describes a new way forward. PEP 759 proposes a way for projects on PyPI to safely host resources on external sites using a new package upload format called a .rim file.
We share several other articles and projects from the Python community, including what didn’t make the headlines about Python 3.13, solving Sudoku with Python packaging, what’s sweet about Python’s syntactic sugar, creating database-generated columns using SQLite and Django, a discussion about mentoring, an adaptive web scraper, and a debugging tool for HTTP(S) client requests.
This episode is sponsored by Sentry.
Course Spotlight: Using Pydantic to Simplify Python Data Validation
Discover the power of Pydantic, Python’s most popular data parsing, validation, and serialization library. In this hands-on video course, you’ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic.
Topics:
News:
Show Links:
Discussion:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
What goes into building a spreadsheet application in Python that runs in the browser? How do you make it launch quickly, and where do you store the cells of data? This week on the show, we speak with Chris Laffra about his project, PySheets, and his book “Communication for Engineers.”
As a software engineer, Chris has worked at IBM, Google, Uber, and several financial institutions. He speaks about developer productivity and communication skills as an engineer. We begin our conversation by digging into his background, his approach to building engineering teams, and strategies for improving communication.
Chris’ idea for PySheets is to have Excel inside Python with everything running locally in your browser. He was inspired by the success of Jupyter Notebooks but wanted to develop a tool more suited to a spreadsheet’s non-linear graph structure.
PySheets is built to run locally in the user’s browser, taking advantage of PyScript. We discuss finding the right solution for storing data in the browser and developing a graphic toolkit to create the UI. Chris also shares the novel method he found to get the interface up and running while the larger assets are loading.
This episode is sponsored by Sentry.
Course Spotlight: Understanding Python’s Global Interpreter Lock (GIL)
Python’s Global Interpreter Lock, or GIL, is a mutex (or a lock) that allows only one thread to hold the control of the Python interpreter at any one time. In this video course, you’ll learn how the GIL affects the performance of your Python programs.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
What changes are happening under the hood in the latest versions of Python? How are these updates laying the groundwork for a faster Python in the coming years? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Christopher shares an article about Python’s recent performance improvements. The piece covers the specialized adaptive interpreter and explains what those terms mean. It also includes details about the experimental feature of the Just-In-Time (JIT) compiler added in 3.13.
We dig into a collection of Django projects you can use to practice and develop your skills. The projects ramp up from detailed beginner tutorials to more advanced projects with guidelines on how to get started. We also discuss a collection of popular websites that use Django.
We share several other articles and projects from the Python community, including a batch of recent Python Enhancement Protocols (PEPs), a couple of Python releases, using DuckDB in the browser with Pyodide, building a contact book app with Textual, generating a tiny status page with a Python script, and a grep-like tool that understands code.
This episode is sponsored by AssemblyAI.
Course Spotlight: Building a Site Connectivity Checker
In this video course, you’ll build a Python site connectivity checker for the command line. While building this app, you’ll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.
Topics:
News:
Show Links:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
How does a Python tool support all types of DataFrames and their various features? Could a lightweight library be used to add compatibility for newer formats like Polars or PyArrow? This week on the show, we speak with Marco Gorelli about his project, Narwhals.
Narwhals is a project aimed at library maintainers rather than end users. We discuss how the added compatibility benefits users by supporting modern features like lazy evaluation. We cover several projects Marco has been working with to implement Narwhals, including Altair, scikit-lego, and Ibis.
We also discuss how Marco started contributing to open-source projects. Marco has contributed to both pandas and Polars, which helps explain his interest in growing compatibility between libraries. He also offers advice on making your first contribution.
This episode is sponsored by CodeRabbit.
Course Spotlight: Differences Between Python’s Mutable and Immutable Types
In this video course, you’ll learn how Python’s mutable and immutable data types work internally and how you can take advantage of mutability or immutability to power your code.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
Python 3.13 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. This year, Geir Arne coordinated a series of preview articles with members of the Real Python team and a showcase tutorial, “Python 3.13: Cool New Features for You to Try.” Christopher’s video course “What’s New in Python 3.13” covers the topics from the article and shows the new features in action.
Geir Arne and Christopher dug into the release to create code examples of the new features for the tutorial and course. We look at the options for disabling the Global Interpreter Lock (GIL) and enabling the Just-in-Time (JIT) compiler. We also discuss the new interactive interpreter, better error messages, multiple improvements to static typing, and additional performance improvements.
We share our thoughts on the updates and offer advice about incorporating them into your projects. We also discuss when you should start running Python 3.13.
This is episode is sponsored by Nvidia.
Course Spotlight: What’s New in Python 3.13
In this video course, you’ll learn about the new features in Python 3.13. You’ll take a tour of the new REPL and error messages and see how you can try out the experimental free threading and JIT versions of Python 3.13 yourself.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
Should you use a Python virtual environment in a Docker container? What are the advantages of using the same development practices locally and inside a container? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We share a recent post by Hynek Schlawack about building Python projects using Docker containers. Hynek argues for using virtual environments for these projects, like developing a local one. He’s found that keeping your code in an isolated, well-defined location and structure avoids confusion and complexity.
We also discuss our development setups, including Python versions, code editors, virtual environment practices, terminals, and customizations. We dig into how your programming history affects the tools you use.
We share several other articles and projects from the Python community, including a group of new releases, addressing the “why” in comments, comparing a data science workflow in Python and R, removing common problems from CSV files, and a project for creating HTML tables in Django.
This episode is sponsored by InfluxData.
Course Spotlight: Advanced Python import Techniques
The Python import system is as powerful as it is useful. In this in-depth video course, you’ll learn how to harness this power to improve the structure and maintainability of your code.
Topics:
News:
Show Links:
Discussion:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
What are strategies for being a productive developer with ADHD? How can you help your team members with ADHD to succeed and complete projects? This week on the show, we speak with Chris Ferdinandi about his website and podcast “ADHD For the Win!”
Chris struggled with productivity early in his career as a developer. He shares systems and strategies he’s discovered to harness the focusing power of ADHD.
We discuss time management, meetings, and maintaining productivity in a hectic world. Chris also shares resources for learning more about defining ADHD, self-evaluation, and how to keep getting things done.
This episode is sponsored by InfluxData.
Course Spotlight: Build a GUI Calculator With PyQt and Python
In this video course, you’ll learn how to create graphical user interface (GUI) applications with Python and PyQt. Once you’ve covered the basics, you’ll build a fully functional desktop calculator that can respond to user events with concrete actions.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
How do you take advantage of Git pre-commit hooks? How do you build custom software checks and rules that run every time you commit your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We share a trio of articles by previous guest Stefanie Molin about Git pre-commit hooks. Across the series, she provides step-by-step instructions for building your own hooks, managing them, and learning how they operate.
We discuss the process of estimating software development projects. We dig into the art of “guesstimation,” rough calculation, and napkin math. Christopher shares his experience in agile scenarios and measuring projects by story counts.
We share several other articles and projects from the Python community, including a news roundup, 10 Python programming optimization techniques, and building a blog in Django using GraphQL & Vue. We also explore experimenting with Python’s preprocessor, a toolkit for writing UIs in PyScript, and a couple of projects for working with Django Admin.
This episode is sponsored by InfluxData.
Course Spotlight: Python mmap: Doing File I/O With Memory Mapping
In this video course, you’ll learn how to use Python’s mmap module to improve your code’s performance when you’re working with files. You’ll get a quick overview of the different types of memory before diving into how and why memory mapping with mmap can make your file I/O operations faster.
Topics:
News:
Show Links:
Discussion
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
Are you interested in practicing your Python skills while learning how to solve astrophysics and astronomy problems? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Christopher shares a pair of his recent Real Python video courses about exploring astronomy and astrophysics with Python. Throughout the courses, you’ll get to practice using a variety of data science libraries, such as NumPy, Matplotlib, pandas, pint, and Astropy.
We speak with Mannie Young who is the Organizing Committee Chair of PyCon Africa. Real Python is excited to be a contributing sponsor of this year’s conference. Mannie discusses reinvigorating a continent-spanning conference after a multiyear hiatus. He also talks about introducing Python to students and new developers across Africa through PyClubs, PyLadies, and PyData programs.
We share several other articles and projects from the Python community, including a news roundup, logging in Python, understanding operator precedence, reconciling why it only works on your machine, a fast way to create an HTML app, and a tool for deep inspection of Python objects.
This episode is sponsored by InfluxData.
Course Spotlight: Sorting Dictionaries in Python: Keys, Values, and More
In this video course, you’ll learn how to sort Python dictionaries. By the end, you’ll be able to sort by key, value, or even nested attributes. But you won’t stop there, you’ll also measure the performance of variations when sorting and compare different key-value data structures.
Topics:
News:
Show Links:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.