-
Notifications
You must be signed in to change notification settings - Fork 868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop Python 3.9 support #4009
Drop Python 3.9 support #4009
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should bump
Line 175 in 3fee7d5
target-version = "py39" |
py310
and apply resulting ruff fixes in this PR
@@ -106,8 +105,7 @@ optional = [ | |||
"h5py>=3.11.0", | |||
"jarvis-tools>=2020.7.14", | |||
"matgl>=1.1.1", | |||
# TODO: track https://github.com/matplotlib/matplotlib/issues/28551 | |||
"matplotlib>=3.8,!=3.9.1", | |||
"matplotlib>=3.8", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to confirm, reading matplotlib/matplotlib#28551 the entire faulty 3.9.1 release was yanked?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -218,7 +218,9 @@ def gen_iupac_ordering(): | |||
] # At -> F | |||
|
|||
order = sum((list(product(x, y)) for x, y in order), []) # noqa: RUF017 | |||
iupac_ordering_dict = dict(zip([Element.from_row_and_group(row, group) for group, row in order], range(len(order)))) | |||
iupac_ordering_dict = dict( | |||
zip([Element.from_row_and_group(row, group) for group, row in order], range(len(order)), strict=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ideally, most of these auto-inserted zip(strict=False)
should be changed to strict=True
for increased safety. a few cases will rely on strict=False
for correct behavior though so it's a lot of work to identify which ones need to stay to keep the prior behavior of strict=False
. pinging @mkhorton in case he wants to weigh in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I wouldn't expect people to zip
two unequal length sequences in most cases and not getting a warning when their lengths don't match (could potentially be more hidden bugs). Might worth opening an issue to track this (this PR is already crazily huge).
This reverts commit b6dbf20.
…]) is deprecated.Use attribute interface ({self.__class__.__name__}.{key}) instead
@QuantumChemist Thanks a ton for catching this! I missed this one. |
following numpy and pymatgen numpy/numpy#26222 materialsproject/pymatgen#4009
* bump min supported python to 3.10 following numpy and pymatgen numpy/numpy#26222 materialsproject/pymatgen#4009 * pass strict=True to zip() added in python 3.10 safer, since it errors if iterables have different lengths * fix UP038 Use `X | Y` in `isinstance` call instead of `(X, Y)`
drop support for Python 3.9, add support for Python 3.12 following materialsproject/pymatgen#4009
Summary
TODOs
Incar
check_params
forUnion
type #3958 (comment)Future PR
RUF017
rules