Metadata-Version: 2.4
Name: pyramids-eo
Version: 0.2.0
Summary: Remote-sensing / Earth-observation tier for the pyramids GIS stack
Author-email: Mostafa Farrag <moah.farag@gmail.com>
License: GNU General Public License v3
Project-URL: homepage, https://github.com/serapeum-org/pyramids-eo
Project-URL: repository, https://github.com/serapeum-org/pyramids-eo
Project-URL: documentation, https://serapeum-org.github.io/pyramids-eo
Project-URL: Changelog, https://github.com/serapeum-org/pyramids-eo/blob/main/docs/change-log.md
Keywords: GIS,remote sensing,earth observation,satellite,pyramids
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Requires-Python: <4,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyramids-gis>=0.53.0
Requires-Dist: numpy>=2.0.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: viz
Requires-Dist: pyramids-gis[viz]>=0.53.0; extra == "viz"
Dynamic: license-file

# pyramids-eo

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)

**pyramids-eo** is the **Earth-observation layer** of the pyramids GIS stack. It is built on top of
[pyramids](https://github.com/serapeum-org/pyramids) (`pyramids-gis`, the generic raster/vector
engine) and adds the logic that is specific to **Earth-observation data**.

pyramids underneath knows only how to *move rasters around*. pyramids-eo knows what a pixel *means* for a
given instrument or provider: which subdataset is which channel, how to calibrate it, how to composite it,
how to resample a swath — and how to reach signed EO cloud assets.

```
pyramids-eo        (Earth-observation logic: sensor readers, calibration, indices, composites,
    │               resample, masking, signed EO provider/STAC access)
    │  depends on
    ▼
pyramids           (generic raster / vector engine)
```

## Scope

pyramids-eo is scoped by *domain* — Earth-observation data — not by a restriction on what it may do. It
covers the EO-specific functionality that sits above the generic raster/vector operations pyramids-gis
provides.

## Installation

pyramids-eo is pure Python; its native stack is provided transitively by the `pyramids-gis` platform
wheels, so no system GDAL is required.

```console
pip install pyramids-eo
```

## Development

Environments are managed with [pixi](https://pixi.sh):

```console
pixi install -e dev
pixi run -e dev pytest        # run the tests
pixi run -e dev mypy          # type-check
pre-commit install            # enable git hooks
```

## Documentation

Full documentation: <https://serapeum-org.github.io/pyramids-eo>

## License

GNU General Public License v3 (GPLv3) — see [`LICENSE`](LICENSE).
