@@ -43,13 +43,14 @@ async def health_check() -> Ok:
4343 return Ok ()
4444
4545
46- def run_server (
46+ def run_server ( # noqa PLR0913
4747 * ,
4848 host : str = "127.0.0.1" ,
4949 port : int = 8001 ,
5050 frontend_host : str | None = None ,
5151 frontend_port : int | None = None ,
5252 token : str | None = None ,
53+ reload : bool = False ,
5354) -> None :
5455 """Starts the API server."""
5556 if token :
@@ -73,13 +74,23 @@ def signal_handler(signum: int, frame: FrameType | None) -> None:
7374 signal .signal (signal .SIGINT , signal_handler )
7475 signal .signal (signal .SIGTERM , signal_handler )
7576
76- server_config = uvicorn .Config (app = app , host = host , port = port )
77- server = uvicorn .Server (server_config )
78-
79- try :
80- asyncio .run (server .serve ())
81- except KeyboardInterrupt :
82- sys .exit (0 )
77+ if reload :
78+ uvicorn .run (
79+ app = "fmu_settings_api.__main__:app" ,
80+ host = host ,
81+ port = port ,
82+ reload = True ,
83+ reload_dirs = ["src" ],
84+ reload_includes = [".env" ],
85+ )
86+ else :
87+ server_config = uvicorn .Config (app = app , host = host , port = port )
88+ server = uvicorn .Server (server_config )
89+
90+ try :
91+ asyncio .run (server .serve ())
92+ except KeyboardInterrupt :
93+ sys .exit (0 )
8394
8495
8596if __name__ == "__main__" :
0 commit comments