Episode 189: Building a Python Debugger & Preparing for NumPy 2.0
The Real Python Podcast
Jan 26, 2024 47m
How does a debugger work? What can you learn about Python by building one from scratch? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
Christopher shares a two-part tutorial on building a debugger in Python? Creating a simple one requires less code than you might think.
We also talk about an article from Itamar Turner-Trauring about how to prepare for the upcoming changes to NumPy. The new version is not backward compatible and will require some inspection of your project dependencies. Itamar includes advice, techniques, and tools for updating your code.
We also share several other articles and projects from the Python community, including a couple of news items, a discussion about managing advice as a new developer, moving to Python as a former R developer, building a Markov chain to generate readable nonsense, optimizing fonts to individual glyphs on your website, and a project for working with units of measurement in Python.
This week’s episode is brought to you by Posit Connect.
Course Spotlight: Create a Tic-Tac-Toe Python Game Engine With an AI Player
In this video course, you’ll create a universal game engine in Python for tic-tac-toe with two computer players, one of which will be an AI player using the powerful minimax algorithm. You’ll give your game library a text-based graphical interface and explore two front ends.
Topics:
- 00:00:00 – Introduction
- 00:02:18 – DjangoCon Europe 2024 CFP Now Open
- 00:02:38 – Python Insider: Python 3.13.0 alpha 3 is now available
- 00:03:04 – NumPy 2 Is Coming: Preventing Breakage, Updating Your Code
- 00:07:37 – Using a Markov Chain to Generate Readable Nonsense
- 00:12:53 – Sponsor: Posit Connect
- 00:13:43 – Python Rgonomics
- 00:20:10 – Let’s Create a Python Debugger Together
- 00:23:49 – Video Course Spotlight
- 00:25:08 – Advice for New Devs Who’ve Read Other Advice Essays
- 00:42:44 – Fontimize: Optimize Fonts to the Glyphs on Your Site
- 00:44:57 – Pint: Units for Python
- 00:46:55 – Thanks and Goodbye
News:
Show Links:
- NumPy 2 Is Coming: Preventing Breakage, Updating Your Code – NumPy 2 is coming, and it’s backwards incompatible. Learn how to keep your code from breaking, and how to upgrade.
- Using a Markov Chain to Generate Readable Nonsense – Describes a simple Markov chain algorithm to generate reasonable-sounding but utterly nonsensical text, and presents some example outputs as well as a Python implementation in only 20 lines of code.
- Python Rgonomics – If you’re coming to Python from R, this article outlines some libraries that have an R-like feel, helping you make the transition to Pythonic workflows.
- Let’s Create a Python Debugger Together – Ever wondered how a debugger works? Implementing a simple one requires less code than you might think. Read on to find out how.
Discussion:
- Advice for New Devs Who’ve Read Other Advice Essays – After reading some programming advice posts, this author decided a lot of them concentrated on the wrong things. Here is his own take.
- Associated Hacker News Discussion
Projects:
Additional Links:
- Let’s create a Python Debugger together: Part 2 - Mostly nerdless
- “Making Hard Things Easy” by Julia Evans (Strange Loop 2023) - YouTube
- Episode #71: Start Using a Debugger With Your Python Code – The Real Python Podcast
- Debugging Rules! – Find out what’s wrong with anything, fast.