Issue #714

Narwhals, Selenium, Testing Conundrum, and More

Dec. 23, 2025

Narwhals, Selenium, Testing Conundrum, and More
#714 – DECEMBER 23, 2025 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Writing DataFrame-Agnostic Python Code With Narwhals
If you’re a Python library developer looking to write DataFrame-agnostic code, this tutorial will show how the Narwhals library could give you a solution.
REAL PYTHON

Eliminate Flaky Tests in Selenium
Learn why time.sleep() and WebDriverWait aren’t enough when testing with Selenium and what to do about race conditions caused by UI state changes
DHIRAJ DAS • Shared by Dhiraj

Which Code Review Tool Catches the Most Python Bugs
We benchmarked the leading AI code review tools against 118 real-world runtime bugs from 45 open-source repos, across 8 languages. Macroscope dominated—catching more bugs with fewer false positives—especially in Python. Check out our benchmark results →
MACROSCOPEsponsor

A Testing Conundrum
Ned presents a useful class that is hard to test thoroughly and his failed attempt to use Hypothesis to do it.
NED BATCHELDER

Python 3.15.0 Alpha 3 Released
CPYTHON DEV BLOG

DjangoCon US Chicago 2026 Call for Proposals
DJANGOCON US

Django Software Foundation Fundraiser
DJANGO SOFTWARE FOUNDATION


Articles & Tutorials


Moving Towards Spec-Driven Development
What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programming? This week on the show, Marc Brooker, VP and Distinguished Engineer at AWS, joins us to discuss specification-driven development and Kiro.
REAL PYTHON podcast

Tap Compare Testing for Service Migration
A common pattern used when migrating from one system to another at scale is “tap compare” or “shadow testing”. This approach involves copying and splitting traffic to ensure good behavior before switching things over.
REDOWAN DELOWAR

Real Python Opens New Live Course Cohorts for 2026
Real Python is enrolling new cohorts for two instructor-led courses: Python for Beginners: Code with Confidence for those just starting out, and Intermediate Python Deep Dive for developers ready to master advanced patterns and OOP. Both feature hands-on projects, expert feedback, and certificates of completion.
REAL PYTHONsponsor

Talk Python in Production
A guest host for Talk Python interviews Michael Kennedy (Talk Python’s creator) about his new book “Talk Python in Production” which talks about the tools and techniques used to host Talk Python and its related sites.
TALK PYTHON podcast

Deliver Code You Have Proven to Work
This opinion piece by Simon talks about what it means to be a responsible developer in the age of AI tooling. In short: you’re still responsible for checking the code works regardless of who/what wrote it.
SIMON WILSON

What’s New in PySpark 4.0
Discover PySpark 4.0’s game-changing features: 3x faster Arrow UDFs, native Plotly visualization, and dynamic schema UDTFs for flexible data transformations.
CODECUT.AI • Shared by Khuyen Tran

What’s New in Python 3.15
Python 3.15 is actively in development and they’ve already started creating the “What’s new” document. Learn about what is coming in next year’s release.
PYTHON.ORG

Embrace Whitespace
Well placed spaces and line breaks can greatly improve the readability of your Python code. Read on to learn how to write more readable Python.
TREY HUNNER

How to Build the Python Skills That Get You Hired
Build a focused learning plan that helps you identify essential Python skills, assess your strengths, and practice effectively to progress.
REAL PYTHON

Exploring Asynchronous Iterators and Iterables
Learn to build async iterators and iterables in Python to handle async operations efficiently and write cleaner, faster code.
REAL PYTHON course

How I Write Django Views
Kevin talks about why he uses Django’s base View class instead of generic class-based views or function-based ones.
KEVIN RENSKERS

Inline SVGs in Jupyter Notebooks
This quick TIL article shows how to inline SVGs in Jupyter notebooks in two simple steps.
RODRIGO GIRÃO SERRÃO


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

snob: A Picky Test Selector
GITHUB.COM/ALEXPASMANTIER • Shared by alex pasmantier

qcrawl: Fast Async Web Crawling & Scraping Framework
GITHUB.COM/CRAWLCORE

JustHTML: Pure Python HTML5 Parser
GITHUB.COM/EMILSTENSTROM • Shared by Emil Stenström

PyArabic: Arabic Language and Text Library
GITHUB.COM/ALMUBARMIJ

Django LiveView: Framework for Realtime SPAs
GITHUB.COM/DJANGO-LIVEVIEW

📆🐍 Upcoming Python Events


PyDelhi User Group Meetup
December 27, 2025

Python Sheffield
December 30, 2025

Python Southwest Florida (PySWFL)
December 31, 2025
Happy Pythoning!
Copyright © 2025 PyCoder’s Weekly, All rights reserved.