-
Notifications
You must be signed in to change notification settings - Fork 69
WIP Support 3.14 #530
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
base: master
Are you sure you want to change the base?
WIP Support 3.14 #530
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #530 +/- ##
========================================
+ Coverage 93.9% 94.0% +0.1%
========================================
Files 27 28 +1
Lines 2164 2207 +43
========================================
+ Hits 2032 2076 +44
+ Misses 132 131 -1
🚀 New features to boost your workflow:
|
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.
Pull Request Overview
This PR adds support for Python 3.14 by implementing new pathlib features and updating the project configuration. The changes align cloudpathlib with Python 3.14's pathlib enhancements while maintaining backward compatibility.
- Implements new pathlib methods (
copy
,copy_into
,move
,move_into
,info
) with proper type annotations and overloads - Adds
pathlib-abc
dependency for Python < 3.14 to support thePathInfo
protocol - Updates CI configuration to test Python 3.14 and use more recent actions
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
cloudpathlib/cloudpath.py | Adds new pathlib 3.14 methods and PathInfo integration |
cloudpathlib/cloudpath_info.py | New CloudPathInfo class implementing PathInfo protocol |
tests/test_cloudpath_upload_copy.py | Comprehensive tests for new copy/move/info methods |
pyproject.toml | Adds Python 3.14 classifier and pathlib-abc dependency |
Multiple path classes | Updates method signatures for 3.14 compatibility |
.github/workflows/*.yml | Updates CI to test Python 3.14 and use newer actions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jayqi This is ready for 3.14 release, if you want to take a look. A few pending updates/judgments on our dependencies (pydantic, black, pathlib-abc). |
Support for 3.14.
All the tests pass locally on 3.14rc2 except the pydantic integration test since there isn't a pydantic release compatible with 3.14 yet. The test does pass with the prerelease (see pydantic/pydantic#11613) with 3.14 support.
Release schedule for 3.14 is:
This will need to wait until 3.14 is supported in CI as well.
Here is what is still needed to match the
pathlib
changes in 3.14:copy
for args/kwargs to matchcopy_into
move
move_into
.info
that implementsPathInfo
setup-uv
action (was needed for 3.14 to work)--pre
flag fromtests.yml
once pydantic 3.14 support is released (see >= 2.12)pathlib-abc
as a backport or if we should vendor the protocol code Rely on pathlib-abc for backports barneygale/pathlib-abc#45Closes #529