Coding 2024-04-08

By Max Woerner Chase

Okay, I made the changes I was thinking of earlier, to give PathStr its own module, and move around some TypeVar definitions. That went well enough, though I did get caught off-guard by a few imports I couldn't remove, or move to where I was thinking of moving them.

In any case, my focus moved back around to fixing up the names in parametric_command. I'm still trying to rename that one protocol; maybe if I try to explain what it's for, I'll get some sudden insight I can apply later.

So, there's a class called ParametricCommand. It can either represent a set of arguments to a Python module invoked via python -m, or arguments to an executable command. This is a helpful distinction because some Python tools offer a way to run that is "like python -m but". One of its attributes is either one of those "pass arguments to python -m" instances, or a private wrapper class around a "matrix.SelectionDirectory", which is sort of a juiced-up/stripped-down matrix.Matrix. In this case, it holds information about how to determine the path to the installer script for the virtual environment the command executes in.

Ultimately, this attribute determines stuff about the virtual environment path, the path generated reports get sent to, and probably something else, but I'm not sure.

Food for thought. Time for bed.

Good night.