Skip to content
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

Python 3.9 support #558

Merged
merged 2 commits into from Dec 4, 2020
Merged

Python 3.9 support #558

merged 2 commits into from Dec 4, 2020

Conversation

ml-evs
Copy link
Member

@ml-evs ml-evs commented Oct 19, 2020

This PR can be used to track Python 3.9 compatibility.

https://docs.python.org/3.9/whatsnew/3.9.html

@ml-evs ml-evs added priority/low Issue or PR with a consensus of low priority tests Related to tests CI Continuous Integration - GitHub Actions issues (NOT related to the repository Action) labels Oct 19, 2020
@codecov
Copy link

codecov bot commented Oct 19, 2020

Codecov Report

Merging #558 (6512198) into master (bf1f280) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #558   +/-   ##
=======================================
  Coverage   92.20%   92.20%           
=======================================
  Files          61       61           
  Lines        3246     3246           
=======================================
  Hits         2993     2993           
  Misses        253      253           
Flag Coverage Δ
project 92.20% <ø> (ø)
validator 65.89% <ø> (+0.77%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bf1f280...6512198. Read the comment docs.

@ml-evs
Copy link
Member Author

ml-evs commented Oct 19, 2020

I think the main problem here is going to be waiting for pre-built wheels for e.g. pymatgen. I guess we could consider disabling the adapter tests for 3.9 (as they install many extra deps), but I'll convert this to a draft for now.

@ml-evs ml-evs marked this pull request as draft October 19, 2020 10:50
@CasperWA
Copy link
Member

CasperWA commented Oct 19, 2020

I think the main problem here is going to be waiting for pre-built wheels for e.g. pymatgen. I guess we could consider disabling the adapter tests for 3.9 (as they install many extra deps), but I'll convert this to a draft for now.

I wouldn't disable tests.
However, your comment here touches on a basic issue of this repository and the optimade package: How many of the package's capabilities must be valid before we consider the package valid, e.g., if only some adapter-conversions do not work, do we still consider the package valid as a whole?
I guess this comes down to the use case for depending on the optimade package.

On another note, I personally don't mind implementing a test for the used Python interpreter version when importing specific parts of the package that are clearly independent, e.g., the adapters versus the server.

@ml-evs
Copy link
Member Author

ml-evs commented Oct 19, 2020

On another note, I personally don't mind implementing a test for the used Python interpreter version when importing specific parts of the package that are clearly independent, e.g., the adapters versus the server.

Think this would be the best option, but we would still need to handle how the deps get installed (which in practice means disabling the adapter tests for 3.9)

@ml-evs
Copy link
Member Author

ml-evs commented Nov 20, 2020

How many of the package's capabilities must be valid before we consider the package valid, e.g., if only some adapter-conversions do not work, do we still consider the package valid as a whole?
I guess this comes down to the use case for depending on the optimade package.

On another note, I personally don't mind implementing a test for the used Python interpreter version when importing specific parts of the package that are clearly independent, e.g., the adapters versus the server.

These problems have fixed themselves for now, as all of our dependencies now have wheels for 3.9.

I can't see anything subtle that we'd have to change in our code base based on a quick read of https://docs.python.org/3.9/whatsnew/3.9.html so this should be good to go. It's a shame dependabot can't do this for us!

@ml-evs ml-evs marked this pull request as ready for review November 20, 2020 15:00
@ml-evs ml-evs requested a review from CasperWA November 20, 2020 15:00
@ml-evs ml-evs changed the title Enable Python 3.9 tests in CI Python 3.9 support Nov 20, 2020
@ml-evs ml-evs mentioned this pull request Dec 1, 2020
@ml-evs ml-evs merged commit 8bedebf into master Dec 4, 2020
@ml-evs ml-evs deleted the ml-evs/test_py39 branch December 4, 2020 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration - GitHub Actions issues (NOT related to the repository Action) priority/low Issue or PR with a consensus of low priority tests Related to tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants