Somin-Aggarwal commited on
Commit
f84ee46
·
verified ·
1 Parent(s): c31019a

Create app.py

Browse files
Files changed (1) hide show
  1. server/app.py +49 -0
server/app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ FastAPI application for the Annotation QA Environment.
3
+
4
+ Wires up the environment to the OpenEnv HTTP/WebSocket server.
5
+
6
+ Usage:
7
+ # Development (with auto-reload):
8
+ uvicorn server.app:app --reload --host 0.0.0.0 --port 8000
9
+
10
+ # Production:
11
+ uvicorn server.app:app --host 0.0.0.0 --port 8000 --workers 4
12
+
13
+ # Or run directly:
14
+ uv run --project . server
15
+ """
16
+
17
+ try:
18
+ from openenv.core.env_server.http_server import create_app
19
+ except ImportError:
20
+ # Minimal fallback for standalone testing
21
+ from openenv.core.env_server import create_fastapi_app as create_app
22
+
23
+ from .environment import AnnotationQAEnvironment
24
+
25
+ # Import models for type registration
26
+ import sys
27
+ import os
28
+
29
+ # Add parent to path for model imports
30
+ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
31
+ from models import AnnotationQAAction, AnnotationQAObservation
32
+
33
+ # Create the app
34
+ app = create_app(
35
+ AnnotationQAEnvironment,
36
+ AnnotationQAAction,
37
+ AnnotationQAObservation,
38
+ env_name="annotation_qa_env",
39
+ )
40
+
41
+
42
+ def main():
43
+ """Entry point for direct execution."""
44
+ import uvicorn
45
+ uvicorn.run(app, host="0.0.0.0", port=8000)
46
+
47
+
48
+ if __name__ == "__main__":
49
+ main()