Skip to content
 
 

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zarr-sqlite

Experimental implementation of a SQLite-based store for zarr v3, in python.

SQLiteStore provides a single-file storage backend for Zarr. Key advantages over alternative single-file formats (e.g., ZipStore):

  • Support for key deletion, overwriting, and partial value writes.
  • Full ACID guarantees provided by SQLite.
  • High availability of SQLite implementations across programming languages and environments.

Example usage:

import zarr

from zarr_sqlite import SQLiteStore

with SQLiteStore("my_zarr_file.sqlite") as store:
    root = zarr.create_group(store=store)
    foo = root.create_group('foo')
    bar = foo.create_group('bar')
    z1 = bar.create_array(name='baz', shape=(10000, 10000), chunks=(1000, 1000), dtype='int32')
    z1[:] = 42

SQLiteStore otherwise behaves identically to other stores used with zarr, see the zarr user guide for more information.

Specification

The store format is described in the document SPEC.md. This document should allow the implementation of SQLiteStore for other programming languages or Zarr libraries.

About

SQLite backed storage for zarr v3

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages