import streamlit as st from utils import process_resumes, generate_pdf_report, store_in_supabase, score_candidate, extract_email, parse_resume from config import supabase from config import HF_API_TOKEN, HF_API_URL, HF_HEADERS import fitz # PyMuPDF from io import BytesIO from dotenv import load_dotenv import os import requests def main(): st.title("AI Candidate Screening App") job_description = st.text_area("Enter Job Description") uploaded_files = st.file_uploader("Upload Resumes (PDF)", accept_multiple_files=True, type=["pdf"]) if st.button("Process Resumes"): shortlisted = process_resumes(uploaded_files, job_description) for candidate in shortlisted: st.write(f"**{candidate['name']}** - Score: {candidate['score']}") # Generate PDF Report pdf_report = generate_pdf_report(shortlisted) st.download_button("Download Shortlist Report", pdf_report, "shortlist.pdf") if __name__ == "__main__": main()