Metadata-Version: 2.3
Name: canvod-ops
Version: 0.3.0
Summary: Operational data processing pipeline for GNSS-Transmissometry
Author: Nicolas François Bader
Author-email: Nicolas François Bader <nicolas.bader@geo.tuwien.ac.at>
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: xarray>=2024.1.0
Requires-Dist: polars>=1.0.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: pandas>=2.1.0
Requires-Dist: zarr>=3.0.0
Requires-Dist: canvod-utils>=0.1.0
Requires-Dist: canvod-grids>=0.1.0
Requires-Dist: structlog>=24.1.0
Maintainer: Climate and Environmental Remote Sensing (CLIMERS)
Maintainer-email: Climate and Environmental Remote Sensing (CLIMERS) <nicolas.bader@geo.tuwien.ac.at>
Requires-Python: >=3.14
Project-URL: Homepage, https://github.com/nfb2021/canvodpy
Project-URL: Documentation, https://nfb2021.github.io/canvodpy/packages/ops/overview/
Project-URL: Repository, https://github.com/nfb2021/canvodpy
Project-URL: Issues, https://github.com/nfb2021/canvodpy/issues
Description-Content-Type: text/markdown

# canvod-ops

Composable preprocessing operations pipeline for GNSS-Transmissometry.

Part of the [canVODpy](https://github.com/nfb2021/canvodpy) ecosystem.

## Overview

`canvod-ops` provides a modular `Op`-based pipeline for applying preprocessing
steps to GNSS datasets. Operations are composable and chainable via `Pipeline`.

## Key components

| Component | Purpose |
|---|---|
| `Op` | Abstract base class for all operations |
| `GridAssignment` | Assigns satellite observations to equal-area grid cells |
| `Pipeline` | Chains operations and returns `PipelineResult` |

## Installation

```bash
uv pip install canvod-ops
```

## Quick Start

```python
from canvod.ops import Pipeline, GridAssignment

grid = create_hemigrid(grid_type="equal_area", resolution=2.0)
pipeline = Pipeline([GridAssignment(grid)])
result = pipeline.run(ds)
```

## Documentation

[Full documentation](https://nfb2021.github.io/canvodpy/packages/ops/overview/)

## License

Apache License 2.0
