Issue #751

Profiling, From pandas to Polars, NotImplemented, and More

Sept. 8, 2026

Profiling, From pandas to Polars, NotImplemented, and More
#751 – SEPTEMBER 8, 2026 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Profiling and Making Apps Fast by Default
How do you plan for the performance of your Python applications? What does a performance budget entail, and where should you spend your resources? This week on the show, we speak with Den Odell about his new book “Fast by Default: Practical Performance Engineering.”
REAL PYTHON podcast

Migration Strategies for Going From pandas to Polars
How to scope a pandas to Polars migration, from a single performance-sensitive section to the whole pipeline, and how to execute a full migration by hand or with an LLM.
THIJS NIEUWDORP

The Top Open-Source Code Reviewer on Code-Review-Bench
PR-AF places #2 of 42 overall on Martian’s Code-Review-Bench, ahead of CodeRabbit, Copilot, and Devin. Roughly 3x more valid findings than the commercial tools, at ~10x lower cost per review. Verified findings only. Apache 2.0, self-hosted, runs on any open or closed model. Star & Deploy →
AGENTFIELDsponsor

When to Use NotImplemented
When should you return NotImplemented from a dunder method? Why not return False or raise an exception instead?
TREY HUNNER


Articles & Tutorials


Build a Plugin Architecture With a Pydantic and FastAPI
Learn how to build a plugin architecture across service boundaries using a shared Pydantic API contract. This article walks through registration-time validation, FastAPI endpoints, ownership and authorization decisions, and continuous health checks for independently deployed services.
PATRICKM.DE • Shared by Patrick Müller

Metadata Requests No Longer Tracked as PyPI Downloads
Previously, requests for information about a package on PyPI got counted as a download in the package statistics. This was recently changed to more accurately account only for the downloads of wheels, tar balls, and zip files. This article explains the change.
PYPI.ORG

Which AI Tools Are Worth Using? A Live Course for Python Devs With “No Time to Try Them Out”
Stop stressing over every new AI coding tool release: in one live session on September 12 you learn which categories are worth it, which to skip, and a 60-second test that settles every launch after that. Reserve Your Spot →
REAL PYTHONsponsor

Build Your Own Face Recognition Tool With Python
In this tutorial, you’ll build your own face recognition command-line tool with Python. You’ll learn how to use face detection to identify faces in an image and label them using face recognition. With this knowledge, you can create your own face recognition tool from start to finish!
REAL PYTHON

How to Fix ‘NoneType’ Object Has No Attribute Errors
When Python throws AttributeError: ‘NoneType’ object has no attribute ‘x’, it reads like the interpreter is being deliberately unhelpful, but it’s actually telling you something precise: a variable you expected to hold an object turned out to be None.
SYSTEM CRAFT PRESS • Shared by Bob Morrison

Primer on Python Decorators
In this tutorial, you’ll look at what Python decorators are and how you define and use them. Decorators can make your code more readable and reusable. Come take a look at how decorators work under the hood and practice writing your own decorators.
REAL PYTHON

Type Checking Could Be the Guardrail Your Agent Is Missing
Coding agents write a lot of Python, and they write it fast. Having your agent call a typechecker can prevent common type bugs creeping in. Pyrefly is an open-source typechecker built in Rust that’s fast enough to keep up with your agent’s inference.
PYREFLY TEAMsponsor

Testing Async Python Without Losing Your Mind
Async Python testing patterns that actually work: event loop scope, async fixture lifecycle, and the specific pytest-asyncio / anyio patterns that break under default assumptions.
DEV.TO • Shared by Anonymous

Storing Django Static and Media Files on Cloudflare R2
This tutorial shows how to configure Django to load and serve up static and media files, public and private, via Cloudflare R2 an AWS S3-like cloud storage service.
NIK TOMAZIC

Analysis Paralysis Sucks
Junior developers don’t start because they don’t know enough. Senior developers don’t start because they know too many things that could go wrong. Both are stuck.
KEVIN RENSKERS

Async Programming in Python: From Generators to asyncio
Learn how Python async programming works. Write async functions with async and await, and run slow I/O operations concurrently with asyncio.
REAL PYTHON

Why OOP Exists
Learn the fundamental principles behind Object Oriented Programming (OOP) and how that connects to the Python syntax for class definition.
RODRIGO GIRÃO SERRÃO

Python 3.15 Preview: UTF-8 by Default
Preview the Python 3.15 UTF-8 default: see what changes, try it on a pre-release, and keep your file I/O portable across every platform.
REAL PYTHON

Quiz: Python 3.15 Preview: UTF-8 by Default
REAL PYTHON

Optimal Seating on the Airbus A380
Mark analyzes the results from a paper that determined the optimal seating arrangement on an Airbus A380.
MARK LITWINTSCHIK


Projects & Code


Brought to you by Real Pythonsponsor
Online Python Training Created by Experts →

shedskin: Restricted-Python-to-C++ Transpiler
GITHUB.COM/SHEDSKIN

A Browser DOM, in Python!
GITHUB.COM/BYTEFACE • Shared by byteface

pandas-silent-bugs: 182 Examples Where pandas Is Wrong
GITHUB.COM/THIBAUDLEPAN77-SVG • Shared by Thibaud Lepan

mitti: Next-Gen ASGI Framework
GITHUB.COM/GRANDIMAM

jsonstore: Django JSONField Data as Virtual Model Fields
GITHUB.COM/VIEWFLOW

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
September 9, 2026

Python Atlanta
September 10 to September 11, 2026

PyDay Boyacá 2026
September 12 to September 13, 2026

DFW Pythoneers 2nd Saturday Teaching Meeting
September 12, 2026

DjangoCologne
September 15, 2026

PyCon Cameroon 2026
September 17 to September 20, 2026
Happy Pythoning!
Copyright © 2026 PyCoder’s Weekly, All rights reserved.