Catalog PyPI
PACKAGE EXPLORERView in registry

abczarr

PyPI

ABC...Z(arr) - Abstract base classes for the Zarr format, and vendored implementations

Versions collected1
Direct dependencies21From release 0.2.3
Last observed20 Oct, 17:16 UTC

README

Version 0.2.3 documentation

abczarr

abczarr logo

One interface for reading and writing Zarr arrays and groups, synchronously or asynchronously, regardless of which backend or storage location holds them.

What it does

Zarr has several capable Python implementations (zarr-python, tensorstore, zarrista), and they differ in what they support and in the API each one exposes. abczarr sits above these implementations and exposes a single API, ZarrArray and ZarrGroup, and selects whichever backend actually supports the requested operation. A backend can also be named explicitly when a specific one is required. Local paths and cloud URLs such as s3:// or gs:// are handled the same way, regardless of which backend is in use.

Every node exists in both a synchronous and an asynchronous form, and the two behave identically regardless of what the underlying backend supports. When a backend provides real asynchronous I/O, abczarr uses it directly. When a backend does not, the call runs in a background thread instead. Either form returns an object with the same behavior, and the asynchronous form can be awaited.

Backends genuinely differ in what they support. abczarr exposes a backend's capabilities so that they can be checked before an operation runs, instead of discovering a gap partway through a write. When an operation is not supported, the resulting error names what is missing, instead of surfacing as a stack trace from inside a driver's internals.

Zarr's array metadata has changed shape across versions. Versions v1, v2, and v3 each describe an array a little differently. abczarr models all three as one typed, validated object that converts between versions. When a conversion can carry an option across cleanly, it does. When it cannot, the missing option can be configured to be dropped silently, to raise a warning, or to raise a hard error. OME-Zarr metadata receives the same treatment: a typed model, schema validation that runs offline, and conversion between OME-NGFF versions.

from abczarr import open

# opens a Zarr node at any location, with the backend chosen automatically
group = open("s3://my-bucket/dataset.zarr")
array = group["images"]
data = array[:100, :100]

# a backend can also be named explicitly
volume = open("data.zarr", driver="tensorstore")

# the asynchronous form awaits open() and each subsequent method call
agroup = await open("s3://my-bucket/dataset.zarr", asynchronous=True)
aimages = await agroup.getitem("images")
tile = await aimages.getitem((slice(100), slice(100)))

Install

pip install abczarr

The core installs no backend of its own. The driver needed for reading and writing, along with any required storage or dtype support, is added through extras:

