Coding 2022-08-14
I'm still kind of out of it, so instead of holding myself to grinding out some improvements to MOTR, I had a look at one of the projects I intend to use it with. The project had suffered some bitrot, so I took the time to update the things that had changed.
Basically:
- It was using my old fork of flake8-html, so I pushed my local copy to GitHub, and pointed both MOTR and this project's requirements files to the branch, so that other people could, in theory, run the test suites and see the failures for themselves. I also updated the fork with the latest commits from master. And pinned the flake8 version for now.
- Mypy got some good updates that I had to update some of my code to deal with. The result probably makes more sense.
- The shiv build step included an argument being passed to pip that broke the build because it wasn't recognized. So I removed it, and it seems fine? I wonder why I had it in the first place... Ah, looks like I was checking for any fallout from a then-upcoming change to pip, that went in, so they took out the option to enable it.
Anyway, one reason I'd been looking at this repo is that it hosts my punq fork (which I'm going to rename, for sure). The fork relies on the behavior of PEP 563 to construct nicely namespaced types in a registry for dependency injection. My impression of the plans for annotations is "switch to PEP 649, once we figure out how", so I figured I'd investigate things in this area. I'm aware that the switch will break the punq fork in fascinating ways (and I'm not totally clear on how original punq will handle it when it comes around), but my impression from looking at some of this code, and thinking about the rest, is that I can probably just get rid of a bunch of non-standard behavior, replace it with NewTypes, and delete a whole bunch of code that I barely remember writing, but that I know for a fact isn't anybody else's fault.
I'm thinking I'll mostly write this weekend off and mess around with other stuff, but once I've got my energy back, I think it'd make sense to alternate between updating MOTR and this other repository. Like, make changes to one repository, run tests, spend a few minutes on the other, run tests, go back to check the first set of tests...
That seems like it makes sense. Next week, or later, I'll see how it shakes out in practice.
I've got a bit more time tonight, so I'm going to mess around with something else for now, to blow off steam.
Good night.