Spaces:
Running
Running
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.') |