File size: 4,502 Bytes
e75a48e 7ba7074 d52d7a5 7ba7074 9aefa6d 83eb289 7ba7074 dfa8bc0 7ba7074 dfa8bc0 f961b92 7ba7074 12dd403 998ddcc d52d7a5 ee053e6 4b57dab ee053e6 4b57dab 6452dd6 4b57dab 98cf158 4b57dab 6f14589 4b57dab 8f50f98 4b57dab ece39d2 4b57dab ece39d2 4b57dab ece39d2 4b57dab 2ceea22 4b57dab 2ceea22 4b57dab 2ceea22 4b57dab 2ceea22 7ba7074 62c6149 4b57dab d52d7a5 ee053e6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
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<br><br>")
# 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("<br>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() |