AkvoResponseGrouper 1.2.0

Creator: codyrutscher

Last updated:

Add to Cart

Description:

AkvoResponseGrouper 1.2.0

Akvo-ResponseGrouper


Fast-API Response catalog for pre-computed query
Install
$ pip install AkvoResponseGrouper

Schema Requirements
Please follow the required schema before using AkvoResponseGrouper.
Usage

Database Migration

Database migration is the first required step for AkvoResponseGrouper to work. Use the akvo-responsegrouper CLI to migrate all data sources with JSON configuration files to generate Materialized Views that AkvoResponseGrouper can then use.
$ akvo-responsegrouper
usage: akvo-responsegrouper [-h] [-c CONFIG] [-d]

optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
akvo-responsegrouper -c <json_file_config>
-d, --drop Drop the ar_category view table


Router

To get the new endpoint provided by AkvoResponseGrouper, import the collection route to the App by:
from fastapi import FastAPI
from AkvoResponseGrouper.routes import collection_route

app = FastAPI(
root_path="/",
title="Akvo Response Grouper Demo",
)

app.include_router(collection_route)

@app.get("/", tags=["Dev"])
def read_main():
return "OK"


Query

Development
Run Dev Containers
The dev environment contains two containers: FastAPI backend and PostGres db, to run:
docker compose up -d

Before go to the next step, wait until the service started at http://localhost:5000.
Seed Necessary Data
In order to debug the data itself. We need to seed the example form and fake datapoints

docker compose exec backend python -m script.seeder_form
docker compose exec backend python -m script.seeder_datapoint <number_of_datapoint>

Migration
Dev environment uses contents that is available in Akvo-ResponseGrouper/src/AkvoResponseGrouper. To create the Category Materialized View via CLI in dev environment:
Upgrade:
python -m AkvoResponseGrouper.cli.migrate -c './sources/category.json'

After upgrade, you can see "AkvoResponseGrouper - Collection" is available in API docs, ussualy http://locahhost:5000/docs (Depends on the root path api).
Downgrade:
python -m AkvoResponseGrouper.cli.migrate -c './sources/category.json'

Teardown
docker compose down -v

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.