I’m sure the Astral tools are all very useful but, controversial opinion here, my preferred way to debug Python code is by reading and understanding it…
To elaborate on my previous post: yes, I consider linters and type checkers to be debugging tools. uv, which I see a lot of hand-wringing about is an even more inexplicable tool to me. Maybe I’m an idiot, but I cannot see why I need the world’s fastest dependency installer. I hate dependencies!
But it does so much more I hear you say! It is also an upload tool, edits your project files, and is a bicycle seat cover. And yet I could do all of those things before it existed. I do not want the new hotness. I want to know that the things I use are universal and constant. If I can reasonably code with just my mind and an editor that is how I want to work.
Is this a devops thing? We have become obsessed with making tools instead of making things. You may be angry at AI but, as a profession, we have been automating away our expertise for decades and calling it progress.
Actually, I think it’s an “efficiency” and “productivity” thing. We have constructed a society that values production above all else. To me, finding a bug by patient study *is* programming. You might say I have wasted my time when an automatic tool might have found it in moments, but I would not have become a better programmer by using it. We have made our discipline a chore instead of a craft.

@jonathanhogg

There are programmers, and there are people who solve problems using computers, for whom programming is one means to an end.

As you say, the programs may be ephemeral, while the solutions have lasting consequences.