Metadata-Version: 2.4
Name: canvod-readers
Version: 1.0.0
Summary: Readers for GNSS observation files: RINEX, SBF, and NMEA
Keywords: GNSS,RINEX,SBF,NMEA,GPS,geodesy,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: georinex>=1.16.0
Requires-Dist: matplotlib>=3.7.0
Requires-Dist: natsort>=8.4.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: pint>=0.23
Requires-Dist: pydantic>=2.5.0
Requires-Dist: pytz>=2023.3
Requires-Dist: xarray>=2023.12.0
Requires-Dist: sbf-parser>=1.0.3
Requires-Dist: structlog>=24.1.0
Requires-Dist: canvod-utils>=1.0.0,<2
Requires-Dist: canvod-config>=1.0.0,<2
Requires-Dist: pymap3d>=3.0.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/readers/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-readers

[![PyPI](https://img.shields.io/pypi/v/canvod-readers.svg)](https://pypi.org/project/canvod-readers/)
[![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)

**Readers for GNSS observation files: RINEX, SBF, and NMEA.** `canvod-readers` is a package of
[canVODpy](https://canvodpy.eu/), an open Python ecosystem for
GNSS-Transmissometry canopy VOD retrievals.

## What it does

- Reads RINEX v2.11, RINEX v3.04, stripped RINEX v3.05, NMEA v4.00 and Septentrio binary (SBF) files.
- Every reader returns the same validated xarray Dataset, with one value per epoch and signal, so the rest of canVODpy never depends on the file format.
- Your own readers can be added as plugins.

## Install

```bash
uv add canvod-readers
```

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 canvod.readers import Rnxv3Obs

ds = Rnxv3Obs(fpath="ROSA01TUW_R_20250011330_15M_05S_AA.rnx").to_ds()
print(ds["SNR"].dims)  # ('epoch', 'sid')
```

## Documentation

- [canvod-readers in the canVODpy documentation](https://canvodpy.eu/packages/readers/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)
