Metadata-Version: 2.4
Name: geospaitial-lab-aviary
Version: 1.4.0
Summary: Pythonic Framework for AI Inference on Geospatial Data
Author-email: Marius Maryniak <marius.maryniak@w-hs.de>
Maintainer-email: Marius Maryniak <marius.maryniak@w-hs.de>, Alexander Roß <alexander.ross@w-hs.de>, Stefan Küpper <stefan.kuepper@w-hs.de>
License: GPL-3.0
Project-URL: Homepage, https://www.github.com/geospaitial-lab/aviary
Project-URL: Documentation, https://geospaitial-lab.github.io/aviary
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: geopandas>=1.1.0
Requires-Dist: loguru>=0.7.0
Requires-Dist: numpy>=2.1.0
Requires-Dist: pydantic>=2.9.0
Requires-Dist: rasterio>=1.4.0
Requires-Dist: requests>=2.32.0
Requires-Dist: rich>=13.9.0
Requires-Dist: shapely>=2.0.6
Provides-Extra: cli
Requires-Dist: pyperclip>=1.9.0; extra == "cli"
Requires-Dist: pyyaml>=6.0.1; extra == "cli"
Requires-Dist: typer>=0.16.0; extra == "cli"
Provides-Extra: expression
Requires-Dist: numexpr>=2.14.0; extra == "expression"
Provides-Extra: osm
Requires-Dist: osm2geojson>=0.3.0; extra == "osm"
Provides-Extra: all
Requires-Dist: numexpr>=2.14.0; extra == "all"
Requires-Dist: osm2geojson>=0.3.0; extra == "all"
Requires-Dist: pyperclip>=1.9.0; extra == "all"
Requires-Dist: pyyaml>=6.0.1; extra == "all"
Requires-Dist: typer>=0.16.0; extra == "all"
Dynamic: license-file

<div align="center">

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://www.github.com/geospaitial-lab/aviary/raw/main/docs/assets/aviary_logo_white.svg">
  <img alt="aviary" src="https://www.github.com/geospaitial-lab/aviary/raw/main/docs/assets/aviary_logo_black.svg" width="30%">
</picture>

</div>

<div align="center">

[![CI][CI Badge]][CI]
[![Coverage][Coverage Badge]][Coverage]
[![Docs][Docs Badge]][Docs]

</div>

<div align="center">

[![PyPI version][PyPI version Badge]][PyPI]
[![Python version][Python version Badge]][PyPI]

</div>

<div align="center">

[![Chat][Chat Badge]][Chat]

</div>

  [CI Badge]: https://img.shields.io/github/actions/workflow/status/geospaitial-lab/aviary/ci.yaml?branch=main&color=black&label=CI&logo=GitHub
  [CI]: https://www.github.com/geospaitial-lab/aviary/actions/workflows/ci.yaml
  [Coverage Badge]: https://img.shields.io/codecov/c/github/geospaitial-lab/aviary/main?color=black&label=Coverage&logo=codecov&logoColor=white
  [Coverage]: https://app.codecov.io/gh/geospaitial-lab/aviary
  [Docs Badge]: https://img.shields.io/github/actions/workflow/status/geospaitial-lab/aviary/docs.yaml?branch=main&color=black&label=Docs&logo=materialformkdocs&logoColor=white
  [Docs]: https://geospaitial-lab.github.io/aviary
  [PyPI version Badge]: https://img.shields.io/pypi/v/geospaitial-lab-aviary?color=black&label=PyPI&logo=PyPI&logoColor=white
  [Python version Badge]: https://img.shields.io/pypi/pyversions/geospaitial-lab-aviary?color=black&label=Python&logo=Python&logoColor=white
  [PyPI]: https://www.pypi.org/project/geospaitial-lab-aviary
  [Chat Badge]: https://img.shields.io/matrix/geospaitial-lab-aviary%3Amatrix.org?color=black&label=Chat&logo=matrix
  [Chat]: https://matrix.to/#/#geospaitial-lab-aviary:matrix.org

aviary is the pythonic way to run your AI models on geospatial data
with minimal boilerplate – from quick prototyping to production-grade pipelines.

- **High-level Python API**<br />
  Define and run pipelines from composable components instead of writing ad hoc scripts

- **Config-driven CLI**<br />
  Define and run the same pipelines with the command-line interface using a simple declarative config file

- **Extensible by design**<br />
  Add custom components via a plugin registry and distribute them as a plugin package

- **AI framework-agnostic**<br />
  Use models from PyTorch, TensorFlow, ONNX, or scikit-learn

---

## Installation

### Installation with pip

```bash
pip install geospaitial-lab-aviary
```

Note that aviary requires Python 3.10 or later.

Have a look at the [installation guide][installation guide pip] for further information.

  [installation guide pip]: https://geospaitial-lab.github.io/aviary/how_to_guides/installation/how_to_install_aviary_with_pip

### Installation with uv

```bash
uv pip install geospaitial-lab-aviary
```

Note that aviary requires Python 3.10 or later.

Have a look at the [installation guide][installation guide uv] for further information.

  [installation guide uv]: https://geospaitial-lab.github.io/aviary/how_to_guides/installation/how_to_install_aviary_with_uv

### Installation with Docker

```bash
docker pull ghcr.io/geospaitial-lab/aviary
```

Have a look at the [installation guide][installation guide docker] for further information.

  [installation guide docker]: https://geospaitial-lab.github.io/aviary/how_to_guides/installation/how_to_install_aviary_with_docker

---

## Next steps

Have a look at the [how-to guides] to get started.

  [how-to guides]: https://geospaitial-lab.github.io/aviary/how_to_guides

---

## Documentation

The documentation is available at [geospaitial-lab.github.io/aviary].

  [geospaitial-lab.github.io/aviary]: https://geospaitial-lab.github.io/aviary

---

## License

aviary is licensed under the [GPL-3.0 license].

  [GPL-3.0 license]: LICENSE.md
