-
Notifications
You must be signed in to change notification settings - Fork 12
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
Linting fixes and CI config for multiple Python 3.9+ #34
Conversation
b3e5380
to
fa5a1b3
Compare
@gpetretto this PR addresses #33 and shows that we indeed currently fail on Python 3.8 (due to qtoolkit... so I've dropped it) and 3.9 (due to some weird typing issue with pydantic + future annotations messing up -- see the test I added). With the other changes bundled here (enforcing Python 3.9 pre-commit, etc.), hopefully this means the CI will be useful once again at detecting these issues, ready to add some proper tests. I'll try now to fix the 3.9 issue with pydantic, but if you already have some idea how, feel free... |
As a side note, I found that I couldn't include the future annotations in modules defining pydantic models. So in atomate2 we remove the future import in those modules. |
Indeed, the issue as I understand it is that |
c663e3d
to
8853680
Compare
@gpetretto this is ready for you to look at I think, unfortunately in the process of fixing the CI there are a lot of whitespace/file ending fixes, so to quickly summarise the actual code changes:
|
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.
looks good to me. Thanks!
Previously we had
fail-fast: true
(the default) which means that the first failing Python version would cancel all other tests. This PR changes it so that we can at least see which versions are failing and why (c.f. #33).Also:
from __future__ import annotations
that were missing for py39 compat