from warnings import filterwarnings filterwarnings('ignore') import os import uuid import json import gradio as gr import pandas as pd from huggingface_hub import CommitScheduler from pathlib import Path # Configure the logging functionality log_file = Path("logs/") / f"data_{uuid.uuid4()}.json" log_folder = log_file.parent repo_id = "operand-logs" # Create a commit scheduler scheduler = CommitScheduler( repo_id=repo_id, repo_type="dataset", folder_path=log_folder, path_in_repo="data", every=2 ) def process_command(command, ddddd): print('foo...') with scheduler.lock: with log_file.open("a") as f: f.write(json.dumps( { 'p1': 'foo', 'p2': 100 } )) f.write("\n") return 42 # Set-up the Gradio UI textbox = gr.Textbox(label='Command') # company = gr.Radio(label='Company:', # choices=["aws", "google", "IBM", "Meta", "msft"], # value="aws") # Create Gradio interface with tabs # with gr.Blocks(theme=gr.themes.Soft()) as operand: # gr.Markdown("# operand") # gr.Markdown("No-code Data Automation Studio

") # with gr.Tab("Source"): # gr.Markdown("## Data Sources") # gr.Markdown("Instances of data sources e.g., Jira Cloud endpoint, Trello endpoint, Github endpoint") # textbox_a = gr.Textbox(label='Command') # output_a = gr.Textbox(label='Output') # button_a = gr.Button("Submit") # button_a.click(process_command, inputs=[textbox_a], outputs=output_a) # with gr.Accordion("Syntax"): # gr.Markdown("
data_source my-ds-name1 my-ds-desc1 my-jira-endpoint1 my-jira-creds1") # with gr.Tab("Set"): # gr.Markdown("## Data Sets") # gr.Markdown("A data set from a data source.") # textbox_b = gr.Textbox(label='Command') # output_b = gr.Textbox(label='Output') # button_b = gr.Button("Submit") # button_b.click(process_command, inputs=[textbox_b], outputs=output_b) # with gr.Tab("Transform"): # gr.Markdown("## Data Transforms") # gr.Markdown("A transformation of a data set into a new data set.") # textbox_c = gr.Textbox(label='Command') # output_c = gr.Textbox(label='Output') # button_c = gr.Button("Submit") # button_c.click(process_command, inputs=[textbox_c], outputs=output_c) # with gr.Tab("Analysis"): # gr.Markdown("## Data Analyses") # gr.Markdown("Statistical analysis of a data set e.g., slope calculation on feature") # textbox_d = gr.Textbox(label='Command') # output_d = gr.Textbox(label='Output') # button_d = gr.Button("Submit") # button_d.click(process_command, inputs=[textbox_d], outputs=output_d) # with gr.Tab("Visualization"): # gr.Markdown("## Data Visualizations") # gr.Markdown("A visual insight from a data set or data analysis results e.g., matplotlib, sns, plotly") # textbox_e = gr.Textbox(label='Command') # output_e = gr.Textbox(label='Output') # button_e = gr.Button("Submit") # button_e.click(process_command, inputs=[textbox_e], outputs=output_e) # with gr.Tab("Notification"): # gr.Markdown("## Notifications") # gr.Markdown("Scheduled transmission of data set, data analysis or data visualization direct to user device") # textbox_f = gr.Textbox(label='Command') # output_f = gr.Textbox(label='Output') # button_f = gr.Button("Submit") # button_f.click(process_command, inputs=[textbox_f], outputs=output_f) # with gr.Tab("Automation"): # gr.Markdown("## Automation") # gr.Markdown("Multistep composition of functional elements") # textbox_g = gr.Textbox(label='Command') # output_g = gr.Textbox(label='Output') # button_g = gr.Button("Submit") # button_g.click(process_command, inputs=[textbox_g], outputs=output_g) # For the inputs parameter of Interface provide [textbox,company] with outputs parameter of Interface provide prediction operand = gr.Interface(fn=process_command, inputs=[textbox], outputs="text", title="operand", description="Data Workbench CLI", theme=gr.themes.Soft()) operand.queue() operand.launch()