Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
Showing
4 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
PORTNAME= cloudpathlib | ||
PORTVERSION= 0.17.0 | ||
CATEGORIES= devel python | ||
MASTER_SITES= PYPI | ||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} | ||
|
||
MAINTAINER= sunpoet@FreeBSD.org | ||
COMMENT= pathlib-style classes for cloud storage services | ||
WWW= https://cloudpathlib.drivendata.org/stable/ \ | ||
https://github.com/drivendataorg/cloudpathlib | ||
|
||
LICENSE= MIT | ||
LICENSE_FILE= ${WRKSRC}/LICENSE | ||
|
||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4.0:devel/py-flit-core@${PY_FLAVOR} | ||
|
||
USES= python | ||
USE_PYTHON= autoplist concurrent pep517 | ||
|
||
NO_ARCH= yes | ||
|
||
OPTIONS_DEFINE= GS S3 | ||
GS_DESC= Google Cloud Storage support | ||
S3_DESC= Amazon S3 support | ||
|
||
GS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-cloud-storage>=0:www/py-google-cloud-storage@${PY_FLAVOR} | ||
S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=0:www/py-boto3@${PY_FLAVOR} | ||
|
||
.include <bsd.port.pre.mk> | ||
|
||
.if ${PYTHON_REL} < 31100 | ||
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4:devel/py-typing-extensions@${PY_FLAVOR} | ||
.endif | ||
|
||
.include <bsd.port.post.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1708448814 | ||
SHA256 (cloudpathlib-0.17.0.tar.gz) = 097c94926d0e8b76df61fec12ba1b725728c6a77071ca7e6565be93fb4496ff9 | ||
SIZE (cloudpathlib-0.17.0.tar.gz) = 38045 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
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. |