import logging from dotenv import load_dotenv from pathlib import Path import logging import os # prepare optional local setup env_path = Path(__file__).parent.parent / "local.env" load_dotenv(env_path) # ensure env vars set necesasary_var_list = { "MONGO_HOST", "MONGO_DB", "MONGO_COLLECTION", "MONGO_USER", "MONGO_PASSWORD", } for env_var in necesasary_var_list: # ensure env var set assert ( env_var in os.environ ), ( f"environment variable not set: {env_var}" ) # setup logging stream handler fmt = ( '%(asctime)s | ' '%(levelname)s | ' '%(filename)s | ' '%(funcName)s | ' '%(message)s' ) datefmt = '%Y-%m-%d %H:%M:%S' logging.basicConfig(format=fmt, datefmt=datefmt, level=logging.INFO) logging.info("initialized app") from src.web import app server = app.server if __name__ == "__main__": # prepare local env vars os.environ["MONGO_HOST"] = "localhost" # run app app.run(debug=True) logging.info("started app")