From 0917fd7aa149193422d30aaab888b6ce1f642657 Mon Sep 17 00:00:00 2001 From: Jesse Cusack Date: Tue, 7 Oct 2025 11:11:58 -0700 Subject: [PATCH 1/2] add version option --- src/glide/cli.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/glide/cli.py b/src/glide/cli.py index 087e41d..aad7471 100644 --- a/src/glide/cli.py +++ b/src/glide/cli.py @@ -4,6 +4,7 @@ import inspect import logging from pathlib import Path +from importlib.metadata import version import typer from typing_extensions import Annotated @@ -17,6 +18,12 @@ app = typer.Typer() +def version_callback(value: bool): + if value: + typer.echo(f"glide version {version('glide')}") + raise typer.Exit() + + def log_args(func): """Decorator to log all argument names and values to a function using the logging module.""" @@ -48,7 +55,13 @@ def wrapper(*args, **kwargs): @app.callback() -def main(log_level: str = "WARN", log_file: str | None = None) -> None: +def main( + log_level: str = "WARN", + log_file: str | None = None, + version: Annotated[ + bool, typer.Option("--version", "-v", callback=version_callback, help="Show version and exit.") + ] = False, +) -> None: """glide is a command line program for processing Slocum glider data.""" logging.basicConfig( level=getattr(logging, log_level.upper()), From b60cf3a60ee4c86a595f1c0b50b3a7a5c55461f6 Mon Sep 17 00:00:00 2001 From: Jesse Cusack Date: Tue, 7 Oct 2025 11:12:58 -0700 Subject: [PATCH 2/2] fix formatting --- src/glide/cli.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/glide/cli.py b/src/glide/cli.py index aad7471..7dabeee 100644 --- a/src/glide/cli.py +++ b/src/glide/cli.py @@ -3,8 +3,8 @@ import functools import inspect import logging -from pathlib import Path from importlib.metadata import version +from pathlib import Path import typer from typing_extensions import Annotated @@ -56,10 +56,13 @@ def wrapper(*args, **kwargs): @app.callback() def main( - log_level: str = "WARN", + log_level: str = "WARN", log_file: str | None = None, version: Annotated[ - bool, typer.Option("--version", "-v", callback=version_callback, help="Show version and exit.") + bool, + typer.Option( + "--version", "-v", callback=version_callback, help="Show version and exit." + ), ] = False, ) -> None: """glide is a command line program for processing Slocum glider data."""