Episode 282: Testing Python Code for Scalability & What's New in pandas 3.0
The Real Python Podcast
How do you create automated tests to check your code for degraded performance as data sizes increase? What are the new features in pandas 3.0? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
Christopher digs into an article about building tests to make sure your software is fast, or at least doesn’t get slower as it scales. The piece focuses on testing Big-O scaling and its implications for algorithms.
We also discuss another article covering the top features in pandas 3.0, including the new dedicated string dtype, a cleaner way to perform column-based operations, and more predictable default copying behavior with Copy-on-Write.
We share several other articles and projects from the Python community, including a collection of recent releases and PEPs, a profiler for targeting individual functions, a quiz to test your Django knowledge, when to use each of the eight versions of UUID, the hard-to-swallow truths about being a software engineer, an offline reverse geocoding library, and a library for auto-generating CLIs from any Python object.
Our live Python cohorts start February 2, and we’re down to the last few seats. There are two tracks: Python for Beginners or Intermediate Deep Dive. Eight weeks of live instruction, small groups, and real accountability. Grab your seat at realpython.com/live.
This episode is sponsored by Honeybadger.
Course Spotlight: Intro to Object-Oriented Programming (OOP) in Python
Learn Python OOP fundamentals fast: master classes, objects, and constructors with hands-on lessons in this beginner-friendly video course.
Topics:
- 00:00:00 – Introduction
- 00:03:28 – Python 3.15.0 Alpha 4 Released
- 00:03:50 – Django Bugfix Release: 5.2.10, 6.0.1
- 00:04:22 – PEP 819: JSON Package Metadata
- 00:04:41 – PEP 820: PySlot: Unified Slot System for the C API
- 00:04:59 – PEP 822: Dedented Multiline String (d-String)
- 00:06:04 – What’s New in pandas 3.0
- 00:13:11 – pandas 3.0.0 documentation
- 00:13:44 – Sponsor: Honeybadger
- 00:14:30 – Unit Testing Your Code’s Performance
- 00:17:51 – Introducing
tprof, a Targeting Profiler - 00:23:03 – Video Course Spotlight
- 00:24:31 – Django Quiz 2025
- 00:24:56 – 8 Versions of UUID and When to Use Them
- 00:29:17 – 10 hard-to-swallow truths they won’t tell you about software engineer job
- 00:44:02 – gazetteer: Offline Reverse Geocoding Library
- 00:46:13 – python-fire: A library for automatically generating command-line interfaces
- 00:47:40 – Thanks and goodbye
News:
- Python 3.15.0 Alpha 4 Released
- Python 3.15.0a5 Alpha 5 Released
- Django Bugfix Release: 5.2.10, 6.0.1
- PEP 819: JSON Package Metadata (Draft)
- PEP 820: PySlot: Unified Slot System for the C API (Draft)
- PEP 822: Dedented Multiline String (d-String) (Draft)
Show Links:
- What’s New in pandas 3.0 – Learn what’s new in pandas 3.0:
pd.colexpressions for cleaner code, Copy-on-Write for predictable behavior, and PyArrow-backed strings for 5-10x faster operations. - What’s new in 3.0.0 (January 21, 2026) — pandas 3.0.0 documentation
- Unit Testing Your Code’s Performance – Testing your code is important, not just for correctness but also for performance. One approach is to check performance degradation as data sizes go up, also known as Big-O scaling.
- Introducing
tprof, a Targeting Profiler – Adam has writtentprof, a targeting profiler for Python 3.12+. This article introduces you to the tool and why he wrote it. - Django Quiz 2025 – Last month, Adam held another quiz at the December edition of Django London. This is an annual tradition at the meetup, and now you can take it yourself or just skim the answers.
- 8 Versions of UUID and When to Use Them – RFC 9562 outlines the structure of Universally Unique Identifiers (UUIDs) and includes eight different versions. In this post, Nicole gives a quick intro to each kind so you don’t have to read the docs, and explains why you might choose each.
- uuid — UUID objects according to RFC 9562 — Python 3.14.2 documentation
Discussion:
Projects:
- gazetteer: Offline Reverse Geocoding Library
- python-fire: Python Fire is a library for automatically generating command-line interfaces (CLIs) from absolutely any Python object
Additional Links:
- Gary Gnu Sings “No Gnews Is Good Gnews Song” - The Great Space Coaster - YouTube
- plasma-umass/bigO: Measures empirical computational complexity (in both time and space) of functions
- Episode #172: Measuring Multiple Facets of Python Performance With Scalene




