tensorstore
Read and write large, multi-dimensional arrays
What it is and what it does
TensorStore is a C++ and Python library for storing and accessing large multi-dimensional arrays across diverse backends—local disks, cloud storage (Google Cloud Storage, S3), HTTP servers, and in-memory storage—with a single API. It abstracts away the complexity of different array formats (zarr, N5) and storage systems, letting you work with arrays as if they were local while actually reading and writing remotely.
The library emphasizes high-throughput access through asynchronous I/O, read caching, and transactional semantics with ACID guarantees. It supports advanced indexing and virtual views, and handles safe concurrent access from multiple processes and machines via optimistic concurrency control. Runtime dependencies are numpy and ml_dtypes.
Use it for:
- Store and retrieve large scientific datasets (genomics, microscopy, climate data) across cloud and local storage with a uniform interface.
- Build machine learning pipelines that read training data from remote zarr arrays with transparent caching and concurrent access.
- Implement distributed array computations where multiple workers read/write to the same array with transactional consistency.
- Migrate array workloads between storage backends (e.g., local to cloud) without changing application code.
- Access N5 or zarr datasets from remote HTTP servers with asynchronous I/O for high-latency networks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TensorStore reads and writes large multi-dimensional arrays across multiple storage backends (local filesystem, cloud storage, S3, HTTP) with a uniform API supporting zarr and N5 formats.
Yes. TensorStore is production-stable (Development Status 5), actively maintained with a recent release, has no known vulnerabilities, and solves a real problem for anyone working with large arrays across multiple storage systems. The permissive Apache-2.0 license and broad platform support (Python 3.11+, macOS, Linux, Windows) make it a low-risk addition. Install it if you need a uniform API for multi-backend array storage; skip it if your arrays fit in local memory and you're not crossing storage boundaries.
Install
tensorstore on PyPI
pip
pip install tensorstoreuv
uv add tensorstorepoetry
poetry add tensorstoreInstalling tensorstore
Before you install
Medium install friction due to compiled wheels for multiple Python versions and platforms. Active maintenance with a recent release (9 days ago) and steady repository activity. Requires Python 3.11 or later.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
pip install tensorstore
import tensorstore as ts
import numpy as np
# Open or create an array
array = ts.open({"driver": "zarr", "kvstore": "file:///path/to/data"}).result()
Requires Python 3.11 or later; compiled wheels available for macOS (x86_64, arm64), Linux (x86_64, aarch64), and Windows (amd64).
Verify before relying
- Whether the asynchronous API requires explicit async/await patterns or integrates transparently with standard Python code.
- Performance characteristics and memory overhead for typical workloads compared to direct numpy or zarr access.
- Specific ACID guarantee semantics and transaction isolation levels under concurrent access.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — numpy, ml_dtypes |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,604,038/month — #2,561 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tensorstore-0.1.85-cp311-cp311-macosx_10_14_x86_64.whl; tensorstore-0.1.85-cp311-cp311-macosx_11_0_arm64.whl; tensorstore-0.1.85-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; tensorstore-0.1.85-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; tensorstore-0.1.85-cp311-cp311-win_amd64.whl; tensorstore-0.1.85-cp312-cp312-macosx_10_14_x86_64.whl; tensorstore-0.1.85-cp312-cp312-macosx_11_0_arm64.whl; tensorstore-0.1.85-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; tensorstore-0.1.85-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; tensorstore-0.1.85-cp312-cp312-win_amd64.whl; tensorstore-0.1.85-cp313-cp313-macosx_10_14_x86_64.whl; tensorstore-0.1.85-cp313-cp313-macosx_11_0_arm64.whl; tensorstore-0.1.85-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; tensorstore-0.1.85-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; tensorstore-0.1.85-cp313-cp313-win_amd64.whl; tensorstore-0.1.85-cp314-cp314-macosx_10_15_x86_64.whl; tensorstore-0.1.85-cp314-cp314-macosx_11_0_arm64.whl; tensorstore-0.1.85-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; tensorstore-0.1.85-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; tensorstore-0.1.85-cp314-cp314t-macosx_10_15_x86_64.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
icechunkIcechunk is a transactional storage engine for…
unclear · top 15,000 on PyPI
storageProvides Python classes and functions to…
unclear · top 15,000 on PyPI
sparseProvides multi-dimensional sparse array data…
permissive · top 5,000 on PyPI
tiledbTileDB-Py provides a Python interface to the…
permissive · top 15,000 on PyPI
kerchunkKerchunk extracts metadata from chunked,…
permissive · top 15,000 on PyPI
multiscale-spatial-imageGenerates multiscale image pyramids organized…
permissive · top 15,000 on PyPI
spatial_imagespatial-image provides an N-dimensional spatial…
permissive · top 15,000 on PyPI
xarrayxarray adds dimension, coordinate, and…
permissive · top 5,000 on PyPI
tifffileRead and write TIFF files and TIFF-like formats…
permissive · top 1,000 on PyPI
ome-zarrReads and writes multi-resolution images stored…
permissive · top 15,000 on PyPI