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

add support for Python 3.10 #6422

Merged
merged 7 commits into from
Aug 16, 2021
Merged

add support for Python 3.10 #6422

merged 7 commits into from
Aug 16, 2021

Conversation

skshetry
Copy link
Member

@skshetry skshetry commented Aug 13, 2021

pyarrow is not available, so we are skipping tests for it.
And, restricting hdfs extras to be not installed in Python3.10.

Pathlib removed _init method and init parameter, so just working
around that. It's not a big change, even compared to 3.9.

pygit2 and pyarrow does not have wheels, pywin32 is not available for Windows at this point (which is a critical dependency in the Windows for us).
If you can install libgit2-1.1 and are on macOS/Linux, there should not be any issues on 3.10.
Ubuntu < 21.04 does not provide libgit2-1.1 which pygit2 requires.

In the CI, to be sure it works well with Python3.10, we run macOS with libgit2 installed from brew.


Not adding a trove classifier for Python3.10 support, as we should:

  1. Have wheels for pyarrow/pywin32/pygit2.
  2. Pass all tests in CI for all OSes.

When adding proper support, I should remember to check following in the future.:

  1. Remove skips in the hdfs fixtures.
  2. Unskip pywin32 for Windows + Python >= 3.10.
  3. Unskip pyarrow for Python >= 3.10.
  4. Run tests on all OSes.
  5. Also check for additional compatibility for dulwich/ruamel.yaml.

Closes #6164.

Thank you for the contribution - we'll try to review it as soon as possible. 🙏

pyarrow is not available, so we are skipping tests for it.
And, restricting `hdfs` extras to be not installed in Python3.10.

Pathlib removed `_init` method and `init` parameter, so just working
around that. It's not a big change.
@skshetry skshetry requested a review from a team as a code owner August 13, 2021 13:43
@skshetry skshetry requested a review from efiop August 13, 2021 13:43
pywin32 is not yet available for 3.10 Python, so skipping those for now
* 'python310' of github.com:skshetry/dvc:
  Unpin networkx
  Remove a special queued experiments (iterative#6393)
  build(deps): bump google-cloud-storage from 1.41.1 to 1.42.0 (iterative#6415)
  Push running checkpoint to remote (iterative#6332)
- name: install libgit2 on Python3.10 in macOS
if: matrix.pyv == '3.10.0-rc.1' && matrix.os == 'macos-10.15'
run: |
brew install libgit2
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python3.10 only running in macOS as libgit2-1.1 is not available in Ubuntu (only >= 21.04 which is not supported in GHA).

@skshetry skshetry merged commit 1bb7f39 into iterative:master Aug 16, 2021
@skshetry skshetry deleted the python310 branch August 16, 2021 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cls._from_parts(args, init=False) is broken on 3.10
2 participants