Spaces:
Runtime error
Runtime error
| import datetime | |
| import json | |
| from datetime import tzinfo | |
| import pandas as pd | |
| import streamlit as st | |
| from tzlocal import get_localzone | |
| from api import TradeAssistantAPI | |
| from style import recommendation_table_styler | |
| st.title("π Trading Assistant") | |
| if st.sidebar.button("Refresh"): | |
| st.experimental_rerun() | |
| st.sidebar.title("Settings") | |
| param_token = st.experimental_get_query_params().get("token", [""])[0] | |
| token = st.sidebar.text_input("Token", type="password", value=param_token) | |
| if not token: | |
| st.error("Access denied") | |
| st.stop() | |
| api = TradeAssistantAPI(token) | |
| st.write("## Recommendations") | |
| recommendation_res = None | |
| try: | |
| recommendation_res = api.get_recommendations() | |
| updated = recommendation_res["updated"] | |
| recommendations = json.loads(recommendation_res["recommendations"]) | |
| recommendations = pd.DataFrame(recommendations) | |
| st.dataframe(recommendations.style.pipe(recommendation_table_styler)) | |
| tz = get_localzone().tzname(None) | |
| updated_time_ago = pd.Timestamp.now().tz_localize(tz) - pd.Timestamp( | |
| updated, tz="UTC" | |
| ) | |
| st.write(f"Updated: {updated_time_ago} ago") | |
| except Exception as e: | |
| st.error(e) | |
| st.expander("Details").write(recommendation_res) | |
| st.sidebar.write("## Actions") | |
| schedule_training_res = None | |
| if st.sidebar.button("Train model"): | |
| schedule_training_res = api.train_model() | |
| st.sidebar.success( | |
| f"Training job scheduled. Job ID: {schedule_training_res['job_id']}" | |
| ) | |
| st.write("## Training jobs") | |
| try: | |
| training_jobs_res = api.list_training_jobs() | |
| # training_jobs = pd.DataFrame(training_jobs_res) | |
| # st.dataframe(training_jobs) | |
| st.write(training_jobs_res) | |
| except Exception as e: | |
| st.error(e) | |
| st.expander("Details").write(training_jobs_res) | |