Source code for modalysis.cli.handlers.server
"""CLI handler for starting the FastAPI server."""
import argparse
import logging
import subprocess
import sys
from pathlib import Path
logger = logging.getLogger(__name__)
_APP_PATH = Path(__file__).resolve().parents[2] / "server" / "main.py"
[docs]
def handle_server(args: argparse.Namespace) -> None:
"""Handle `modalysis server` CLI command."""
logger.info("Starting server on port %s", args.port)
command = "dev" if args.dev else "run"
subprocess.run(
[
sys.executable,
"-m",
"fastapi",
command,
str(_APP_PATH),
"--port",
str(args.port),
"--host",
"localhost",
],
)