import pandas as pd from openai import OpenAI import os import json import altair as alt import sqlite3 import ast import streamlit as st from streamlit_navigation_bar import st_navbar from reportlab.lib.pagesizes import letter from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Image from altair_saver import save from utils.menu import menu from loguru import logger from datetime import datetime st.set_page_config( page_title = 'Insight Lab', page_icon="chart_with_upwards_trend", layout = 'wide') if "logger" not in st.session_state: logger.add("Logger.txt", format="{time:YYYY-MM-DD HH:mm:ss} {level} {message}", level="INFO", enqueue=True) st.session_state.logger = logger def log_data(data): current_date = datetime.now().strftime('%Y-%m-%d') current_time = datetime.now().strftime('%H:%M:%S') logger.info(f"Date: {current_date}\n========================================\nTime: {current_time}\nLogger Data: {data}\n----------------------------------------\n") data = "This is Insight's lab log data." log_data(data) else: logger = st.session_state.logger # logger.add("file_{time}.log") # Initialize token storage token_file = "token_usage.json" if not os.path.exists(token_file): with open(token_file, 'w') as f: json.dump({}, f) def store_token_usage(token_usage): # current_month = "2025-01" current_month = datetime.now().strftime('%Y-%m') with open(token_file, 'r') as f: token_data = json.load(f) if current_month in token_data: token_data[current_month] += token_usage else: token_data[current_month] = token_usage with open(token_file, 'w') as f: json.dump(token_data, f) def get_monthly_token_usage(): with open(token_file, 'r') as f: token_data = json.load(f) return token_data # Example usage of get_monthly_token_usage function monthly_token_usage = get_monthly_token_usage() # print(monthly_token_usage) menu()