-
Notifications
You must be signed in to change notification settings - Fork 71
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
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% 93.9%
======================================
Files 27 28 +1
Lines 2164 2203 +39
======================================
+ Hits 2032 2069 +37
- Misses 132 134 +2
🚀 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-abcdependency for Python < 3.14 to support thePathInfoprotocol - 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
pathlibchanges in 3.14:copyfor args/kwargs to matchcopy_intomovemove_into.infothat implementsPathInfosetup-uvaction (was needed for 3.14 to work)--preflag fromtests.ymlonce pydantic 3.14 support is released (see >= 2.12)pathlib-abcas a backport or if we should vendor the protocol code Rely on pathlib-abc for backports barneygale/pathlib-abc#45Closes #529