Issue #691

Inheritance, Logging, marimo, and More

July 22, 2025

Inheritance, Logging, marimo, and More
#691 – JULY 22, 2025 VIEW IN BROWSER
The PyCoder’s Weekly Logo
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 CODEsponsor

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


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 →

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

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
July 23, 2025

PyOhio 2025
July 26 to July 28, 2025

PyDelhi User Group Meetup
July 26, 2025

Python Sheffield
July 29, 2025
Happy Pythoning!
Copyright © 2025 PyCoder’s Weekly, All rights reserved.