mirror of
https://git.freebsd.org/ports.git
synced 2025-06-18 19:20:36 -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.
35 lines
978 B
Makefile
35 lines
978 B
Makefile
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>
|