stem / app.py
pentarosarium's picture
Initial commit for HF
bbf2928
raw
history blame
1.92 kB
import streamlit as st
import pandas as pd
from modal import Function
def main():
st.title("Financial Statement Analyzer")
uploaded_files = st.file_uploader(
"Choose PDF files",
type="pdf",
accept_multiple_files=True,
help="Upload Consolidated Financial Statements in Russian"
)
if uploaded_files:
for file in uploaded_files:
with st.expander(f"Processing {file.name}", expanded=True):
progress_bar = st.progress(0)
status = st.empty()
try:
status.info("Starting PDF processing...")
progress_bar.progress(25)
# Process PDF through Modal backend
pdf_processor = Function.lookup("stem", "process_pdf")
financial_data = pdf_processor.remote(file)
progress_bar.progress(75)
if financial_data:
# Display results in tabs
tab1, tab2 = st.tabs(["Financial Ratios", "Raw Data"])
with tab1:
st.subheader("Key Financial Ratios")
st.dataframe(pd.DataFrame([financial_data]))
with tab2:
st.subheader("Extracted Financial Data")
st.json(financial_data)
status.success("Processing complete!")
else:
status.error("Failed to extract financial data")
except Exception as e:
status.error(f"Error: {str(e)}")
progress_bar.empty()
if __name__ == "__main__":
main()