Tool for robustly creating and updating Zarr datacubes from smaller slices
Project description
zappend
zappend
is a tool written in Python that is used for robustly creating and updating
Zarr datacubes from smaller dataset slices. It is built on top of the awesome Python
packages xarray and zarr.
Motivation
The objective of zappend
is to address recurring memory issues when generating large
geospatial datacubes using the Zarr format
by subsequently concatenating data slices along an append dimension, e.g., time
(the default) for geospatial satellite observations.
Each append step is atomic, that is, the append operation is a transaction that can be
rolled back, in case the append operation fails. This ensures integrity of the target
data cube.
Features
The zappend
tool provides the following features:
- Locking: While the target dataset is being modified, a file lock is created, effectively preventing concurrent dataset modifications.
- Transaction-based dataset appends: On failure during an append step, the transaction is rolled back, so that the target dataset remains valid and preserves its integrity.
- Filesystem transparency: The target dataset may be generated and updated in any writable filesystems supported by the fsspec package. The same holds for the slice datasets to be appended.
- Dataset polling: The tool can be configured to wait for slice datasets to become available.
- CLI and Python API: The tool can be used in a shell using the
zappend
command or from Python. When used from Python using thezappend()
function, slice datasets can be passed as local file paths, URIs, as datasets of type xarray.Dataset, or as custom zappend.api.SliceSource objects.
More about zappend can be found in its documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file zappend-0.3.0.tar.gz
.
File metadata
- Download URL: zappend-0.3.0.tar.gz
- Upload date:
- Size: 41.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e18af8a5110d15f3df8e066c902e6b42b45df335ed4eb1f1facb566bbb536f12 |
|
MD5 | 94fed9fdf6deb32c8f92485295671e5e |
|
BLAKE2b-256 | 8fcb1b909572369c0906137d00bd516b61faf7a60c5872842fec52d10919acad |
Provenance
File details
Details for the file zappend-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: zappend-0.3.0-py3-none-any.whl
- Upload date:
- Size: 38.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cecb6c26b2297376dc3b7710168abb040bb4d0cbbff80b102f52a195251e547 |
|
MD5 | dc54234601dad4596f5bc8ebaf1ea628 |
|
BLAKE2b-256 | 36bc8930bba0afeec4c6057c35720f45e0dbb7b4211c20fdbde653137ad9c9bb |