import streamlit as st from git import Repo from git_monitor import GitMonitor from huggingface_models import HuggingFaceModels # Initialize GitHub and Hugging Face modules github_monitor = GitMonitor() huggingface_models = HuggingFaceModels() # Title and sidebar st.title('GitHub-HF Monitor') st.sidebar('Select a repository') # Repository selection selected_repo = st.sidebar.selectbox('', ['enricoros/big-agi', 'Ig0tU/miagiii']) # Repository monitoring if st.button('Monitor'): if selected_repo == 'enricoros/big-agi': issues = github_monitor.get_issues(selected_repo) for issue in issues: st.write(f"Issue {issue.number}: {issue.title}") st.write(issue.body) # Replicate and resolve issues if st.button('Replicate & Resolve'): github_monitor.clone_repo(selected_repo) github_monitor.replicate_issue(issue) code_changes = huggingface_models.resolve_issue(issue) github_monitor.apply_code_changes(code_changes) github_monitor.push_changes() github_monitor.create_pull_request(selected_repo) st.write('Issue resolved and pull request created!') elif selected_repo == 'Ig0tU/miagiii': st.write('Monitoring the Ig0tU/miagiii repository. No issues to display.')