databoysu commited on
Commit
5070671
·
1 Parent(s): 8f66ad1

unify gradio + openenv

Browse files
Files changed (4) hide show
  1. Dockerfile +1 -1
  2. README.md +0 -1
  3. backend/app.py +5 -0
  4. vision_ui.py +0 -36
Dockerfile CHANGED
@@ -52,4 +52,4 @@ WORKDIR /app/env
52
 
53
  USER appuser
54
 
55
- CMD ["python", "vision_ui.py"]
 
52
 
53
  USER appuser
54
 
55
+ CMD ["uvicorn", "backend.app:app", "--host", "0.0.0.0", "--port", "7860"]
README.md CHANGED
@@ -5,7 +5,6 @@ colorFrom: blue
5
  sdk: docker
6
  pinned: false
7
  app_port: 7860
8
- app_file: vision_ui.py
9
  base_path: /web
10
  tags:
11
  - openenv
 
5
  sdk: docker
6
  pinned: false
7
  app_port: 7860
 
8
  base_path: /web
9
  tags:
10
  - openenv
backend/app.py CHANGED
@@ -1,5 +1,8 @@
1
  """FastAPI entry point for TraceFix-RL."""
2
 
 
 
 
3
  try:
4
  from openenv.core.env_server.http_server import create_app
5
  except Exception as e: # pragma: no cover
@@ -27,6 +30,8 @@ app = create_app(
27
  max_concurrent_envs=1,
28
  )
29
 
 
 
30
 
31
  def main() -> None:
32
  """Entry point for local and container execution."""
 
1
  """FastAPI entry point for TraceFix-RL."""
2
 
3
+ import gradio as gr
4
+ from vision_ui import demo
5
+
6
  try:
7
  from openenv.core.env_server.http_server import create_app
8
  except Exception as e: # pragma: no cover
 
30
  max_concurrent_envs=1,
31
  )
32
 
33
+ app = gr.mount_gradio_app(app, demo, path="/")
34
+
35
 
36
  def main() -> None:
37
  """Entry point for local and container execution."""
vision_ui.py CHANGED
@@ -5,14 +5,11 @@ import json
5
  import os
6
  import queue
7
  import re
8
- import socket
9
  import subprocess
10
  import sys
11
  import threading
12
- import time
13
  import urllib.error
14
  import urllib.request
15
- from contextlib import closing
16
  from pathlib import Path
17
  from typing import Any, Generator
18
 
@@ -295,34 +292,6 @@ def _build_env(
295
  return env
296
 
297
 
298
- def _is_port_open(host: str, port: int) -> bool:
299
- with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
300
- sock.settimeout(0.5)
301
- return sock.connect_ex((host, port)) == 0
302
-
303
-
304
- def _start_backend_server() -> None:
305
- if _is_port_open(BACKEND_HOST, BACKEND_PORT):
306
- return
307
-
308
- backend_env = os.environ.copy()
309
- backend_env["HOST"] = BACKEND_HOST
310
- backend_env["PORT"] = str(BACKEND_PORT)
311
-
312
- subprocess.Popen(
313
- ["python", "-m", "backend.app"],
314
- cwd=str(ROOT_DIR),
315
- env=backend_env,
316
- stdout=subprocess.DEVNULL,
317
- stderr=subprocess.DEVNULL,
318
- )
319
-
320
- for _ in range(20):
321
- if _is_port_open(BACKEND_HOST, BACKEND_PORT):
322
- return
323
- time.sleep(0.1)
324
-
325
-
326
  def _reset_run_state(task_name: str) -> tuple[str, str, str, float, str]:
327
  return (
328
  _code_from_task_name(task_name),
@@ -577,8 +546,3 @@ with gr.Blocks(title="TraceFix-RL Mission Control") as demo:
577
  ],
578
  outputs=[code_view, terminal, metric, score, rewards],
579
  )
580
-
581
-
582
- if __name__ == "__main__":
583
- _start_backend_server()
584
- demo.queue().launch(server_name=GRADIO_HOST, server_port=GRADIO_PORT, theme=gr.themes.Monochrome(), css=CSS)
 
5
  import os
6
  import queue
7
  import re
 
8
  import subprocess
9
  import sys
10
  import threading
 
11
  import urllib.error
12
  import urllib.request
 
13
  from pathlib import Path
14
  from typing import Any, Generator
15
 
 
292
  return env
293
 
294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  def _reset_run_state(task_name: str) -> tuple[str, str, str, float, str]:
296
  return (
297
  _code_from_task_name(task_name),
 
546
  ],
547
  outputs=[code_view, terminal, metric, score, rewards],
548
  )