"""Definition of web_ui main script.""" from __future__ import annotations import os from shared.datastore import connect_minio from shared.mongodb import connect_mongodb from shared.utils import check_env, setup_logging from .app import init_app # ensure env vars set NECESSARY_ENV_VAR_LIST = { 'MONGO_HOST', 'MONGO_DB', 'MONGO_COLLECTION', 'MONGO_USER', 'MONGO_PASSWORD', 'DASH_AUTH_USERNAME', 'DASH_AUTH_PASSWORD', 'MINIO_ENDPOINT', 'MINIO_ACCESS_KEY', 'MINIO_SECRET_KEY', 'MINIO_BUCKET_NAME', 'MINIO_BUCKET_NAME_MODELS', } check_env(NECESSARY_ENV_VAR_LIST) # setup logging stream handler setup_logging() # connect to database collection, db, client = connect_mongodb() # connect to minio minio_client = connect_minio() # initialise application app = init_app( mongo_collection=collection, minio_client=minio_client, ) server = app.server server.config.update(SECRET_KEY=os.urandom(24))