Issue #673

Textual UIs, Tail-Call Performance, Bidirectional Generators, and More

March 18, 2025

Textual UIs, Tail-Call Performance, Bidirectional Generators, and More
#673 – MARCH 18, 2025 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Python Textual: Build Beautiful UIs in the Terminal
Textual is a Python library for building text-based user interfaces (TUIs) that support rich text, advanced layouts, and event-driven interactivity in the terminal. This tutorial showcases some of the ways you can design an appealing and engaging UI using Textual.
REAL PYTHON

Quiz: Python Textual: Build Beautiful UIs in the Terminal
REAL PYTHON

Performance of the Python 3.14 Tail-Call Interpreter
Prior reports of 10% speed-up from the tail-call interpreter coming in Python 3.14 may be overstated. This article breaks down where that number came from and what the reality may be.
NELSON ELHAGE

Postman AI Agent Builder Is Here: The Quickest Way to Build AI Agents. Start Building
Postman AI Agent Builder is a suite of solutions that accelerates agent development. With centralized access to the latest LLMs and APIs from over 18,000 companies, plus no-code workflows, you can quickly connect critical tools and build multi-step agents — all without writing a single line of code →
POSTMANsponsor

Binary Search as a Bidirectional Generator
Python generators support a .send() method, allowing you to receive data within the generator itself. This post talks about how to use this to implement a binary search algorithm.
RODRIGO GIRÃO SERRÃO

PSF Distinguished Service Award for Thomas Wouters
PYTHON SOFTWARE FOUNDATION

PyOhio July 26-27, Call for Papers
PRETALX.COM • Shared by Keith Murray


Articles & Tutorials


Providing Multiple Constructors in Your Python Classes
In this step-by-step tutorial, you’ll learn how to provide multiple constructors in your Python classes. To this end, you’ll learn different techniques, such as checking argument types, using default argument values, writing class methods, and implementing single-dispatch methods.
REAL PYTHON

Getting to Know Duck Typing in Python
In this video course, you’ll learn about duck typing in Python—a type system based on an object’s behavior rather than inheritance. By taking advantage of duck typing, you can create flexible and decoupled sets of Python classes that work together or independently.
REAL PYTHON course

Detect and Localize Anomalies With Intel AI, Powered by OpenVINO
Discover Anomalib, a library of ready-to-use algorithms for efficient anomaly detection. Optimized to run locally and open source, it’s designed to help you spot the odd one out. Get the code on GitHub.
INTEL CORPORATIONsponsor

Satellogic’s Open Satellite Feed
This post explores the “Satellogic EarthView” data feed, starting with determining where the satellites are, and moving to the corresponding ground imagery. The post uses a combination of Python and DuckDB to achieve its objectives.
MARK LITWINTSCHIK

The Hierarchy of Controls
This article, subtitled “how to stop devs from dropping prod” takes an idea from mechanical engineering used to ensure safety around machinery and brings it to the software world to prevent accidental destruction of data.
HILLEL WAYNE

Build a Dice-Rolling Application With Python
In this step-by-step project, you’ll build a dice-rolling simulator app with a minimal text-based user interface using Python. The app will simulate the rolling of up to six dice. Each individual die will have six sides.
REAL PYTHON

“Rules” That Terminal Programs Follow
The conventions that most terminal programs follow mean that you can more easily know how to control them. Julia’s post talks about “rules” that terminal programs tend to follow, and so should yours.
JULIA EVANS

Sustainable Coding: How Do I Apply It as a Cloud Engineer?
Choices we make as programmers effect the amount of processing power required in production and ultimately that has a carbon cost. Ed’s post talks about how he thinks about this larger picture.
ED CREWE

Font Ligatures for Your Code Editor and Terminal
A font ligature combines two characters into a single rendering, allowing “>=” to look like a single symbol. This article shows you how you can do this with common terminals and editors.
MIGUEL GRINBERG

Python Discord 2024 Survey Report
The Python Discord server does an annual survey. This page is a giant notebook showing the results for the last four years along with the code that generates the corresponding graphs.
PYTHON DISCORD

The Boolean Trap
Often when using a Boolean in an API you are making the API harder to understand. This post explains why most of the time you should use enums instead.
ENGINEER’S CODEX

Faster Branch Coverage Measurement
After nearly two years, Ned thinks this is finally ready: coverage.py can use sys.monitoring to more efficiently measure branch coverage.
NED BATCHELDER


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 →

djoser: REST Implementation of Django Authentication System
GITHUB.COM/SUNSCRAPERS

html5lib-python: Parse HTML Documents and Fragments
GITHUB.COM/HTML5LIB

stumpy: Modern Time Series Analysis
GITHUB.COM/TDAMERITRADE

poetry-dockerize-plugin: Generate a Docker Image From Poetry
GITHUB.COM/NICOLOBOSCHI

opendbc: A Python API for Your Car
GITHUB.COM/COMMAAI

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
March 19, 2025

Creating Python Communities and Outreach
March 20 to March 21, 2025

PyData Bristol Meetup
March 20, 2025

PyLadies Dublin
March 20, 2025

PyCamp Argentina 2025
March 21 to March 25, 2025
Happy Pythoning!
Copyright © 2025 PyCoder’s Weekly, All rights reserved.