extraenables
abczarr[zarr-py]the zarr-python driver
abczarr[tensorstore]the TensorStore driver
abczarr[zarrista]the zarrista driver
abczarr[upath]fsspec and cloud URLs (s3://, gs://, ...) via universal-pathlib
abczarr[anypath]cloud paths via cloudpathlib
abczarr[ml-dtypes]exotic v3 float dtypes (bfloat16, float8_*, ...)

Extras can be combined, for example pip install "abczarr[zarr-py,upath]".

Learn more

Full documentation lives at neuroscales.github.io/abczarr.

Downloads & popularity

14downloads
1-day window · source-reported counts20 Oct 2026
481240.50
2026-09-07: 96 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-07–2026-09-072026-09-08: 82 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-08–2026-09-082026-09-09: 18 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-09–2026-09-092026-09-10: 5 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-10–2026-09-102026-09-11: 15 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-11–2026-09-112026-09-12: 5 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-12–2026-09-122026-09-13: 3 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-13–2026-09-132026-09-15: 148 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-15–2026-09-152026-09-16: 29 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-16–2026-09-162026-09-17: 192 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-17–2026-09-172026-09-18: 38 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-18–2026-09-182026-09-19: 20 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-19–2026-09-192026-09-20: 72 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-20–2026-09-202026-09-21: 25 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-21–2026-09-212026-09-22: 2 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-22–2026-09-222026-09-23: 30 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-23–2026-09-232026-09-24: 19 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-24–2026-09-242026-09-25: 1 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-25–2026-09-252026-09-26: 1 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-26–2026-09-262026-09-27: 3 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-27–2026-09-272026-09-28: 20 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-28–2026-09-282026-09-29: 65 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-29–2026-09-292026-09-30: 59 · observed 2026-10-21T11:06:36.7762823Z · period 2026-09-30–2026-09-302026-10-01: 58 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-01–2026-10-012026-10-02: 481 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-02–2026-10-022026-10-03: 14 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-03–2026-10-032026-10-04: 155 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-04–2026-10-042026-10-05: 89 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-05–2026-10-052026-10-06: 75 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-06–2026-10-062026-10-07: 6 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-07–2026-10-072026-10-08: 13 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-08–2026-10-082026-10-09: 410 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-09–2026-10-092026-10-10: 35 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-10–2026-10-102026-10-11: 60 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-11–2026-10-112026-10-12: 175 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-12–2026-10-122026-10-13: 440 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-13–2026-10-132026-10-14: 64 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-14–2026-10-142026-10-15: 43 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-15–2026-10-152026-10-16: 197 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-16–2026-10-162026-10-17: 73 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-17–2026-10-172026-10-18: 12 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-18–2026-10-182026-10-20: 14 · observed 2026-10-21T11:06:36.7762823Z · period 2026-10-20–2026-10-20
7 Sept20 Oct

pypistats · 42 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-20142026-10-21T11:06:36.7762823Z
2026-10-18 – 2026-10-18122026-10-21T11:06:36.7762823Z
2026-10-17 – 2026-10-17732026-10-21T11:06:36.7762823Z
2026-10-16 – 2026-10-161972026-10-21T11:06:36.7762823Z
2026-10-15 – 2026-10-15432026-10-21T11:06:36.7762823Z
2026-10-14 – 2026-10-14642026-10-21T11:06:36.7762823Z
2026-10-13 – 2026-10-134402026-10-21T11:06:36.7762823Z
2026-10-12 – 2026-10-121752026-10-21T11:06:36.7762823Z
2026-10-11 – 2026-10-11602026-10-21T11:06:36.7762823Z
2026-10-10 – 2026-10-10352026-10-21T11:06:36.7762823Z
2026-10-09 – 2026-10-094102026-10-21T11:06:36.7762823Z
2026-10-08 – 2026-10-08132026-10-21T11:06:36.7762823Z
2026-10-07 – 2026-10-0762026-10-21T11:06:36.7762823Z
2026-10-06 – 2026-10-06752026-10-21T11:06:36.7762823Z
2026-10-05 – 2026-10-05892026-10-21T11:06:36.7762823Z
2026-10-04 – 2026-10-041552026-10-21T11:06:36.7762823Z
2026-10-03 – 2026-10-03142026-10-21T11:06:36.7762823Z
2026-10-02 – 2026-10-024812026-10-21T11:06:36.7762823Z
2026-10-01 – 2026-10-01582026-10-21T11:06:36.7762823Z
2026-09-30 – 2026-09-30592026-10-21T11:06:36.7762823Z
2026-09-29 – 2026-09-29652026-10-21T11:06:36.7762823Z
2026-09-28 – 2026-09-28202026-10-21T11:06:36.7762823Z
2026-09-27 – 2026-09-2732026-10-21T11:06:36.7762823Z
2026-09-26 – 2026-09-2612026-10-21T11:06:36.7762823Z
2026-09-25 – 2026-09-2512026-10-21T11:06:36.7762823Z
2026-09-24 – 2026-09-24192026-10-21T11:06:36.7762823Z
2026-09-23 – 2026-09-23302026-10-21T11:06:36.7762823Z
2026-09-22 – 2026-09-2222026-10-21T11:06:36.7762823Z
2026-09-21 – 2026-09-21252026-10-21T11:06:36.7762823Z
2026-09-20 – 2026-09-20722026-10-21T11:06:36.7762823Z
2026-09-19 – 2026-09-19202026-10-21T11:06:36.7762823Z
2026-09-18 – 2026-09-18382026-10-21T11:06:36.7762823Z
2026-09-17 – 2026-09-171922026-10-21T11:06:36.7762823Z
2026-09-16 – 2026-09-16292026-10-21T11:06:36.7762823Z
2026-09-15 – 2026-09-151482026-10-21T11:06:36.7762823Z
2026-09-13 – 2026-09-1332026-10-21T11:06:36.7762823Z
2026-09-12 – 2026-09-1252026-10-21T11:06:36.7762823Z
2026-09-11 – 2026-09-11152026-10-21T11:06:36.7762823Z
2026-09-10 – 2026-09-1052026-10-21T11:06:36.7762823Z
2026-09-09 – 2026-09-09182026-10-21T11:06:36.7762823Z
2026-09-08 – 2026-09-08822026-10-21T11:06:36.7762823Z
2026-09-07 – 2026-09-07962026-10-21T11:06:36.7762823Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.313 Oct 202621

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
neuroscales/abczarr

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 17:16 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:28888f32331516e3225569ff873a2631ef1e451e723eb12a3837c24b2e2b97e4