| import gradio as gr |
| from threading import Thread |
| import time |
| import anvil.server |
| import os |
| anvil.server.connect('55MH4EBKM22EP4E6D5T6CVSL-VGO5X4SM6JEXGJVT') |
| import json |
| import ast |
|
|
| def run_script(scriptname): |
| |
| os.system(scriptname+' > ./out.txt') |
| with open('./out.txt','r') as f: output=f.read() |
| return output |
|
|
| @anvil.server.callable |
| def run_command(scriptname): |
| os.system(scriptname+' > ./out.txt') |
| with open('./out.txt','r') as f: output=f.read() |
| return output |
|
|
| @anvil.server.callable |
| def get_file(filename): |
| m = BlobMedia('text/plain', 'Hello, world!', name='hello.txt') |
| return m |
|
|
| gradio_interface = gr.Interface( |
| fn=run_script, |
| inputs="text", |
| outputs="text", |
| title="REST API with Gradio and Huggingface Spaces", |
| description='''Inputs should be json of test item e.g., as a dictionary; |
| output right now is just returning the input; later label will be returned. |
| |
| This is how to call the API from Python: |
| |
| import requests |
| |
| response = requests.post("https://gmshroff-gmserver.hf.space/run/predict", json={ |
| "data": [ |
| "\<put some json string here\>", |
| ]}).json() |
| |
| data = response["data"]) |
| |
| ''') |
|
|
| gradio_interface.launch() |
|
|
|
|