| import pandas_profiling as pp | |
| from huggingface_hub.hf_api import create_repo, upload_file | |
| from huggingface_hub.repository import Repository | |
| import gradio as gr | |
| import pandas as pd | |
| import subprocess | |
| import os | |
| import tempfile | |
| token = gr.Textbox(label = "Your Hugging Face Token") | |
| username = gr.Textbox(label = "Your Hugging Face User name") | |
| dataset_name = gr.Textbox(label = "Dataset Name") | |
| dataset = gr.File(label = "Dataset") | |
| output_text = gr.Textbox(label = "Status") | |
| def profile_dataset(dataset, username, token, dataset_name): | |
| df = pd.read_csv(dataset.name) | |
| profile = pp.ProfileReport(df, title=f"{dataset_name} Report") | |
| repo_url = create_repo(f"{username}/{dataset_name}", repo_type = "space", token = token, space_sdk = "static") | |
| profile.to_file("./index.html") | |
| upload_file(path_or_fileobj ="./index.html", path_in_repo = "index.html", repo_id =f"{username}/{dataset_name}", repo_type = "space", token=token) | |
| return f"Your dataset report will be ready at {repo_url}" | |
| gr.Interface(profile_dataset, inputs = [dataset, username, token, dataset_name], outputs=[output_text], enable_queue = True).launch(debug=True) |