Closed as not planned
Description
As discussed in #604,
This would radically change library compatibility:
- Only Python >= 3.6 would be supported. Python 2 support would be dropped, which is perhaps ok, but 3.5 isn't EOL until September 2020 (https://devguide.python.org/#status-of-python-branches).
- Since Python 2 would be dropped, we can also drop
six
. - Other old code can be dropped.
- It would bring in transitive dependencies on
pint
andpydantic
, neither of which have dependencies of their own. These are not as mature and stable as SciPy, though we wouldn't depend directly on their features. The physical constants might come with units attached, which could be nice.
I've set the milestone to 2.x, not because we want to wait a long time to do this, but because it's a breaking change in terms of Python support. We could finally use f-strings and type hints.