Bump minimum Python version to 3.12, add ability to calculate periodic table period #423
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.


This bumps the minimum supported Python version to 3.12 in accordance with SPEC0 and adds testing for Python 3.14.
To support Python 3.14, this PR also gets rid of the dependency on the
mendeleevpackage which was previously being used to compute the period of a given element. The reasoning for getting rid of this dependency was twofold: 1.mendeleevwas not compatible with Python 3.14 and 2. the function used for looking up the period was considerably slower than this simple implementation. In the end, it didn't make sense to pick up this dependency when only a very small part of the package was being used.This PR makes two API changes: a function in
fiasco.util.periodic_table_periodwhich computes the period for a given element and a new propertyperiodonIonthat provides the period of the element of that ion.