https://github.com/bird-house/nandu
Nandu is a demo for ogcapi-process using pygeoapi (like the Emu for PyWPS).
https://github.com/bird-house/nandu
ogcapi-processes pygeoapi
Last synced: over 1 year ago
JSON representation
Nandu is a demo for ogcapi-process using pygeoapi (like the Emu for PyWPS).
- Host: GitHub
- URL: https://github.com/bird-house/nandu
- Owner: bird-house
- License: apache-2.0
- Created: 2024-11-28T16:33:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-10T14:45:31.000Z (over 1 year ago)
- Last Synced: 2025-02-02T05:15:38.583Z (over 1 year ago)
- Topics: ogcapi-processes, pygeoapi
- Language: Jupyter Notebook
- Homepage: https://nandu.readthedocs.io/en/latest/
- Size: 139 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nandu
**Nandu - the bird**
This [bird looks like an Emu](https://www.gardenandpatiohomeguide.com/birds-that-look-like-emus/) but its not. The name *Nandu* is mostly used in European countries. Otherwise this bird is called *Rhea*.
**Nandu** is an OGC API - Processes implementation using `pygeoapi`. It provides simple processes like a "Say Hello" greeting process.
## Features
- **Hello World Process**: Returns a simple greeting message.
- **Echo Process**: Returns an echo message after some time.
## Quick Guide
Clone the repository:
```console
git clone https://github.com/cehbrecht/nandu.git
cd nandu
```
Create the Conda environment:
```console
conda env create -f environment.yml
conda activate nandu
```
You can use make to run the installation:
```console
make install
```
... and start the service:
```console
make start
```
## Installation
### Prerequisites
- [Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/)
### Install from GitHub
Clone the repository:
```console
git clone https://github.com/cehbrecht/nandu.git
cd nandu
```
Create the Conda environment:
```console
conda env create -f environment.yml
conda activate nandu
```
Install the project dependencies using [Flit](https://flit.pypa.io/):
```console
flit install
```
## Configuration
Edit pygeoapi config (optional):
```console
vim pygeoapi-config.yml
```
Export paths to configs:
```console
export PYGEOAPI_CONFIG=pygeoapi-config.yml
export PYGEOAPI_OPENAPI=pygeoapi-openapi.yml
```
Update the OpenAPI configuration:
```console
pygeoapi openapi generate $PYGEOAPI_CONFIG --output-file $PYGEOAPI_OPENAPI
```
## Usage
Start the pygeoapi server and expose the processes:
```console
pygeoapi serve
```
This will start the API on http://localhost:5000.
List all processes:
http://localhost:5000/processes
View process details of "Hello World":
http://localhost:5000/processes/hello-world
Execute the process:
```console
curl -X POST http://localhost:5000/processes/hello-world/execution \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"name": "Alice"
}
}'
```
## Development
Run tests:
```console
make test
```
Check coding style:
```console
make lint
```
Build docs:
```console
make docs
```
## Release
Please check the developer guide.
## Examples
See usage examples for the processes in the notebooks folder.
## Docker
You can also use a docker deployment.
Build images:
```console
docker-compose build
```
Start container:
```console
docker-compose up
```
## License
This project is licensed under the Apache License version 2.