Makefile upgrades
We are making several Makefile upgrades here. The primary one is running pip only once:
Our original makefile installed our dependencies on every make run
, which is just slow enough to drive me around the bend. This set of targets uses make's in-built timestamping facilities to only run pip install
when requirements.txt or requirements-dev.txt has changed.
There are many other ways we might do this. For example, it is possible there is a file in the venv I could use as my flag, but I couldn't identify one. Or we could check the venv with pipdeptree or something. But this way is simple and fast and only adds a few lines of make.
Beyond that, I added test and qa targets, switched to ruff formatting, and added .PHONY for targets that need them. Yes, that's a lot for one MR, but they're well-separated into 4 commits and reviewing them together is, I think, the most efficient approach.