mirror of
https://git.freebsd.org/ports.git
synced 2025-05-16 01:01:49 -04:00
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.
20 lines
1.1 KiB
Text
20 lines
1.1 KiB
Text
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.
|