Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
> to parse, compare, and reason about Python versions.
If in addition to the above you want to mutate Python versions, you may consider my parver package[1]
[1]: https://github.com/RazerM/parver
I wrote a Clojure library that implemented version comparison for all of the package versioning algorithms I could find[1], and by faaar the Python version comparison algorithm was the weirdest, most annoying one to implement (PEP 440[2], the current standard at the time). So many exceptions to the rules that attempt to be helpful but didn't really help.
In my opinion, the best version comparison algorithm is that of the debian package manager. Most other algorithms implemented in the aforementioned library were actually implemented in terms of it.
1: https://gitlab.com/djhaskin987/serovers
2: https://peps.python.org/pep-0440/