helpers/server_startup.py.dox.md
server_startup.py helper module.server_startup.py because this directory is intentionally flat.server_startup.py owns the runtime implementation.server_startup.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.StartupConfig (no explicit base class)
from_env(cls) -> 'StartupConfig'StartupStageRecord (no explicit base class)StartupMonitor (no explicit base class)
mark(self, stage: str, detail: str | None=...) -> Nonestage(self, stage: str, detail: str | None=...) -> Iterator[None]lifespan(self)attach_server(self, server: uvicorn.Server) -> Nonestart_watchdog(self) -> Nonemark_ready(self, source: str=...) -> Noneis_ready(self) -> boolclose(self) -> None_UvicornServerWrapper (no explicit base class)
shutdown(self) -> None_env_int(name: str, default: int, minimum: int=...) -> int_env_float(name: str, default: float, minimum: float=...) -> floatget_health_probe_host(bind_host: str) -> strrun_uvicorn_with_retries(host: str, port: int, build_asgi_app: Callable[[StartupMonitor], object], flush_callback: Callable[[str], None], access_log: bool=..., log_level: str=..., ws: str=..., startup_config: StartupConfig | None=...) -> None_run_server_attempt(host: str, health_host: str, port: int, startup_monitor: StartupMonitor, build_asgi_app: Callable[[StartupMonitor], object], flush_callback: Callable[[str], None], access_log: bool, log_level: str, ws: str) -> boolwait_for_health(host: str, port: int, startup_monitor: StartupMonitor) -> None_serve_uvicorn(server: uvicorn.Server) -> Noneasyncio, collections, contextlib, dataclasses, faulthandler, helpers, helpers.print_style, os, sys, threading, time, typing, urllib.request, uvicorn.dataclass, get_health_probe_host, PrintStyle.debug, RuntimeError, startup_monitor.start_watchdog, server.config.get_loop_factory, cls, time.monotonic, deque, threading.Event, threading.RLock, self.mark, threading.Thread, self._watchdog_thread.start, self._ready.is_set, self.snapshot, PrintStyle.error, join, StartupConfig.from_env, StartupMonitor.No child DOX files.