Skip to main content

Add your description here

Project description

blob-store is a library providing a simple interface to storing your files in a cloud agnostic fashion

Features

  • Cloud-agnostic storage of files
  • Serialisation + De-serialisation: Allowing you to move your path objects around different processes, making it easy to handle remote file locations
  • Easy interactions between different kinds of cloud locations
    • You could run s3_path.cp(azure_blob_path) and it would just work

Installation

Downloading the core library.

pip install blob-store

Cloud storage providers are provided as extra pip installation dependencies. Currently only AWS S3 and Azure Blob Storage are supported.

pip install 'blob-store[aws]'
pip install 'blob-store[azure]'

The library is under active development and breaking changes are possible.

Usage

The main interface this library provides is BlobPath, a data structure which tries to mimics Path, but for multiple storage types.

Example usage

def read_file(p: BlobPath):
  # this is the central method each `BlobPath` exposes
  # it downloads your file from the storage provider and provides a file handle for usage
  with p.open("r") as f:
    print(f.read())

# instantiate a BlobPath which is backed by S3
p = S3BlobPath(bucket, region, key)
read_file(p)

Check out the usage notebook for detailed usage of the library. The notebook is structured as a tutorial covering all features of the library.

Roadmap

  • Add other storage backends
    • GCP, Minio
  • Tests
  • Caching support
  • Performance
  • More pathlib functions and parity

Project details


Download files

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

Source Distribution

blob_path-0.1.0.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blob_path-0.1.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file blob_path-0.1.0.tar.gz.

File metadata

  • Download URL: blob_path-0.1.0.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for blob_path-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bd359ae5cf68520a77f97768cacc27c21ffae1551477d99a352db45097c11f28
MD5 67bc4fa5dd5b4a1c69485e4f988597f1
BLAKE2b-256 1746b3c1e8bfbad48a247bfc7c2a9d849f6bea7331a12c9c3488e77f38f3691a

See more details on using hashes here.

File details

Details for the file blob_path-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: blob_path-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for blob_path-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce97593f405cf9bfab4cf5ee9c6575334ca2194e2dfd4a74b752b95a0f0e9d34
MD5 5c2975514e07c8a22e413a004d9754b5
BLAKE2b-256 8d4427caf87f2bfeb83a4cd6c00604142cf9f234abf2cbcd39ad38da9bf712c4

See more details on using hashes here.

Supported by

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