tania-dm's picture
Remove API URL field
8e7cceb verified
Raw
History Blame
1.51 kB
"""Super basic Gradio UI for add_collaborators_to_dataset_from_csv.py.
Usage:
python gradio-apps/add_collaborators_gradio_app.py
"""
import gradio as gr
from add_collaborators_to_dataset_from_csv import add_collaborators, format_error_message, read_collaborators
from segments import SegmentsClient
from segments.exceptions import SegmentsError
def run(api_key: str, dataset_identifier: str, csv_file: str) -> str:
if not api_key or not dataset_identifier or not csv_file:
return "Please fill in the API key, dataset identifier, and CSV file."
try:
collaborators, skipped_rows = read_collaborators(csv_file)
except ValueError as error:
return str(error)
for skipped_row in skipped_rows:
print(skipped_row)
if not collaborators:
return "No usernames found in CSV"
try:
client = SegmentsClient(api_key)
except SegmentsError as error:
return format_error_message(error)
logs, _has_failures = add_collaborators(client, dataset_identifier, collaborators)
for log in logs:
print(log)
return "\n".join(skipped_rows + logs)
demo = gr.Interface(
fn=run,
inputs=[
gr.Textbox(label="API key", type="password"),
gr.Textbox(label="Dataset identifier", placeholder="jane/flowers"),
gr.File(label="CSV file", type="filepath"),
],
outputs=gr.Textbox(label="Log", lines=15),
title="Add dataset collaborators from CSV",
)
if __name__ == "__main__":
demo.launch()