yezdata's picture
fix gh links
835486a
import os
import requests
import streamlit as st
from dotenv import load_dotenv
from services.dashboard import render_dashboard
from services.errors import (
render_db_error,
render_error,
render_processing_error,
)
st.set_page_config(
page_title="Financial Volatility Forecaster Report",
page_icon=":bar_chart:",
layout="wide",
menu_items={"About": "https://github.com/yezdata/financial_volatility_forecaster"},
)
load_dotenv()
API_URL = os.getenv("API_URL")
def main():
try:
with st.spinner("Fetching data from Financial Volatility Forecaster API..."):
response = requests.get(f"{API_URL}/report", timeout=10)
if response.status_code == 200:
render_dashboard(response.json())
elif response.status_code == 501:
render_db_error()
elif response.status_code == 500:
render_processing_error()
else:
render_error(response.status_code)
except requests.exceptions.ConnectionError:
st.error("Could not connect to the Financial Volatility Forecaster API.")
if __name__ == "__main__":
main()