Skip to main content

PolyStore

Framework-agnostic storage primitives for scientific applications.

PyPI version Documentation Status Python 3.11+

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

Metadata

Release files for polystore 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for polystore 0.6.2
File Size Uploaded
polystore-0.6.2.tar.gz 196.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for polystore 0.6.2
File Interpreter ABI Platform
polystore-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 355.2 kB

Release files / polystore-0.6.2.tar.gz

Download URL polystore-0.6.2.tar.gz
Size 196.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1a9d91461f1957fb4cea7c5ef374e8a7de0b84bf8b54b4d7e1ad2c5343a72257
BLAKE2b-256 checksum
How to use checksums
44c60aa0ec6839e14b5723b76a6d7d229ac41731a5e0419901fa6df4d1cf9fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / polystore-0.6.2-py3-none-any.whl

Download URL polystore-0.6.2-py3-none-any.whl
Size 158.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
acb363c5b77348f8d700183cd401ae25705f1f39ce3bbbdd8b44c970e80993d6
BLAKE2b-256 checksum
How to use checksums
3dea528b62b9a4967d49ce9bf18c2aaaa8f6f2b4806062406e24260e71d3a321
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.35

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page