Open dan-fritchman opened 6 months ago
Further noting:
dataclass
absolutely everywhere. So there is no chance of ever supporting Python before 3.7.Courtesy @daquintero:
Ahh this is great for the next release, thanks! The diagram is from here https://devguide.python.org/versions/ and it's really helps managing the target support for releases imo
That is quite helpful to know.
I am nonetheless quite reticent to leave Python versions behind. This is a package for chip designers, a bunch who is absolutely horrendous at upgrading any piece of software ever. Case in point: many such orgs have just managed to upgrade to their "new" OS of choice - RedHat Linux v7, just in time for it to go EOL next month. Maybe python itself has gotten easier in this sense, since the meta-managers (e.g. conda) have made it easier for each user to install their own version. But I expect plenty of noobs (our audience) will be pegged to what their CAD group allows, and that will perennially be old as dirt.
So, if we can keep Python 3.7-3.8 working we should.
Again given Hdl21's design (particularly the pervasive dataclasses), there's no hope of supporting any earlier than 3.7. So it's really those two sub-versions in question.
Originally noted in: https://github.com/dan-fritchman/Hdl21/issues/157#issuecomment-2023271671
Python 3.7 and 3.8 continue to work, if you use Pydantic v1. E.g.: https://github.com/dan-fritchman/Hdl21/actions/runs/8455642769
If there's some dependency specification mechanism to state that, great.
If not we may just be Python 3.9+ from here on.