Christopher Trudeau, a RealPython instructor and regular contributor to PyCoder's Weekly, discusses the nuances of behavior-driven development (BDD) and its relationship with test-driven development (TDD). He emphasizes the importance of clear communication in teams and shares tools for crafting plain language acceptance tests. The conversation also touches on exciting Python updates, complex string pattern matching using regex, and innovative projects in the Python community, including Django bug fixes and the Playwright framework for web testing.
57:03
forum Ask episode
web_stories AI Snips
view_agenda Chapters
auto_awesome Transcript
info_circle Episode notes
question_answer ANECDOTE
Live Podcast in Dublin
Christopher Bailey and Christopher Trudeau will record a live podcast at DjangoCon Europe in Dublin.
Bailey is excited to explore his Irish heritage.
insights INSIGHT
Polars Advantages
Polars is advantageous for large datasets because of lazy frames.
Lazy frames optimize query plans and only read necessary data.
volunteer_activism ADVICE
Monkey Patching
Monkey patching dynamically modifies loaded code.
Use it to alter library behavior without changing the code itself.
Get the Snipd Podcast app to discover more snips from this episode
What is behavior-driven development, and how does it work alongside test-driven development? How do you communicate requirements between teams in an organization? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
In this episode, we expand on our software testing discussion from two weeks ago by adding behavior-driven development concepts. Christopher describes how BDD correlates with test-driven development and how it fosters collaboration within a team. We discuss building acceptance tests written in plain language and a handy tool for creating them.
We also share several other articles and projects from the Python community, including a news roundup, using regular expressions in Python, dealing with missing data in Polars, monkey patching in Django, first steps with Playwright, 3D printing giant things with a Python jigsaw generator, and a query language for JSON.
In this course, you’ll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You’ll also explore more advanced regex tools and techniques that are available in Python.
Topics:
00:00:00 – Introduction
00:02:21 – PyOhio 2025 July 26-27, 2025 Announced
00:02:38 – Python 3.13.2 and 3.12.9 now available!
00:02:52 – Django bugfix releases issued: 5.1.6, 5.0.12, and 4.2.19
00:03:04 – DjangoCon Europe 2025 - Real Python Podcast
00:05:24 – How to Deal With Missing Data in Polars
00:10:29 – Monkey Patching Django
00:15:50 – Sponsor: Postman
00:16:42 – My First Steps With Playwright
00:20:48 – How to Use Regular Expressions in Python
00:25:55 – Video Course Spotlight
00:27:25 – TDD vs. BDD: What’s the Difference?
00:50:13 – 3D Printing Giant Things With a Python Jigsaw Generator
How to Deal With Missing Data in Polars – In this tutorial, you’ll learn how to deal with missing data in Polars to ensure it doesn’t interfere with your data analysis. You’ll discover how to check for missing values, update them, and remove them.
Monkey Patching Django – The nanodjango project is a modification to the Django framework that lets you get started with a single file instead of the usual cookie-cutter directory structure. This is a detailed post explaining how nanodjango monkey patches Django to achieve this result.
My First Steps With Playwright – Playwright is a browser-based automation tool that can be used for web scraping or testing. This intro article shows you how to use the Python interface to access a page including using cookies.
How to Use Regular Expressions in Python – This post explores the basics of regular expressions in Python, as well as more advanced techniques. It includes real-world use cases and performance optimization strategies.
Discussion:
TDD vs. BDD: What’s the Difference? – Discover the key differences between TDD vs BDD, their workflows, tools, and best practices for developers.
3D Printing Giant Things With a Python Jigsaw Generator – This is a long, detailed article on 3D printing objects too large for the printer bed. The author has created dovetail joints to assemble pieces together. He wrote a Python program to automatically split up the larger model files into the jigsaw pieces needed to build a final result.