[model-gateway] include smg version command in py binding (#14274)
This commit is contained in:
@@ -15,6 +15,8 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
|
from sglang_router.sglang_router_rs import get_short_version_string, get_version_string
|
||||||
|
|
||||||
|
|
||||||
def create_parser() -> argparse.ArgumentParser:
|
def create_parser() -> argparse.ArgumentParser:
|
||||||
"""Create the main CLI parser with subcommands."""
|
"""Create the main CLI parser with subcommands."""
|
||||||
@@ -51,6 +53,14 @@ def main(argv: Optional[List[str]] = None) -> None:
|
|||||||
if argv is None:
|
if argv is None:
|
||||||
argv = sys.argv[1:]
|
argv = sys.argv[1:]
|
||||||
|
|
||||||
|
# Handle version flags before parsing
|
||||||
|
if argv and argv[0] in ["--version", "-V"]:
|
||||||
|
if argv[0] == "--version":
|
||||||
|
print(get_version_string())
|
||||||
|
else:
|
||||||
|
print(get_short_version_string())
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
# Handle empty command - show help
|
# Handle empty command - show help
|
||||||
if not argv or argv[0] not in ["launch", "server", "-h", "--help"]:
|
if not argv or argv[0] not in ["launch", "server", "-h", "--help"]:
|
||||||
parser = create_parser()
|
parser = create_parser()
|
||||||
|
|||||||
@@ -704,6 +704,18 @@ impl Router {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get formatted version information string with full build details
|
||||||
|
#[pyfunction]
|
||||||
|
fn get_version_string() -> String {
|
||||||
|
version::get_version_string()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get short version information string
|
||||||
|
#[pyfunction]
|
||||||
|
fn get_short_version_string() -> String {
|
||||||
|
version::get_short_version_string()
|
||||||
|
}
|
||||||
|
|
||||||
#[pymodule]
|
#[pymodule]
|
||||||
fn sglang_router_rs(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
fn sglang_router_rs(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
||||||
m.add_class::<PolicyType>()?;
|
m.add_class::<PolicyType>()?;
|
||||||
@@ -712,5 +724,7 @@ fn sglang_router_rs(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|||||||
m.add_class::<PyOracleConfig>()?;
|
m.add_class::<PyOracleConfig>()?;
|
||||||
m.add_class::<PyPostgresConfig>()?;
|
m.add_class::<PyPostgresConfig>()?;
|
||||||
m.add_class::<Router>()?;
|
m.add_class::<Router>()?;
|
||||||
|
m.add_function(wrap_pyfunction!(get_version_string, m)?)?;
|
||||||
|
m.add_function(wrap_pyfunction!(get_short_version_string, m)?)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user