|
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() |
|
|
|
|