From d2bda909aec82ca31ddcccc494b8d0c84b01fc90 Mon Sep 17 00:00:00 2001 From: Kai Chappell Date: Mon, 1 Dec 2025 23:51:49 +0000 Subject: [PATCH] Add CLI entry point with version command --- src/py_dvt_ate/cli/main.py | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/py_dvt_ate/cli/main.py diff --git a/src/py_dvt_ate/cli/main.py b/src/py_dvt_ate/cli/main.py new file mode 100644 index 0000000..b9f1545 --- /dev/null +++ b/src/py_dvt_ate/cli/main.py @@ -0,0 +1,40 @@ +"""Command-line interface for py_dvt_ate.""" + +from typing import Annotated, Optional + +import typer + +from py_dvt_ate import __version__ + +app = typer.Typer( + name="py-dvt-ate", + help="Coupled Physics DVT Simulation Platform", + add_completion=False, +) + + +def version_callback(value: bool) -> None: + """Print version and exit.""" + if value: + typer.echo(f"py-dvt-ate version {__version__}") + raise typer.Exit() + + +@app.callback() +def main( + version: Annotated[ + Optional[bool], + typer.Option( + "--version", + "-v", + help="Show version and exit.", + callback=version_callback, + is_eager=True, + ), + ] = None, +) -> None: + """py-dvt-ate: Coupled Physics DVT Simulation Platform.""" + + +if __name__ == "__main__": + app()