Metadata-Version: 2.4
Name: eomatch
Version: 0.1
Summary: Match up dataset generation for Earth Observation satellites
Author-email: MetEOR Toolkit Team <team@comet-toolkit.org>
Project-URL: Homepage, https://comet-toolkit.org/meteor
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: shapely
Requires-Dist: numpy
Requires-Dist: matheo
Requires-Dist: xarray
Requires-Dist: pystac
Requires-Dist: processor_tools
Requires-Dist: scrappi
Requires-Dist: eoio
Requires-Dist: orbitx
Provides-Extra: ingest
Requires-Dist: pypgstac>=0.9; extra == "ingest"
Requires-Dist: psycopg[binary]>=3; extra == "ingest"
Requires-Dist: psycopg-pool>=3; extra == "ingest"
Provides-Extra: query
Requires-Dist: pystac-client>=0.7; extra == "query"
Provides-Extra: enrich
Requires-Dist: pysolar; extra == "enrich"
Requires-Dist: geopandas; extra == "enrich"
Requires-Dist: geodatasets; extra == "enrich"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-html; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: sphinx_book_theme; extra == "docs"
Requires-Dist: sphinx_design; extra == "docs"
Requires-Dist: sphinx_automodapi; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Requires-Dist: ipython; extra == "docs"
Dynamic: license-file

# eomatch

Match up dataset generation for Earth Observation satellites.

`eomatch` identifies and indexes instances where two satellite scenes overlap
in space and time, builds collocated datasets from them, and manages the
results as versioned STAC catalogues.

> **Warning:** This software is in beta. Results should be used with
> caution. Please share any feedback via the issue tracker.

## Usage

### Virtual environment

It is always recommended to use a virtual environment for each Python project.
Use your preferred environment manager, or create one with:

```bash
python -m venv venv
```

Activate it on Windows with `venv\Scripts\activate`, or on macOS/Linux with
`source venv/bin/activate`.

### Installation

Install the package and its core dependencies:

```bash
pip install -e .
```

Optional extras are available depending on your use case:

```bash
pip install -e ".[ingest]"   # pgSTAC database ingestion (pypgstac)
pip install -e ".[query]"    # STAC API querying (pystac-client)
pip install -e ".[enrich]"   # Geometric and solar-angle enrichment
pip install -e ".[dev]"      # Development tools (ruff, mypy, pytest, …)
pip install -e ".[docs]"     # Documentation build (sphinx, …)
```

To install all extras at once:

```bash
pip install -e ".[ingest,query,enrich,dev,docs]"
```

### Development

Install the pre-commit hooks after cloning:

```bash
pre-commit install
```

When you commit, `ruff` will lint and format your code. If it makes
corrections the commit will be aborted so you can review the changes — just
commit again once you are happy.

Run the test suite with:

```bash
pytest
```

## Compatibility

`eomatch` requires Python 3.11 or later and is tested on Python 3.11, 3.12,
and 3.13.

## Licence

`eomatch` is released under the GNU Lesser General Public License v3 (LGPLv3).
See the [LICENSE](https://github.com/meteor-toolkit/eomatch/blob/main/LICENSE) file for the full licence text.

## Authors

`eomatch` is developed and maintained by the
[MetEOR Toolkit Team](mailto:team@comet-toolkit.org).
