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.3

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.3
File Size Uploaded
polystore-0.6.3.tar.gz 194.8 kB Details

Built distribution (wheel)

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

Total release size: 348.7 kB

Release files / polystore-0.6.3.tar.gz

Download URL polystore-0.6.3.tar.gz
Size 194.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fc87bef43b56e010519d02cb2a4fb44cc307860808f3ed053714d5f49434ed35
BLAKE2b-256 checksum
How to use checksums
b9f3569196ee6d18f5441e22080ac8d7813dd593dc337e9f371246de5381e080
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.3-py3-none-any.whl

Download URL polystore-0.6.3-py3-none-any.whl
Size 153.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e695acd9d105d30226c8df9ea0873b177d83ffb258e290b88f8ee3358617b96
BLAKE2b-256 checksum
How to use checksums
cb373294d1b666a200334e61d010f3370477637c2cb09fe52d55500d4859ea1c
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.3 This release

2 release files

0.6.2

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