Files
vllm-omni/vllm_omni/entrypoints/cli/main.py
T

78 lines
2.4 KiB
Python
Raw Normal View History

"""
2025-11-29 04:42:39 -08:00
CLI entry point for vLLM-Omni that intercepts vLLM commands.
"""
2025-11-17 14:44:10 +08:00
import importlib.metadata
import sys
2025-10-24 12:16:48 +08:00
def main():
"""Main CLI entry point that intercepts vLLM commands."""
# Check if --omni flag is present
2025-11-17 14:44:10 +08:00
if "--omni" not in sys.argv:
from vllm.entrypoints.cli.main import main as vllm_main
2025-10-24 12:16:48 +08:00
vllm_main()
2025-11-17 14:44:10 +08:00
return
else:
# Force colored logging even when piped (e.g. `| tee`).
# Must be set before any vLLM import because the logger
# formatter is configured at import time via _use_color().
import os
if "VLLM_LOGGING_COLOR" not in os.environ:
os.environ["VLLM_LOGGING_COLOR"] = "1"
2026-06-14 00:43:02 +08:00
from vllm.entrypoints.serve.utils.api_utils import VLLM_SUBCMD_PARSER_EPILOG, cli_env_setup
2025-11-17 14:44:10 +08:00
import vllm_omni.entrypoints.cli.benchmark.main
2025-11-18 20:54:26 +08:00
import vllm_omni.entrypoints.cli.serve
from vllm_omni.utils.tracking_parser import TrackingArgumentParser
2025-11-18 20:54:26 +08:00
2025-11-17 14:44:10 +08:00
CMD_MODULES = [
vllm_omni.entrypoints.cli.serve,
vllm_omni.entrypoints.cli.benchmark.main,
2025-11-17 14:44:10 +08:00
]
cli_env_setup()
2026-04-04 15:03:32 +08:00
from vllm_omni.entrypoints.cli.serve import _ensure_vllm_platform
_ensure_vllm_platform()
parser = TrackingArgumentParser(
2025-11-17 14:44:10 +08:00
description="vLLM OMNI CLI",
epilog=VLLM_SUBCMD_PARSER_EPILOG.format(subcmd="[subcommand]"),
)
2026-06-01 22:12:24 +08:00
try:
_omni_version = importlib.metadata.version("vllm_omni")
except importlib.metadata.PackageNotFoundError:
try:
from vllm_omni.version import __version__ as _omni_version # type: ignore
except Exception:
_omni_version = "dev"
2025-11-17 14:44:10 +08:00
parser.add_argument(
"-v",
"--version",
action="version",
2026-06-01 22:12:24 +08:00
version=_omni_version,
2025-11-17 14:44:10 +08:00
)
subparsers = parser.add_subparsers(required=False, dest="subparser")
cmds = {}
for cmd_module in CMD_MODULES:
new_cmds = cmd_module.cmd_init()
for cmd in new_cmds:
cmd.subparser_init(subparsers).set_defaults(dispatch_function=cmd.cmd)
cmds[cmd.name] = cmd
args = parser.parse_args()
if args.subparser in cmds:
cmds[args.subparser].validate(args)
if hasattr(args, "dispatch_function"):
args.dispatch_function(args)
else:
parser.print_help()
if __name__ == "__main__":
main()