Introducing django-remake-migrations3 March 2025 • 4 min readSquashing Django migrations in a medium to large Django project can be tedious and error-prone. Introducing a pluggable Django app to make it quick and easy.
Testing your Python logging like a boss13 December 2024 • 3 min readHow to properly test that your Python code logs what you expect.
Manage deprecations with Python warnings in a Django project22 November 2024 • 5 min readA post with a few tips on how to leverage the Python warnings module in a Django project
Keep uv.lock file up-to-date with Dependabot updates2 October 2024 • 2 min readA short post on how I augmented the lack of uv supported in Dependabot using GitHub actions.
Attest build provenance for a Python package in GitHub actions8 August 2024 • 4 min readUsing GitHub action to attest build provenance of a Python package published on PyPI
Bulk updating multiple repos with all-repos10 July 2023 • 7 min readA walkthrough of my setup that allows me to maintain many GitHub repos at once
Nested ViewSets with Django REST Framework5 May 2023 • 6 min readHow to place a ViewSet under a parent resource with Django REST Framework
Convert a Poetry package to the src layout19 January 2022 • 3 min readQuick run down on the steps required to convert a Python package using Poetry to the src layout.
Convert Python requirements to Poetry format7 January 2021 • 2 min readAutomate your migration to Poetry with dephell.
Auto-update pre-commit hooks with GitHub Actions12 July 2020 • 3 min readA short post to explain how to get pre-hooks to automatically update their version in the config file.
Making Celery work nicely with Django transactions25 June 2019 • 5 min readA short post about things I've learned when working with Celery in a Django project and a tip to avoid a common pitfall with DB transactions.
Static vs. Media files in Django18 June 2019 • 6 min readThe difference between static and media files in Django, which are often confused by beginners.
Add cache-control header to an entire S3 Bucket using Boto31 May 2019 • 2 min readHow to change cache-control header for multiple objects in a AWS S3 bucket using boto3.