Skip to content
Redowan's Reflections
Python
Notes on the
Python
programming language — testing, async, type hints, and practical patterns.
Injecting Pytest fixtures without cluttering test signatures
December 2, 2024
·
article
Explicit method overriding with @typing.override
November 6, 2024
·
article
Quicker startup with module-level __getattr__
November 3, 2024
·
article
Shades of testing HTTP requests in Python
September 2, 2024
·
article
Taming parametrize with pytest.param
August 28, 2024
·
article
Log context propagation in Python ASGI apps
August 6, 2024
·
article
Please don't hijack my Python root logger
August 3, 2024
·
article
TypeIs does what I thought TypeGuard would do in Python
April 27, 2024
·
article
Patching pydantic settings in pytest
January 27, 2024
·
article
Annotating args and kwargs in Python
January 8, 2024
·
article
Statically enforcing frozen data classes in Python
January 4, 2024
·
article
Debugging dockerized Python apps in VSCode
December 22, 2023
·
article
Banish state-mutating methods from data classes
December 16, 2023
·
article
Taming conditionals with bitmasks
July 29, 2023
·
article
Memory leakage in Python descriptors
July 16, 2023
·
article
Unix-style pipelining with Python's subprocess module
July 14, 2023
·
article
Enabling repeatable lazy iterations in Python
July 13, 2023
·
article
Escaping the template pattern hellscape in Python
July 1, 2023
·
article
Python dependency management redux
June 27, 2023
·
article
Implementing a simple traceroute clone in Python
June 1, 2023
·
article
Sorting a Django queryset by a custom sequence of an attribute
May 9, 2023
·
article
Deduplicating iterables while preserving order in Python
May 1, 2023
·
article
Pushing real-time updates to clients with Server-Sent Events (SSEs)
April 8, 2023
·
article
Signal handling in a multithreaded socket server
February 26, 2023
·
article
Switching between multiple data streams in a single thread
February 19, 2023
·
article
Skipping the first part of an iterable in Python
February 12, 2023
·
article
Pausing and resuming a socket server in Python
February 5, 2023
·
article
Debugging a containerized Django application in Jupyter Notebook
January 14, 2023
·
article
Manipulating text with query expressions in Django
January 7, 2023
·
article
Using tqdm with concurrent.fututes in Python
January 6, 2023
·
article
next »