Opinionated Python recommends
Matt's opinionated Python recommends. Subject to change, like everything.
Light weight IDE: Pyzo ('cause I like it)
Workhorse IDE: Windsurf / VS Code
Package and env manager:
- uv from Astral.sh over Anaconda. (Conda is great tool though; look at micromamba for speed and smaller download while maintaining conda interopability).
uvx something.py
is a fabulous game changer - you don't need to install python or packages ahead of time (example).
Asking questions:
I wish I had a single answer, but I don't. These days I start with LLM and then dig into whatever community I find from searching phrases from those conversations. The python Reddit or Stack Overflow for example is often too general; the helpful people usually lie within in some data analytics or science or visualization niche group or website using different keywords than I think of.
Ask LLM to "help me do or understand or think through X" -- head off it's default "here I'll write something for you" response. (Go ahead and let assist with code later though.)
Which LLM engine: they all have something. I sometimes run same opening idea through each to see which is better for this moment. Claude Sonnet 3.7 is where I've settled most often so far.
Database: sqlite is all you need 99% of the time. True in 2014, still true in 2024.
---
Exciting but unproven I-gotta-learn-this new-hotness: marimo
---
Coda: At 15+ years I'm a long way from python beginner, but I still feel like one. I still don't know what I'm doing on any given project until I'm well into it. I often feel like I'm borderline incompetent. I always have to read the docs on functions/data-structures/methods/classes/decorators. Again.
And yet, I've done real work with it, saved uncountable hours, yielded reliable results. The cloud of unknowing is ever expanding and ever present, and that's Just Fine. Don't give up, just keep swimming.