burtenshaw HF Staff commited on
Commit
c197fa3
·
verified ·
1 Parent(s): 97efaa7

Upload src/envs/echo_env/server/app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. src/envs/echo_env/server/app.py +32 -2
src/envs/echo_env/server/app.py CHANGED
@@ -14,6 +14,9 @@ Usage:
14
  # Development (with auto-reload):
15
  uvicorn envs.echo_env.server.app:app --reload --host 0.0.0.0 --port 8000
16
 
 
 
 
17
  # Production:
18
  uvicorn envs.echo_env.server.app:app --host 0.0.0.0 --port 8000 --workers 4
19
 
@@ -33,7 +36,34 @@ env = EchoEnvironment()
33
  app = create_app(env, EchoAction, EchoObservation, env_name="echo_env")
34
 
35
 
36
- if __name__ == "__main__":
 
37
  import uvicorn
38
 
39
- uvicorn.run(app, host="0.0.0.0", port=8000)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  # Development (with auto-reload):
15
  uvicorn envs.echo_env.server.app:app --reload --host 0.0.0.0 --port 8000
16
 
17
+ # With the packaged CLI (auto-reload enabled via flag):
18
+ server --reload --host 0.0.0.0 --port 8000
19
+
20
  # Production:
21
  uvicorn envs.echo_env.server.app:app --host 0.0.0.0 --port 8000 --workers 4
22
 
 
36
  app = create_app(env, EchoAction, EchoObservation, env_name="echo_env")
37
 
38
 
39
+ def main(host: str = "0.0.0.0", port: int = 8000, *, reload: bool = False) -> None:
40
+ """Run the Echo environment server with Uvicorn."""
41
  import uvicorn
42
 
43
+ uvicorn.run(
44
+ "envs.echo_env.server.app:app",
45
+ host=host,
46
+ port=port,
47
+ reload=reload,
48
+ )
49
+
50
+
51
+ def cli(argv: list[str] | None = None) -> None:
52
+ """Entry point for the packaged console script."""
53
+ import argparse
54
+ parser = argparse.ArgumentParser(description="Run the Echo Environment HTTP server.")
55
+ parser.add_argument("--host", default="0.0.0.0", help="Host interface to bind.")
56
+ parser.add_argument(
57
+ "--port", type=int, default=8000, help="Port number to expose the server on."
58
+ )
59
+ parser.add_argument(
60
+ "--reload",
61
+ action="store_true",
62
+ help="Enable the uvicorn reload watcher (development only).",
63
+ )
64
+ args = parser.parse_args(argv)
65
+ main(host=args.host, port=args.port, reload=args.reload)
66
+
67
+
68
+ if __name__ == "__main__":
69
+ cli()