Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cehbrecht/nandu
Looks like Emu but its not. It is based on pygeoapi instead of pywps.
https://github.com/cehbrecht/nandu
Last synced: 19 days ago
JSON representation
Looks like Emu but its not. It is based on pygeoapi instead of pywps.
- Host: GitHub
- URL: https://github.com/cehbrecht/nandu
- Owner: cehbrecht
- License: apache-2.0
- Created: 2024-09-11T11:15:43.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-16T12:58:05.000Z (2 months ago)
- Last Synced: 2024-10-07T06:05:53.913Z (about 1 month ago)
- Language: Jupyter Notebook
- Size: 63.5 KB
- Stars: 0
- Watchers: 1
- 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:
```bash
git clone https://github.com/cehbrecht/nandu.git
cd nandu
```Create the Conda environment:
```bash
conda env create -f environment.yml
conda activate nandu
```You can use make to run the installation:
```bash
make install
```... and start the service:
```bash
make start
```## Installation
### Prerequisites
- [Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/)
### Install from GitHub
Clone the repository:
```bash
git clone https://github.com/cehbrecht/nandu.git
cd nandu
```Create the Conda environment:
```bash
conda env create -f environment.yml
conda activate nandu
```Install the project dependencies using Poetry:
```bash
poetry install
```## Configuration
Edit pygeoapi config (optional):
```bash
vim pygeoapi-config.yml
```Export paths to configs:
```bash
export PYGEOAPI_CONFIG=pygeoapi-config.yml
export PYGEOAPI_OPENAPI=pygeoapi-openapi.yml
```Update the OpenAPI configuration:
```bash
pygeoapi openapi generate $PYGEOAPI_CONFIG --output-file $PYGEOAPI_OPENAPI
```## Usage
Start the pygeoapi server and expose the processes:
```bash
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-worldExecute the process:
```bash
curl -X POST http://localhost:5000/processes/hello-world/execution \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"name": "Alice"
}
}'
```## License
This project is licensed under the Apache License version 2.