import gradio as gr from repo_utils import extract_repo_content from display_utils import format_output # Extract and display function def extract_and_display(url): extracted_content = extract_repo_content(url, hf_token, hf_user) formatted_output = format_output(extracted_content, url) return formatted_output app = gr.Blocks(theme="sudeepshouche/minimalist") with app: gr.Markdown("# Hugging Face Space / Model Repository Content Extractor") url_input = gr.Textbox(label="https:// URL of Repository", placeholder="Enter the repository URL here OR select an example below...") url_examples = gr.Examples( examples=[ ["https://huggingface.co/spaces/big-vision/paligemma-hf"], ["https://huggingface.co/google/paligemma-3b-mix-224"], ["https://huggingface.co/microsoft/Phi-3-vision-128k-instruct"], ["https://huggingface.co/llava-hf/llava-v1.6-mistral-7b-hf"] ], inputs=url_input ) output_display = gr.Textbox(label="Extracted Repository Content", show_copy_button=True, lines=20, placeholder="Repository content will be extracted here...\n\nMetadata is captured for all files, but text content provided only for files less than 32 kb\n\n\n\nReview and search through the content here OR simply copy it for offline analysis!!. 🤖") extract_button = gr.Button("Extract Content") extract_button.click(fn=extract_and_display, inputs=url_input, outputs=output_display) app.launch()