forked from equinor/sara-timeseries
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
37 lines (29 loc) · 978 Bytes
/
Copy pathmain.py
File metadata and controls
37 lines (29 loc) · 978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import os
import uvicorn
from dotenv import load_dotenv
from fastapi import FastAPI
from sara_omnia.api import OmniaAPI
from sara_omnia.logger import setup_logger
from sara_omnia.omnia_service import OmniaService
setup_logger()
load_dotenv()
CLIENT_ID = os.environ.get("CLIENT_ID")
CLIENT_SECRET = os.environ.get("CLIENT_SECRET")
TENANT_ID = os.environ.get("TENANT_ID")
PORT = int(os.environ.get("PORT", 8081))
HOST = os.environ.get("HOST", "sara-omnia")
if not CLIENT_ID or not CLIENT_SECRET or not TENANT_ID:
raise RuntimeError(
"CLIENT_ID, CLIENT_SECRET, TENANT_ID must be provided via environment variables."
)
# Create FastAPI app and setup routes
app = FastAPI()
omnia_service = OmniaService(
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
tenant_id=TENANT_ID,
)
omnia_api = OmniaAPI(omnia_service=omnia_service)
omnia_api.include_in_app(app)
if __name__ == "__main__":
uvicorn.run("main:app", host=HOST, port=PORT, reload=True)