Newer
Older
sups_yolo / src / sups_yolo / cli.py
"""Command-line interface."""

import click
import uvicorn

from sups_yolo import __version__
from sups_yolo.api.app import create_app


@click.group()
def main() -> None:
    """sups_yolo CLI."""


@main.command()
@click.option("--host", default="0.0.0.0", help="Bind host")
@click.option("--port", default=8000, help="Bind port")
@click.option("--config", default="config/local.json", help="Path to JSON config")
def serve(host: str, port: int, config: str) -> None:
    """Run the web API server."""
    app = create_app({"config_path": config})
    uvicorn.run(app, host=host, port=port)


@main.command()
def version() -> None:
    """Print the package version."""
    click.echo(__version__)


if __name__ == "__main__":
    main()