Nandu
Nandu - the bird This bird looks like an Emu 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:
git clone https://github.com/cehbrecht/nandu.git
cd nandu
Create the Conda environment:
conda env create -f environment.yml
conda activate nandu
You can use make to run the installation:
make install
... and start the service:
make start
Installation
Prerequisites
Install from GitHub
Clone the repository:
git clone https://github.com/cehbrecht/nandu.git
cd nandu
Create the Conda environment:
conda env create -f environment.yml
conda activate nandu
Install the project dependencies using Flit:
flit install
Configuration
Edit pygeoapi config (optional):
vim pygeoapi-config.yml
Export paths to configs:
export PYGEOAPI_CONFIG=pygeoapi-config.yml
export PYGEOAPI_OPENAPI=pygeoapi-openapi.yml
Update the OpenAPI configuration:
pygeoapi openapi generate $PYGEOAPI_CONFIG --output-file $PYGEOAPI_OPENAPI
Usage
Start the pygeoapi server and expose the processes:
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:
curl -X POST http://localhost:5000/processes/hello-world/execution \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"name": "Alice"
}
}'
Development
Run tests:
make test
Check coding style:
make lint
Build docs:
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:
docker-compose build
Start container:
docker-compose up
License
This project is licensed under the Apache License version 2.