
A Surprising Secret About Python Linters
It sounds crazy: you run your linter, fix the issues, run it again… and suddenly it finds more issues. Wait, what?
Yes, it’s a real thing. Depending on the complexity of your code and the tools you’re using, sometimes one pass isn’t enough to get a clean bill of health. But don’t worry, there’s a simple fix: run your linters twice!

Teach Your AI Agent to Write Python Logs Like a Pro
Last week we made the case for why logging is the DevOps superpower that gives you X-ray vision into your systems. What if you are using AI Agents to write your Python code? Just like we train junior developers to build habits that lead to better software, we need to guide our AI Agents to log their code in smart, structured, and consistent ways.

How to Keep Your Python Code Standard
If you've opened a Python file only to find cryptic code, you already know why “standard Python” matters. But what is standard Python? Who decides what counts as “standard”? And how can you set and enforce engineering standards for your team around standard Python? Let’s talk standards, and why they can help you and your team.

Why Linters Hate Unused Imports
If you’ve been writing Python code for long, you’ve run into one of the many tools that want to clean up your files. And you’ve probably noticed that they all want to delete unused imports. This might seem a little nitpicky, but there are good reasons to nuke unused imports. And while it starts with clean code, the reasons don’t end there.

Python Linter Showdown
Python Linter Showdown! It’s time for a spirited comparison of four popular Python linters: black, flake8, pylint, and ruff. Each tool promises to tidy up your code, catch pesky bugs, and keep your scripts neat. Our contestants today will face off on three files containing some not-so-great Python. Get ready to witness our code-based house of horror!