DevOps
Ruff 0.8 Replaced Black, isort, and Flake8 in Our Monorepo
A single ruff check –fix and ruff format pair now covers what used to be three separate pre-commit hooks: Black for formatting, isort for import.
Ruff 0.6 Replaced Black and isort in Our Monorepo Last Week
The switch took one afternoon and one follow-up PR. A 180-package Python monorepo that had been running black , isort , and flake8 on every pre-commit.
Mastering Gil Removal: Advanced Techniques and Best Practices for Modern Developers
Introduction to Gil Removal In today’s rapidly evolving technological landscape, GIL removal has emerged as a critical skill for developers seeking to.
I Turned on the Python 3.14 JIT in Production (Well, Staging). Here’s the Truth.
Well, I have to admit, I was a bit skeptical about this whole Python JIT thing at first. In my experience, “free performance” usually comes …
Poetry is Dead to Me: Why I Switched to uv
Actually, I should clarify – I held on for as long as I could. Really, I did. I was the guy in the team chat defending Poetry 1 back in 2023.
Why I Finally Switched to Hatch for Python Builds
Actually, I should clarify — I’ve spent the last decade fighting with Python packaging. I’ve written setup.py files that looked like spaghetti code.
Deployment Just Got Boring (And That’s Good)
I have a confession: I absolutely hate writing Dockerfiles. Well, that’s not entirely accurate — I’ve been doing it for years.
Stop Forcing Users to Install Python for Your CLI Tools
I have a confession: for years, I secretly dreaded sharing my Python CLI tools with anyone who wasn’t already a Python developer.
Stop Using pipx: Why uv Is The Only Python Tool Manager You Need
I have a confession. For about five years, I was the biggest advocate for pipx you’d ever meet. I annoyed my coworkers about it.
Advanced Python Security: Post-Quantum Cryptography, Async Streams, and Fuzzing
Introduction The landscape of Python security is undergoing a paradigm shift. As Python cements its position as the lingua franca of data sc…
