Open jeromekelleher opened 1 week ago
Ack, sigh. I looks like ruff insisted that we put in a bunch of gratuitously breaking changes as well. Why oh why.
For a command line interface like this with no Python API I see no reason at all to follow the Python march of progress and would like to slow things down a lot. I want to be able to run this tool on old servers without having to jump through hoops.
I guess the question is how we go about that - good to get your thoughts here @tomwhite.
Can you not use a virtualenv or conda on the server?
I looks like ruff insisted that we put in a bunch of gratuitously breaking changes as well. Why oh why.
It's because it's configured to run pyupgrade. You could remove the "UP" linting rule and revert the py39 removal changes if you want to add py39 back.
Can you not use a virtualenv or conda on the server?
Debian doesn't like having multiple Python versions, and I have a lot of stuff running on this particular server. Conda breaks things.
The wider point is that this is a CLI which will be installed on servers. Python 3.9 is the system Python for Debian oldstable (bullseye) which will be lingering about for a while yet. There is a tangible cost to losing 3.9, and basically nothing to be gained. I want to be able to pip install this basically anywhere without installing conda.
I would like to reinstate support for Python 3.9 as the server I am working to do benchmarks on has it installed as system Python, and I am very much disinclined to change it. We don't need to support it as an official platform, but I would appreciate it if we could not add things requiring > py39 until we have to.
Python 3.9 is a perfectly good platform, and I see no good reason to be pushed off it for a good few years yet.
The only thing that makes our code here non Python 3.9 compatible are the type annotations, which I have to say I doubly resent now. Not only are they not particularly useful, resulting in a bunch of pointless churn and often substantially less readable code, but they are actively creating work now by forcing us away from Python 3.9.
@tomwhite - would you prefer that I add
from __future__ import annotations
to all the files here or delete the offending annotations (I'd prefer to just delete them, or make them less precise).