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.12 support #137

Closed
3 tasks done
ap-- opened this issue Aug 28, 2023 · 4 comments · Fixed by #152
Closed
3 tasks done

Python 3.12 support #137

ap-- opened this issue Aug 28, 2023 · 4 comments · Fixed by #152
Assignees
Labels
compatibility 🤝 Compatibility with stdlib pathlib
Milestone

Comments

@ap--
Copy link
Collaborator

ap-- commented Aug 28, 2023

The release date is getting closer, so we should try to get something out. Ideally, this would go hand in hand with refactoring UPath to depend on the (upcoming) pathlib.PathBase (python>=3.13) backport in pathlib2.

  • 3.12.0 candidate 1: Sunday, 2023-08-06
  • Expected: 3.12.0 candidate 2: Monday, 2023-09-04
  • Expected: 3.12.0 final: Monday, 2023-10-02

Need to make a decision for pathlib_abc integration before merging the 3.12 implementation.

@ap-- ap-- added the compatibility 🤝 Compatibility with stdlib pathlib label Aug 28, 2023
@ap-- ap-- changed the title Python 3.12 Python 3.12 support Aug 28, 2023
@ap-- ap-- mentioned this issue Oct 1, 2023
12 tasks
@skshetry
Copy link
Contributor

skshetry commented Dec 8, 2023

Hey @ap--, are there any updates? Is there something I can help with maybe?

The test for us in dvc's project seems to be passing with patch from #152. 🙂

@ap--
Copy link
Collaborator Author

ap-- commented Dec 10, 2023

Hi @skshetry

Glad to hear that the draft PR works in dvc's test suite!

The past two months have been quite busy for me, so it simply dropped off my immediate todo list.

Initially I had hoped for the PathBase backport to pathlib2 to be completed before merging this PR. My hope was that it would allow me to ship a single implementation of UPath for Python<3.12 and Python>=3.12. But I think by now adding support for Python=3.12 outweighs the downside of having to maintain two code paths until pathlib2 gets updated. I should be able to find some time in the coming days.

Cheers,
Andreas 😃

@ap-- ap-- self-assigned this Jan 17, 2024
@ap--
Copy link
Collaborator Author

ap-- commented Jan 17, 2024

I need to make a few changes to the 3.12 PR before it can be merged. This is mainly about integration of pathlib_abc as a dependency to ensure we're on the right track for Python 3.13 and that delays like this regarding Python version support one won't happen again.

@ap-- ap-- added this to the v0.2 milestone Jan 28, 2024
@ap-- ap-- closed this as completed in #152 Jan 30, 2024
@ap--
Copy link
Collaborator Author

ap-- commented Jan 30, 2024

I decided against integrating pathlib-abc for the next release because it would introduce a change in the class hierarchy where UPath would be a subclass of PathBase and not of Path.

So for the Python3.12 release issubclass(UPath, pathlib.Path) will still be True

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility 🤝 Compatibility with stdlib pathlib
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants