#691 – JULY 22, 2025
Inheritance Over Composition, Sometimes
In a older post, Adrian wrote some code using inheritance. He got questions from his readers as why it wouldn’t just be simpler to use functions. This post re-implements the code with inheritance, composition, and plain old functions and then compares the approaches.
ADRIAN
Logging an Uncaught Exception
Uncaught exceptions will crash an application. If you don’t know how to log these, it can be difficult to troubleshoot such a crash.
ANDREW WEGNER
Prevent Postgres Slowdowns on Python Apps with this Check List
Avoid performance regressions in your Python app by staying on top of Postgres maintenance. This monthly check list outlines what to monitor, how to catch slow queries early, and ways to ensure indexes, autovacuum, and I/O are performing as expected →
PGANALYZE
Getting Started With marimo
Notebooks
Discover how marimo notebook simplifies coding with reactive updates, UI elements, and sandboxing for safe, sharable notebooks.
REAL PYTHON course
uv
0.8.0 Released
GITHUB.COM/ASTRAL-SH
Textualize 4.0.0 Released
GITHUB.COM/TEXTUALIZE
PEP 590: Vectorcall: A Fast Calling Protocol for CPython (Final)
PYTHON.ORG
Happy 20th Birthday Django!
DJANGO SOFTWARE FOUNDATION
Articles & Tutorials
How to Use atexit
for Cleanup
Divakar recently came across Python’s atexit
module and became curious about practical use cases in real-world applications. To explore it, he created a simple client-server app that uses a clean-up function.
DIVAKAR PATIL • Shared by Divakar Patil
2048: Iterators and Iterables
Making a terminal based version of the 2048 game, Ned waded into a classic iterator/iterable confusion. This article shows you how they’re different and how confusing them can cause you problems in your code.
NED BATCHELDER
Ditch the Vibes, Get the Context with Augment Code
You ship to production; vibes won’t cut it. Augment Code’s powerful AI coding agent meets Python developers exactly where they are (in PyCharm, VS Code or even Vim), delivering deep context into even the gnarliest codebases and learning how you work. Ditch the vibes and try Augment Code today →
AUGMENT CODE sponsor
A Cleaner Way to Work With Databases in Python
The SQLModel library offers a clean, Pythonic alternative to writing raw SQL by combining the power of SQLAlchemy with the validation and type safety of Pydantic.
AHMED LEMINE • Shared by Bob Belderbos
Python Scope and the LEGB Rule
Understanding Python’s variable scope and the LEGB rule helps you avoid name collisions and unexpected behavior. Learn to manage scope and write better code.
REAL PYTHON
How to Debug Common Python Errors
Learn how to debug Python errors using tracebacks, print(), breakpoints, and tests. Master the tools you need to fix bugs faster and write better code.
REAL PYTHON
Making a Simple HTTP Server With Asyncio Protocols
Learn how to build a fast, minimal HTTP server using asyncio.Protocol
, complete with routing, parsing, and response handling from scratch.
JACOB PADILLA
An Intro to Asciimatics: Another Python TUI Package
Asciimatics is a Text-based User Interface library with an emphasis on animations. Learn how to bring some fun to your terminal.
MIKE DRISCOLL
Koan 1: The Empty Path
Use __bool__
, __len__
and other tools to better understand truthiness, falsiness, and the meaning of emptiness in Python.
VIVIS DEV
Prohibiting inbox.ru Email Domain Registrations
“A recent spam campaign against PyPI has prompted an administrative action, preventing using the inbox.ru email domain.”
MIKE FIEDLER
Do You Really Know How or
and and
Work?
This article explores the Python expression 5 or 0
which may not evaluate to what you think it does.
STEPHEN GRUPPETTA
A Real-Time Dashboard With FastAPI & WebSockets
Learn how to evelop a real-time inventory tracking dashboard with FastAPI, Postgres, and WebSockets.
ABDULAZEEZ ABDULAZEEZ ADESHINA • Shared by Michael Herman
Quiz: How to Debug Common Python Errors
REAL PYTHON
Projects & Code
gt-extras: Helper Functions for Great-Tables
GITHUB.COM/POSIT-DEV • Shared by Richard Iannone
shapely: Manipulation and Analysis of Geometric Objects
GITHUB.COM/SHAPELY
Run Arbitrary Code in 3rd Party Libraries With dowhen
GITHUB.COM/GAOGAOTIANTIAN • Shared by Tian Gao
complexipy: Calculate Complexity of Your Python
GITHUB.COM/ROHAQUINLOP
mureq-typed: A Modern, Single-File, HTTP Request Tool
GITHUB.COM/HBMARTIN • Shared by Harold Martin
Events
Weekly Real Python Office Hours Q&A (Virtual)
July 23, 2025
REALPYTHON.COM
PyOhio 2025
July 26 to July 28, 2025
PYOHIO.ORG
PyDelhi User Group Meetup
July 26, 2025
MEETUP.COM
Python Sheffield
July 29, 2025
GOOGLE.COM
Happy Pythoning!
This was PyCoder’s Weekly Issue #691.
View in Browser »
[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]
Source:: PyCoder’s