PolyStore
Framework-agnostic storage primitives for scientific applications.
PolyStore owns backend interfaces, execution-local backend registries,
FileManager routing, storage formats, ROI values, virtual-workspace source
references, and viewer-streaming payload mechanics. Applications retain
ownership of domain artifact names and materialization policy.
Quick start
Pass an explicit mapping of backend names to instances. FileManager has no
global fallback and does not infer a backend from a path.
from pathlib import Path
import numpy as np
from polystore import DiskBackend, FileManager, MemoryBackend
registry = {
"disk": DiskBackend(),
"memory": MemoryBackend(),
}
files = FileManager(registry)
data = np.arange(6).reshape(2, 3)
files.save(data, Path("output.npy"), backend="disk")
loaded = files.load(Path("output.npy"), backend="disk")
For application startup where every discoverable context-free backend is wanted, use the package-owned lazy registry:
from polystore import FileManager, ensure_storage_registry, storage_registry
ensure_storage_registry()
files = FileManager(dict(storage_registry))
Backends requiring context-specific construction, including virtual workspaces and OMERO, must be instantiated by the application and added to its registry.
Nominal backend extension
Concrete backends inherit DataSource, DataSink, StorageBackend, or
ReadOnlyBackend and declare their backend key. The authoritative class
catalog is BackendBase.__registry__ (also exported as
STORAGE_BACKENDS). Do not build a second backend class table.
Installation
python -m pip install polystore
The core install includes NumPy, ArrayBridge, metaclass-registry, file locking,
platform-aware cache paths, image I/O, Zarr/OME-Zarr support, and ZMQRuntime.
Framework and streaming extras add their corresponding optional runtimes.
Install polystore[bioformats] for the package-owned PyImageJ and
Bio-Formats bridge. Its first use materializes a checksummed Fiji, JDK, and
PyImageJ bridge runtime; later processes reuse that complete local cache
without Maven resolution.
Full documentation: polystore.readthedocs.io
Release files for polystore 0.2.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| polystore-0.2.15.tar.gz | 180.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| polystore-0.2.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 333.6 kB
Release files / polystore-0.2.15.tar.gz
| Download URL | polystore-0.2.15.tar.gz |
|---|---|
| Size | 180.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aec7cbaeeae5968554d84bdd423eba5695c7e4454b2fe4513031ab75fa5bb833
|
|
BLAKE2b-256 checksum How to use checksums |
33c05f361f2a5c813a075162b1b1d91a978cb7e299806acde3a97197202df8a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / polystore-0.2.15-py3-none-any.whl
| Download URL | polystore-0.2.15-py3-none-any.whl |
|---|---|
| Size | 153.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83bddadbf81c056606414a07c75283e51925ee2123f834f8e900658381becf58
|
|
BLAKE2b-256 checksum How to use checksums |
de0d751ca918247d31be93d13c759aeb5d41d28c2dc6526f6db7fc7dee8d5482
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log