Insightlab / app.py
Maheshsr's picture
pygwalker and duck db
d0539ef
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()