All right. Everything that I got flake8 to complain about not being documented, is now documented. The documentation isn't particularly good, but it's there, and it's ready to be processed by Sphinx. I'm not ready to hook Sphinx up yet, so now I'm back to making changes to the motrfile.
Right at the moment, I'm cleaning up the requirements files in various ways. I removed a few unneeded requirements, and some obsolete extras requirements. I've written a small constraints file based on the few version locks I did. The steps to change next are:
- Wire the constraints file everywhere in the motrfile. That means using it explicitly in everything that doesn't use the generated constraints file, and using -c to include it in the generated constraints file.
- Remove the version locks from the requirements file, and check that the locked versions are still installed.
- Create the classes that I've designed to represent parts of command lines.
- Allow the existing environment functions to take instances of those classes. This will take some work updating interfaces, because the new classes bundle together relevant information like "what do you want to do on the command line" and "what do you need to install to do that thing".
Looking over the file, I think the proper order for the last two is:
- Implement the classes
- Create the necessary helpers for flit and pyproject
- Update the new environment code to take the new classes
- So how that works out for me
Once that's done, I can start working on creating helpers for the other commands, and do migrations as I finish them.
I don't really have a lot of focus left for this right now, so I'm going to wrap up early and zone out a bit.