Skip to main content

upathlib

Project description

upathlib

This package defines some APIs for working with a cloud blob store (aka "object store"). The motivation is to provide a "unified" or "universal" API for blob store clients.

The APIs follow the style of the standard library pathlib where appropriate. Attention is focused on identifying the most essential functionalities while working with a blob store for data processing. Functionalities in a local file system that are non-essential in these tasks---such as symbolic links, fine-grained permissions, and various access modes---are ignored.

End user should look to the class Upath for documentation on the API.

Local (POSIX) file system is treated as one particular case with the same API, and is implemented by LocalUpath, which subclasses Upath.

Client for Google Cloud Storage (i.e. blob store on GCP) is implemented by a Upath subclass GcpBlobUpath. Users may want to add very thin wrappers in their application code to handle credentials for their cloud accounts.

One use case is the package biglist. The class Biglist takes a Upath object to indicate its location of storage. It does not care whether the storage is local, or in Azure or GCP or AWS S3 or other cloud blob stores---it simply uses the common API to operate the storage.

This package is published to pypi. To install, do one of the following:

$ pip3 install upathlib
$ pip3 install upathlib[gcs]

(gcs means Google Cloud Storage, which is its official branding.)

Status

The style of the API is largely stable. The implementations for local file system and for Google Cloud Storage are production ready.

The implementation for Azure was once in production use, but not anymore by myself, hence is unreliable. There is a much older implementation for AWS, which was moved to "archive", because it was not updated to the current API.

Project details


Release history Release notifications | RSS feed

This version

0.6.7

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

upathlib-0.6.7.tar.gz (22.8 kB view hashes)

Uploaded Source

Built Distribution

upathlib-0.6.7-py3-none-any.whl (25.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page