skillfed

multi-storage-client

Unified high-performance Python client for object and file stores.

multi-storage-client v1.0.1 622.9K downloads/30d#5,707 on PyPI81
Permissive license Apache-2.0 Active released

What it is and what it does

Multi-Storage Client is a unified Python library that abstracts away the differences between multiple object and file storage services—AWS S3, Azure Blob Storage, Google Cloud Storage, NVIDIA AIStore, OCI Object Storage, and POSIX file systems—behind a single generic interface. Instead of learning and maintaining separate code paths for each storage provider, you write once against MSC's API and can swap storage backends without changing application logic.

The library is built with performance in mind and includes compiled extensions (Rust-backed wheels) for CPython on Linux and macOS. It depends on 13 runtime packages including jmespath, jsonschema, pyyaml, opentelemetry-api, and others for parsing, validation, observability, and file operations. The project is actively maintained by NVIDIA, with recent releases and ongoing development.

Use it for:

  • Build data pipelines that read from multiple cloud providers without rewriting storage access code for each one.
  • Migrate workloads between cloud providers by changing a configuration parameter instead of refactoring application code.
  • Develop hybrid cloud or multi-cloud applications that access both on-premises POSIX storage and cloud object stores uniformly.
  • Create portable ML training scripts that can pull datasets from S3, GCS, or Azure interchangeably.
  • Abstract storage details in microservices so teams can optimize cost or performance by switching providers without application changes.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Unified Python client providing a generic interface to read, write, and manage objects across multiple storage services including AWS S3, Azure Blob Storage, Google Cloud Storage, and POSIX file systems.

Yes, if you work with multiple storage providers or anticipate needing to switch between them. The unified interface and active maintenance make it a solid choice for multi-cloud or hybrid deployments. Medium install friction (13 dependencies, compiled wheels) is typical for a performance-focused library. No known vulnerabilities and permissive licensing remove barriers. Not necessary if you only use a single storage provider and are comfortable with its native SDK.

Install

multi-storage-client on PyPI

pip

pip install multi-storage-client

uv

uv add multi-storage-client

poetry

poetry add multi-storage-client

Installing multi-storage-client

Before you install

Medium install friction due to 13 runtime dependencies and compiled wheels for multiple Python versions (3.10–3.13) and platforms. Active maintenance with recent release (21 days old) and ongoing repository activity.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects that can comply with attribution and derivative-work disclosure.

Quickstart

pip install multi-storage-client

from multi_storage_client import StorageClient

client = StorageClient()
object_data = client.get('s3://bucket/key')

Requires Python 3.10 or later; compiled wheels available for CPython on x86_64 and aarch64 Linux, macOS arm64, and PyPy.

Verify before relying

  • Specific performance benchmarks or throughput claims for multi-provider scenarios.
  • Whether all 13 runtime dependencies are strictly required or if some are optional.
  • Support status and API stability guarantees for NVIDIA AIStore and OCI Object Storage.
  • Whether the client handles provider-specific features (e.g., S3 versioning, Azure SAS tokens) or only a common subset.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (<4,>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 13 — filelock, jmespath, jsonschema, python-dateutil, pyyaml, opentelemetry-api, xattr, wcmatch, tqdm, lark, prettytable, psutil, tzdata
Maintenance actively maintained — 21 days since the last release
Last repo commit
First released
Downloads 622,933/month — #5,707 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: multi_storage_client-1.0.1-cp310-cp310-macosx_14_0_arm64.whl; multi_storage_client-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; multi_storage_client-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; multi_storage_client-1.0.1-cp311-cp311-macosx_14_0_arm64.whl; multi_storage_client-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; multi_storage_client-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; multi_storage_client-1.0.1-cp312-cp312-macosx_14_0_arm64.whl; multi_storage_client-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; multi_storage_client-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; multi_storage_client-1.0.1-cp313-cp313-macosx_14_0_arm64.whl; multi_storage_client-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; multi_storage_client-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Tags

multi-cloud storage clientunified object storage interfaces3 azure gcs abstractioncloud storage abstraction layermulti-provider file storageportable storage apicloud-agnostic object store
multi-cloudstorage-abstractionobject-store

More Software Development packages