RSSAmplifier

Blog

Bruno Alla's Blog

My personal blog

browniebroke.comRSS feed ↗26 posts

Latest posts

Introducing django-remake-migrations

Squashing 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.

Project-level shareable live templates in PyCharm (or other IntelliJ IDEs)

Easily share small snippets of boilerplate code with your team when working on a large project.

Migrating from Chakra UI to Tailwind CSS

How I migrated this blog from Chakra UI to tailwind CSS in a matter of hours using Cursor

Testing your Python logging like a boss

How to properly test that your Python code logs what you expect.

Manage deprecations with Python warnings in a Django project

A 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 updates

A short post on how I augmented the lack of uv supported in Dependabot using GitHub actions.

Narrow state of a Django model using Python TypeGuard

Today, I came across a problem with type checking in a Django project which led me to use TypeGuard for the first time. I've heard about them in TypeScript on the Syntax podcast , so I was aware of the concept, but never had a practical situation where I needed to use them in Python. The problem So I was doing some refactoring to eliminate a bit of code duplication between 3 functions. As features…

Attest build provenance for a Python package in GitHub actions

Using GitHub action to attest build provenance of a Python package published on PyPI

Bulk updating multiple repos with all-repos

A walkthrough of my setup that allows me to maintain many GitHub repos at once

Nested ViewSets with Django REST Framework

How to place a ViewSet under a parent resource with Django REST Framework

Migrate my site design system to Chakra UI with ChatGPT

How I used Chat GPT to take on this endeavour and how it went

Enabling sudo via TouchID using Ansible

A small post explaining how to integrate sudo with Touch ID on Mac.

Specify docs dependency groups with Poetry and Read the Docs

Guide on how to setup your package on Read the Docs with Poetry's dependency groups.

Convert a Poetry package to the src layout

Quick run down on the steps required to convert a Python package using Poetry to the src layout.

Convert Python requirements to Poetry format

Automate your migration to Poetry with dephell.

Migrating a project to Poetry

How I migrated a Python project to Poetry.

Auto-update pre-commit hooks with GitHub Actions

A short post to explain how to get pre-hooks to automatically update their version in the config file.

Mastering flexbox with Flexbox Zombies

A short post to share my recent learning experience.

Self-host your Typography.js fonts with Gasby

How to self-host the fonts used by your Typography.js theme with GatsbyJS.

Setting up a Content Security Policy with Gatsby

My quick story on how I added a content security policy (CSP) on my blog, powered by GatsbyJS.

Making Celery work nicely with Django transactions

A 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 Django

The difference between static and media files in Django, which are often confused by beginners.

Add cache-control header to an entire S3 Bucket using Boto3

How to change cache-control header for multiple objects in a AWS S3 bucket using boto3.

How I made 1000's of websites more secure with one line of code

This is the story of learning about a new security header, added it to Gatsby, and made tons of sites more secure

New year, new laptop

The story of the clean install of my new laptop

Hello World!

A first post with a welcome message