Download server/app.py from Vishvam10/cloudenv: direct link, hf CLI and curl.
- Browser
- Download file 2.23 kB
-
https://huggingface.co/spaces/Vishvam10/cloudenv/resolve/main/server/app.py
- Command line
-
hf download hf://spaces/Vishvam10/cloudenv/server/app.py
-
curl -L -o app.py https://huggingface.co/spaces/Vishvam10/cloudenv/resolve/main/server/app.py
2.23 kB
| from fastapi import Request | |
| from fastapi.responses import JSONResponse | |
| from openenv.core.env_server.http_server import create_fastapi_app | |
| from cloudenv.models import CloudEnvAction, CloudEnvObservation | |
| from cloudenv.server.api.pipeline.api import router as PipelineApiRouter | |
| from cloudenv.server.cloudenv_environment import CloudEnvironment | |
| from cloudenv.server.exceptions import CloudEnvException | |
| from cloudenv.server.managers.pipeline_manager import PipelineManager | |
| from cloudenv.server.providers.aws.adapter import AWSAdapter | |
| from cloudenv.server.providers.aws.audit_logger import AwsApiAuditLogger | |
| from cloudenv.server.providers.aws.iam_enforcer import IAMEnforcer | |
| audit_logger = AwsApiAuditLogger() | |
| iam_enforcer = IAMEnforcer() | |
| aws_adapter = AWSAdapter(audit_logger=audit_logger, iam_enforcer=iam_enforcer) | |
| pipeline_manager = PipelineManager( | |
| audit_logger=audit_logger, iam_enforcer=iam_enforcer | |
| ) | |
| cloud_env = CloudEnvironment( | |
| aws=aws_adapter, | |
| pipeline_manager=pipeline_manager, | |
| ) | |
| def cloud_environment_factory() -> CloudEnvironment: | |
| return cloud_env | |
| app = create_fastapi_app( | |
| cloud_environment_factory, | |
| CloudEnvAction, | |
| CloudEnvObservation, | |
| max_concurrent_envs=1, | |
| ) | |
| app.state.pipeline_manager = pipeline_manager | |
| app.state.aws_adapter = aws_adapter | |
| app.include_router(prefix="/api", router=PipelineApiRouter) | |
| async def cloud_env_exception_handler(request: Request, exc: CloudEnvException): | |
| return JSONResponse( | |
| status_code=exc.status_code, | |
| content={ | |
| "error": exc.error_code, | |
| "message": str(exc), | |
| "detail": exc.detail, | |
| }, | |
| ) | |
| def main(): | |
| import argparse | |
| import uvicorn | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--host", type=str, default="0.0.0.0") | |
| parser.add_argument("--port", type=int, default=8000) | |
| args = parser.parse_args() | |
| uvicorn.run(app, host=args.host, port=args.port) | |
| if __name__ == "__main__": | |
| main() | |
| # # ------------------------------- | |
| # # Run server | |
| # # ------------------------------- | |
| # def main(): | |
| # import uvicorn | |
| # uvicorn.run("cloudenv.server.app:app") | |
| # if __name__ == "__main__": | |
| # main() | |