cloudpathlib is a Python library with classes that mimic pathlib.Path's
interface for URIs from different cloud storage services.
Why use cloudpathlib?
- Familiar: If you know how to interact with Path, you know how to interact with
CloudPath. All of the cloud-relevant Path methods are implemented.
- Supported clouds: AWS S3, Google Cloud Storage, and Azure Blob Storage are
implemented. FTP is on the way.
- Extensible: The base classes do most of the work generically, so implementing
two small classes MyPath and MyClient is all you need to add support for a new
cloud storage service.
- Read/write support: Reading just works. Using the write_text, write_bytes or
.open('w') methods will all upload your changes to cloud storage without any
additional file management as a developer.
- Seamless caching: Files are downloaded locally only when necessary. You can
also easily pass a persistent cache folder so that across processes and
sessions you only re-download what is necessary.
- Tested: Comprehensive test suite and code coverage.
- Testability: Local filesystem implementations that can be used to easily mock
cloud storage in your unit tests.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-cloudpathlib listed in the above command, you can pick from the names under the Packages section.
===> The following configuration options are available for py312-cloudpathlib-0.25.0:
GS=off: Google Cloud Storage support
S3=off: Amazon S3 support
===> Use 'make config' to modify these settings
*: Revise USES=python:... version range constraints
and strip all lower bounds of 3.9 or 3.10 because they are implied now.
python:3.9-X -> python:-X
python:3.9+ -> python
python:3.10-X -> python:-X
python:3.10+ -> python
(options such as ,build preserved)
devel/py-cloudpathlib: Add py-cloudpathlib 0.17.0
cloudpathlib is a Python library with classes that mimic pathlib.Path's
interface for URIs from different cloud storage services.
Why use cloudpathlib?
- Familiar: If you know how to interact with Path, you know how to interact with
CloudPath. All of the cloud-relevant Path methods are implemented.
- Supported clouds: AWS S3, Google Cloud Storage, and Azure Blob Storage are
implemented. FTP is on the way.
- Extensible: The base classes do most of the work generically, so implementing
two small classes MyPath and MyClient is all you need to add support for a new
cloud storage service.
- Read/write support: Reading just works. Using the write_text, write_bytes or
.open('w') methods will all upload your changes to cloud storage without any
additional file management as a developer.
- Seamless caching: Files are downloaded locally only when necessary. You can
also easily pass a persistent cache folder so that across processes and
sessions you only re-download what is necessary.
- Tested: Comprehensive test suite and code coverage.
- Testability: Local filesystem implementations that can be used to easily mock
cloud storage in your unit tests.