aliabid94 HF Staff commited on
Commit
a0f1b91
·
verified ·
1 Parent(s): d99ebf4

Update run.py

Browse files
Files changed (1) hide show
  1. run.py +33 -54
run.py CHANGED
@@ -1,57 +1,36 @@
1
- import importlib
2
  import gradio as gr
3
- import os
4
- import sys
5
- import copy
6
- import pathlib
7
- from fastapi import FastAPI, Request
8
- from fastapi.templating import Jinja2Templates
9
- import uvicorn
10
- from gradio.utils import get_space
11
-
12
- os.environ["GRADIO_ANALYTICS_ENABLED"] = "False"
13
-
14
- demo_dir = pathlib.Path(__file__).parent / "demos"
15
-
16
- app = FastAPI()
17
-
18
- templates = Jinja2Templates(directory="templates")
19
-
20
- names = sorted(os.listdir("./demos"))
21
-
22
-
23
- @app.get("/")
24
- def index(request: Request):
25
- names = [[p[0], p[2]] for p in all_demos]
26
- return templates.TemplateResponse(
27
- "index.html",
28
- {
29
- "request": request,
30
- "names": names,
31
- "initial_demo": names[0][0],
32
- "is_space": get_space(),
33
- },
34
- )
35
-
36
-
37
- all_demos = []
38
- demo_module = None
39
- for p in sorted(os.listdir("./demos")):
40
- old_path = copy.deepcopy(sys.path)
41
- sys.path = [os.path.join(demo_dir, p)] + sys.path
42
- try: # Some demos may not be runnable because of 429 timeouts, etc.
43
- if demo_module is None:
44
- demo_module = importlib.import_module("run")
45
- else:
46
- demo_module = importlib.reload(demo_module)
47
- all_demos.append((p, demo_module.demo, False))
48
- except Exception as e:
49
- with gr.Blocks() as demo:
50
- gr.Markdown(f"Error loading demo: {e}")
51
- all_demos.append((p, demo, True))
52
-
53
- for demo_name, demo, _ in all_demos:
54
- app = gr.mount_gradio_app(app, demo, f"/demo/{demo_name}")
55
 
56
  if __name__ == "__main__":
57
- uvicorn.run(app, port=7860, host="0.0.0.0")
 
 
1
  import gradio as gr
2
+ import random
3
+ import time
4
+
5
+ with gr.Blocks() as demo:
6
+ name = gr.Textbox(label="Name")
7
+ output = gr.Textbox(label="Output Box")
8
+ greet_btn = gr.Button("Greet")
9
+ @gr.on([greet_btn.click, name.submit], inputs=name, outputs=output)
10
+ def greet(name):
11
+ return "Hello " + name + "!"
12
+
13
+ with demo.route("Up") as incrementer_demo:
14
+ num = gr.Number()
15
+ incrementer_demo.load(lambda: time.sleep(1) or random.randint(10, 40), None, num)
16
+
17
+ with gr.Row():
18
+ inc_btn = gr.Button("Increase")
19
+ dec_btn = gr.Button("Decrease")
20
+ inc_btn.click(fn=lambda x: x + 1, inputs=num, outputs=num, api_name="increment")
21
+ dec_btn.click(fn=lambda x: x - 1, inputs=num, outputs=num, api_name="decrement")
22
+ for i in range(100):
23
+ gr.Textbox()
24
+
25
+ def wait(x):
26
+ time.sleep(2)
27
+ return x
28
+
29
+ identity_iface = gr.Interface(wait, "image", "image")
30
+
31
+ with demo.route("Interface") as incrementer_demo:
32
+ identity_iface.render()
33
+ gr.Interface(lambda x, y: x * y, ["number", "number"], "number")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  if __name__ == "__main__":
36
+ demo.launch(ssr_mode=True)