Skip to content

Conversation

pjbull
Copy link
Member

@pjbull pjbull commented Sep 13, 2025

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:

  • 3.14.0 candidate 3: Tuesday, 2025-09-16
  • 3.14.0 final: Tuesday, 2025-10-07

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:

  • Change copy for args/kwargs to match
  • Add copy_into
  • Add move
  • Add move_into
  • Add .info that implements PathInfo
  • Confirm everything passes once 3.14 is supported in CI
  • Update single version CI tasks from 3.11 to 3.12
  • Bonus: move to setup-uv action (was needed for 3.14 to work)
  • Remove --pre flag from tests.yml once pydantic 3.14 support is released (see >= 2.12)
  • Add py314 to black target version when black supports it
  • See about pathlib-abc as a backport or if we should vendor the protocol code Rely on pathlib-abc for backports barneygale/pathlib-abc#45

Closes #529

Copy link
Contributor

github-actions bot commented Sep 13, 2025

@github-actions github-actions bot temporarily deployed to pull request September 13, 2025 13:42 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 16:26 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 23:15 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 23:20 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 23:34 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 23:37 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 14, 2025 23:41 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 16, 2025 16:23 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 16, 2025 16:28 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 17, 2025 15:33 Inactive
Copy link

codecov bot commented Sep 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.0%. Comparing base (e790002) to head (0e5631f).
⚠️ Report is 1 commits behind head on master.

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     
Files with missing lines Coverage Δ
cloudpathlib/azure/azblobpath.py 94.7% <100.0%> (ø)
cloudpathlib/cloudpath.py 95.0% <100.0%> (+0.3%) ⬆️
cloudpathlib/cloudpath_info.py 100.0% <100.0%> (ø)
cloudpathlib/gs/gspath.py 94.1% <100.0%> (ø)
cloudpathlib/http/httppath.py 98.8% <100.0%> (ø)
cloudpathlib/local/implementations/azure.py 97.6% <100.0%> (+<0.1%) ⬆️
cloudpathlib/local/implementations/gs.py 97.2% <100.0%> (+<0.1%) ⬆️
cloudpathlib/local/implementations/s3.py 100.0% <100.0%> (ø)
cloudpathlib/local/localpath.py 100.0% <100.0%> (ø)
cloudpathlib/s3/s3path.py 100.0% <100.0%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions github-actions bot temporarily deployed to pull request September 17, 2025 17:50 Inactive
@pjbull pjbull requested a review from Copilot September 17, 2025 18:31
Copy link

@Copilot Copilot AI left a 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 the PathInfo 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>
@github-actions github-actions bot temporarily deployed to pull request September 17, 2025 18:36 Inactive
@github-actions github-actions bot temporarily deployed to pull request September 17, 2025 18:44 Inactive
@pjbull pjbull requested a review from jayqi September 17, 2025 18:53
@pjbull
Copy link
Member Author

pjbull commented Sep 17, 2025

@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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for Python 3.14
1 participant