ports/devel/py-cloudpathlib/Makefile
Po-Chuan Hsieh 3c1618d8e3
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.
2024-02-21 23:06:04 +08:00

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>