Issue #691: Inheritance, Logging, marimo, and More (July 22, 2025)

#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