RevLogiXenv / server /app.py
AdityaProCoder
Rename docs and package refs to RevLogiXenv and update READMEs
1d63133
Raw History Blame Contribute Delete
1.11 kB
"""FastAPI/OpenEnv application entrypoint for RevLogiXenv."""
from __future__ import annotations
import os
from importlib import import_module
from typing import Any
from RevLogiXenv_v0 import AutonomousReturnsEnv, ReturnsAction, ReturnsObservation
_openenv_env_server = import_module("openenv.core.env_server")
create_fastapi_app = getattr(_openenv_env_server, "create_fastapi_app")
def _env_factory() -> AutonomousReturnsEnv:
task = os.getenv("REVLOGIXENV_TASK", os.getenv("AUTONOMOUS_RETURNS_TASK", "easy")).strip().lower() or "easy"
return AutonomousReturnsEnv(task=task)
def build_app() -> Any:
"""Build the OpenEnv-compatible API-only app."""
return create_fastapi_app(
env=_env_factory,
action_cls=ReturnsAction,
observation_cls=ReturnsObservation,
)
app = build_app()
def main(host: str = "0.0.0.0", port: int = 8000) -> None:
run_port = int(os.getenv("PORT", str(port)))
uvicorn = import_module("uvicorn")
uvicorn.run(build_app(), host=host, port=run_port)
__all__ = ["app", "build_app", "main"]
if __name__ == "__main__":
main()