Metadata-Version: 2.4
Name: canvod-store
Version: 1.0.0
Summary: Versioned Icechunk stores for GNSS-T observations and VOD
Keywords: GNSS,VOD,storage,icechunk,zarr,remote sensing
Author: Nicolas François Bader
Author-email: Nicolas François Bader <support@canvodpy.eu>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Dist: canvod-utils>=1.0.0,<2
Requires-Dist: canvod-config>=1.0.0,<2
Requires-Dist: canvod-store-metadata>=1.0.0,<2
Requires-Dist: canvod-vod>=1.0.0,<2
Requires-Dist: canvod-auxiliary>=1.0.0,<2
Requires-Dist: canvod-readers>=1.0.0,<2
Requires-Dist: canvod-grids>=1.0.0,<2
Requires-Dist: icechunk>=2.0.0
Requires-Dist: zarr>=3.1.2
Requires-Dist: xarray>=2023.12.0
Requires-Dist: polars>=1.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: networkx>=3.6.1
Requires-Dist: dask>=2024.1.0
Requires-Dist: structlog>=24.1.0
Maintainer: Climate and Environmental Remote Sensing (CLIMERS)
Maintainer-email: Climate and Environmental Remote Sensing (CLIMERS) <support@canvodpy.eu>
Requires-Python: >=3.14
Project-URL: Homepage, https://github.com/TUW-GEO/canvodpy
Project-URL: Documentation, https://canvodpy.eu/packages/store/overview/
Project-URL: Repository, https://github.com/TUW-GEO/canvodpy
Project-URL: Issues, https://github.com/TUW-GEO/canvodpy/issues
Description-Content-Type: text/markdown

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/TUW-GEO/canvodpy/main/docs/assets/logo/canvodpy_logo_dark_mode.svg">
    <img alt="canVODpy" src="https://raw.githubusercontent.com/TUW-GEO/canvodpy/main/docs/assets/logo/canvodpy_logo_bright_mode.svg" width="260">
  </picture>
</p>

# canvod-store

[![PyPI](https://img.shields.io/pypi/v/canvod-store.svg)](https://pypi.org/project/canvod-store/)
[![Python](https://img.shields.io/badge/python-3.14-blue.svg)](https://www.python.org/)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/TUW-GEO/canvodpy/blob/main/LICENSE)
[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.18496233-blue)](https://doi.org/10.5281/zenodo.18496233)

**Versioned Icechunk stores for GNSS-T observations and VOD.** `canvod-store` is a package of
[canVODpy](https://canvodpy.eu/), an open Python ecosystem for
GNSS-Transmissometry canopy VOD retrievals.

## What it does

- Keeps the observations of a site in a GNSS store and its VOD in a VOD store, both [Icechunk](https://icechunk.io/) repositories of Zarr arrays.
- Records every write as a commit, so earlier states of a store stay readable.
- Keeps a log book of which file produced which data, so a file is never stored twice.

## Install

```bash
uv add canvod-store
```

Most users install [canvodpy](https://pypi.org/project/canvodpy/), which
includes this package, the command line, and the processing pipeline.
canVODpy requires Python 3.14.

## Example

```python
from pathlib import Path
from canvod.store import open_gnss_store

store = open_gnss_store(Path("stores/ExampleSite/rinex"))
print(store.list_groups())  # one group per receiver
ds = store.read_group("canopy_01", date="2025001")
```

## Documentation

- [canvod-store in the canVODpy documentation](https://canvodpy.eu/packages/store/overview/)
- [Start here](https://canvodpy.eu/users/): from installation to the first VOD

## How to cite

If you use canVODpy, please cite it with its DOI,
[`10.5281/zenodo.18496233`](https://doi.org/10.5281/zenodo.18496233), which always leads to the newest
version. [CITATION.cff](https://github.com/TUW-GEO/canvodpy/blob/main/CITATION.cff) has the full
citation.

## License

[Apache License 2.0](https://github.com/TUW-GEO/canvodpy/blob/main/LICENSE)
