Issue #642

Testing with nox, Async Iterators, Log Propagation, and More

Aug. 13, 2024

Testing with nox, Async Iterators, Log Propagation, and More
#642 – AUGUST 13, 2024 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Testing Coverage and Using nox
This is part 9 in an in-depth series on testing. This part talks about using coverage tools to check how much of your code gets executed during tests, and how to use the nox tool to test against a matrix of Python and dependency versions.
BITE CODE!

Asynchronous Iterators and Iterables in Python
In this tutorial, you’ll learn how to create and use asynchronous iterators and iterables in Python. You’ll explore their syntax and structure and discover how they can be leveraged to handle asynchronous operations more efficiently.
REAL PYTHON

500 Devs, Deploying 200x a Day, While Maintaining 4 Million Lines of Code 😮‍💨
Sounds tricky right? Well that’s exactly what Kraken Technologies is doing. Learn how they manage 100s of deployments a day and how they handle errors when they crop up. Sneak peak: they use Sentry to reduce noise, prioritize issues, and maintain code quality–without relying on a dedicated QA team →
SENTRYsponsor

Log Context Propagation in Python ASGI Apps
This explains how to automatically attach contextual information to all the log messages coming out of a Python ASGI application.
REDOWAN DELOWAR • Shared by Redowan Delowar

PEP 750: Tag Strings for Domain-Specific Languages (Added)
PEP

Python 3.12.5 Released
CPYTHON DEV BLOG

Django Security Releases: 5.0.8 and 4.2.15
DJANGO SOFTWARE FOUNDATION

Django 5.1 Released
DJANGO SOFTWARE FOUNDATION

Quiz: Python Basics: Lists and Tuples
REAL PYTHON

Quiz: How to Write Beautiful Python Code With PEP 8
REAL PYTHON


Articles & Tutorials


Fixing CTRL+left and CTRL+right in the REPL on macOS
The upcoming release of Python 3.13 has some great new features in the REPL making it easier to move around and edit your code. One feature is the ability to move word by word using CTRL+left and right arrow keys. Unfortunately, macOS traps these keys. This quick TIL post shows you how to fix that.
RODRIGO GIRÃO SERRÃO

Strings and Character Data in Python
In this tutorial, you’ll learn how to use Python’s rich set of operators and functions for working with strings. You’ll cover the basics of creating strings using literals and the str() function, applying string methods, using operators and built-in functions with strings, and more!
REAL PYTHON

Learning Through Building the Black Python Devs Community
What hurdles must be cleared when starting an international organization? How do you empower others in a community by sharing responsibilities? This week on the show, we speak with Jay Miller about Black Python Devs.
REAL PYTHON podcast

Taking Notes on a New Codebase
Nat is a consultant which means they spend a lot of time reading other people’s code. When trying to understand large systems taking notes along the way can help. This post talks about the techniques Nat uses.
NAT BENNETT

Create Amazing Progress Bars in Python With alive-progress
Have you ever needed a progress bar in your Python command-line application? One great way of creating a progress bar is to use the alive-progress package. This article shows you how.
MIKE DRISCOLL

PyCon US 2024 Recap and Recording Release
PyCon US 2024 had a record breaking attendance with over 2,700 in-person tickets sold. This article is a recap from the conference runners and links to all the available recordings.
PYCON

Knuckledragger, a Semi-Automated Python Proof Assistant
This post describes Knuckledragger, a Z3 based semi-automated proof assistant. The post covers the basic design, applications, and a variety of theory types it can work with.
PHILIP ZUCKER

Python Extensions Should Be Lazy
Evan has been using the ast.parse function a lot and has found it to be slow even though it is built as a C extension. This article digs into what is going on.
EVAN DOYLE

SonarQube: Open Source Security Automation
SonarQube is a freely available static code analysis tool. This article shows you what it can do and how to get it going on your system.
PRINCE ONYEANUNA

The Trouble With __all__
This post talks about the __all__ attribute and how it declares the public interface to a module, but does not enforce access.
CAELEAN BARNES

Parsing nginx Server Logs With Regular Expressions
This practical article on regular expressions shows you how to build regexes to parse the logs from the nginx web server.
JUHA-MATTI SANTALA

Python’s Operator Precedence
Stephen uses a story-telling style to explain how operator precedence works in Python.
STEPHEN GRUPPETTA • Shared by Stephen Gruppetta


Projects & Code


RustPython: A Python Interpreter Written in Rust
GITHUB.COM/RUSTPYTHON

fasthtml: The Fastest Way to Create an HTML App
GITHUB.COM/ANSWERDOTAI

wat: Deep Inspection of Python Objects
GITHUB.COM/IGREK51

zulip-terminal: Official Zulip Chat Terminal Client
GITHUB.COM/ZULIP

emptylog: Expand the Logger Protocol and Test Logs
GITHUB.COM/POMPONCHIK • Shared by Evgeniy Blinov (pomponchik)

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
August 14, 2024

PyData Bristol Meetup
August 15, 2024

PyLadies Dublin
August 15, 2024

SheDevelopers: Python Mastery Workshop 1st Edition
August 16 to August 17, 2024

PyCon Somalia 2024
August 21 to August 23, 2024

Kiwi PyCon XIII
August 23 to August 26, 2024
Happy Pythoning!
Copyright © 2024 PyCoder’s Weekly, All rights reserved.