obstore
What it is and what it does
obstore is a Rust-backed Python library that abstracts away the differences between cloud storage providers—S3, Google Cloud Storage, Azure Storage, and S3-compatible services—behind a single, type-hinted interface. It handles both synchronous and asynchronous operations, streaming data transfer, automatic multipart uploads for large files, and credential refresh, all with minimal Python dependencies (only typing-extensions at runtime).
The package is designed for high-throughput workloads where you need to interact with object storage from Python without the overhead of traditional clients. It exposes file-like APIs, integrates with fsspec, and can return list results as Apache Arrow tables for memory efficiency. Zero-copy data exchange via the buffer protocol minimizes overhead between Rust and Python.
Use it for:
- Bulk download or upload of files from multiple cloud providers using a single API without provider-specific code.
- High-concurrency async workloads that need to fetch many small objects from S3 or compatible storage efficiently.
- Streaming large files from cloud storage to avoid loading entire objects into memory.
- Automated credential refresh in long-running applications that interact with expiring cloud credentials.
- Integration with geospatial or data science pipelines that read from cloud-hosted datasets via fsspec.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
obstore provides a unified Python interface to Amazon S3, Google Cloud Storage, Azure Storage, and S3-compliant APIs, with both sync and async support, streaming uploads and downloads, and automatic multipart handling.
Yes, if you need a unified, high-performance interface to multiple cloud storage backends. The permissive MIT license, active maintenance, lack of heavy Python dependencies, and strong async support make it a solid choice for cloud-native Python applications. Medium install friction (compiled wheels) is manageable on common platforms. No known vulnerabilities.
Install
obstore on PyPI
pip
pip install obstoreuv
uv add obstorepoetry
poetry add obstoreInstalling obstore
Before you install
Medium install friction due to compiled Rust bindings, but wheels are available for many platforms including macOS, Linux, and Windows across multiple architectures. Active maintenance with a recent release.
License in practice
Licensed under MIT (permissive), so you can use it freely in commercial and private projects without restriction.
Quickstart
pip install obstore
import obstore
# Create S3 client and get object
store = obstore.S3Store()
data = store.get("s3://bucket/key")
Requires Python 3.10 or later. Compiled wheels available for most platforms, but installation may require a build environment on unsupported architectures.
Verify before relying
- Whether the 9x throughput claim vs fsspec and 2.8x vs aioboto3 holds across your specific workload and concurrency patterns.
- Whether Apache Arrow format support requires additional dependencies or configuration beyond what's listed.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — typing-extensions |
| Maintenance | actively maintained — 50 days since the last release |
| First released | |
| Downloads | 10,520,170/month — #1,447 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: obstore-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl; obstore-0.11.0-cp310-cp310-macosx_11_0_arm64.whl; obstore-0.11.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; obstore-0.11.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl; obstore-0.11.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; obstore-0.11.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; obstore-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; obstore-0.11.0-cp310-cp310-manylinux_2_24_aarch64.whl; obstore-0.11.0-cp310-cp310-musllinux_1_2_aarch64.whl; obstore-0.11.0-cp310-cp310-musllinux_1_2_armv7l.whl; obstore-0.11.0-cp310-cp310-musllinux_1_2_i686.whl; obstore-0.11.0-cp310-cp310-musllinux_1_2_x86_64.whl; obstore-0.11.0-cp310-cp310-win_amd64.whl; obstore-0.11.0-cp311-abi3-macosx_10_12_x86_64.whl; obstore-0.11.0-cp311-abi3-macosx_11_0_arm64.whl; obstore-0.11.0-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; obstore-0.11.0-cp311-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; obstore-0.11.0-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; obstore-0.11.0-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl; obstore-0.11.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
obspecDefines a Python protocol for abstracting…
permissive · top 15,000 on PyPI
s3fss3fs provides a Python filesystem interface to…
permissive · top 100 on PyPI
s3transfers3transfer manages concurrent uploads and…
permissive · top 100 on PyPI
multi-storage-clientUnified Python client providing a generic…
permissive · top 15,000 on PyPI
ibm-cos-sdk-s3transferManages transfers to and from IBM Cloud Object…
permissive · top 5,000 on PyPI
minioProvides high-level Python APIs to connect to…
permissive · top 5,000 on PyPI
django-s3-storageProvides Django file storage backends that read…
permissive · top 15,000 on PyPI
mosaicml-streamingStreams large training datasets from cloud…
unclear · top 5,000 on PyPI
universal-pathlibUniversal Pathlib provides a pathlib.Path-like…
permissive · top 1,000 on PyPI
synapse-s3-storage-providerA Synapse media storage provider that…
permissive · top 15,000 on PyPI