File size: 4,387 Bytes
e75a48e 7ba7074 d52d7a5 7ba7074 9aefa6d 83eb289 7ba7074 dfa8bc0 7ba7074 dfa8bc0 f961b92 7ba7074 f514d7f 998ddcc d52d7a5 ee053e6 2ceea22 a03eb9f 6452dd6 98cf158 9aefa6d 2f0eac0 6f14589 2f0eac0 7af5cb9 2c5ebf8 8f50f98 ece39d2 9aefa6d 7af5cb9 2f0eac0 7af5cb9 2c5ebf8 ece39d2 9aefa6d 7af5cb9 2f0eac0 7af5cb9 2c5ebf8 ece39d2 9aefa6d 7af5cb9 2f0eac0 b7f426c 2c5ebf8 2ceea22 9aefa6d 7af5cb9 9aefa6d 2c5ebf8 2ceea22 9aefa6d 7af5cb9 9aefa6d 2c5ebf8 2ceea22 9aefa6d 7af5cb9 9aefa6d 2c5ebf8 2ceea22 7ba7074 ece39d2 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 |
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("## Source")
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 Set")
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 Transform")
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 Analysis")
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 Visualization")
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
# demo = gr.Interface(fn=dprocess,
# inputs=[textbox],
# outputs="text",
# title="operand",
# description="Data Workbench CLI",
# theme=gr.themes.Soft())
operand.queue()
operand.launch() |