|
|
|
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 |
|
|
|
|
|
log_file = Path("logs/") / f"data_{uuid.uuid4()}.json" |
|
log_folder = log_file.parent |
|
|
|
repo_id = "operand-logs" |
|
|
|
|
|
scheduler = CommitScheduler( |
|
repo_id=repo_id, |
|
repo_type="dataset", |
|
folder_path=log_folder, |
|
path_in_repo="data", |
|
every=2 |
|
) |
|
|
|
def dprocess(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 |
|
|
|
|
|
textbox = gr.Textbox(label='Command') |
|
|
|
|
|
|
|
|
|
|
|
|
|
demo = gr.Interface(fn=dprocess, |
|
inputs=[textbox], |
|
outputs="text", |
|
title="operand", |
|
description="CLI", |
|
theme=gr.themes.Soft()) |
|
|
|
demo.queue() |
|
demo.launch() |