Skip to content

POC - make CloudPath more Path-like using abc Protocol interfaces #517

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rpmcginty
Copy link

  • Update .gitignore and Makefile for improved installation commands
  • Enhance cloudpathlib with PathBase integration and CloudPathInfo class

What's in this change?

This is just a proof of concept for using abstract base class for pathlib.Path introduced in 3.14 and available as a backport from pathlib-abc.

It is not intended to merge rather to show the feasibility of implementing CloudPath as a Path-like interface

Relates to #347


Contributor checklist:

  • I have read and understood CONTRIBUTING.md
  • Confirmed an issue exists for the PR, and the text Closes #issue appears in the PR summary (e.g., Closes #123).
  • Confirmed PR is rebased onto the latest base
  • Confirmed failure before change and success after change
  • Any generic new functionality is replicated across cloud providers if necessary
  • Tested manually against live server backend for at least one provider
  • Added tests for any new functionality
  • Linting passes locally
  • Tests pass locally
  • Updated HISTORY.md with the issue that is addressed and the PR you are submitting. If the top section is not `## UNRELEASED``, then you need to add a new section to the top of the document for your change.

- Added PathBase class for path-like objects in cloud storage.
- Introduced CloudPathInfo class to provide information about cloud paths.
- Updated AnyPath and CloudPath to utilize PathBase.
- Improved compatibility with pathlib_abc for Python versions.
- Added tests for AnyPath subclassing and PathBase functionality.
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.

1 participant