Skip to content

Commit ea8d6c4

Browse files
committed
feat(cli): report the locally installed version in splash and --version
1 parent f5ba2aa commit ea8d6c4

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

‎CodeEntropy/config/argparse.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import yaml
3333

34+
from CodeEntropy import __version__
3435
from CodeEntropy.core.dask_clusters import HPCDaskManager
3536

3637
logger = logging.getLogger(__name__)
@@ -318,6 +319,11 @@ def build_parser(self) -> argparse.ArgumentParser:
318319
parser = argparse.ArgumentParser(
319320
description="CodeEntropy: entropy calculation with the MCC method."
320321
)
322+
parser.add_argument(
323+
"--version",
324+
action="version",
325+
version=f"CodeEntropy {__version__}",
326+
)
321327

322328
for name, spec in self._arg_specs.items():
323329
arg_name = f"--{name}"

‎CodeEntropy/config/runtime.py‎

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from rich.table import Table
3333
from rich.text import Text
3434

35+
from CodeEntropy import __version__
3536
from CodeEntropy.config.argparse import ConfigResolver
3637
from CodeEntropy.core.dask_clusters import HPCDaskManager
3738
from CodeEntropy.core.logging import LoggingConfig
@@ -135,20 +136,21 @@ def load_citation_data(self) -> dict[str, Any] | None:
135136
return None
136137

137138
def show_splash(self) -> None:
138-
"""Render a Rich splash screen with optional citation metadata."""
139+
"""Render a Rich splash screen.
140+
141+
The version shown is that of the locally installed package. Remaining
142+
metadata (authors, description, URL) comes from the online citation file
143+
when it is reachable.
144+
"""
139145
citation = self.load_citation_data()
146+
version_text = Align.center(Text(f"Version {__version__}", style="green"))
140147

141148
if citation:
142149
ascii_title = text2art(citation.get("title", "CodeEntropy"))
143150
ascii_render = Align.center(Text(ascii_title, style="bold white"))
144151

145-
version = citation.get("version", "?")
146-
release_date = citation.get("date-released", "?")
147152
url = citation.get("url", citation.get("repository-code", ""))
148153

149-
version_text = Align.center(
150-
Text(f"Version {version} | Released {release_date}", style="green")
151-
)
152154
url_text = Align.center(Text(url, style="blue underline"))
153155

154156
abstract = citation.get("abstract", "No description available.")
@@ -193,7 +195,7 @@ def show_splash(self) -> None:
193195
else:
194196
ascii_title = text2art("CodeEntropy")
195197
ascii_render = Align.center(Text(ascii_title, style="bold white"))
196-
splash_content = Group(ascii_render)
198+
splash_content = Group(ascii_render, Rule(style="cyan"), version_text)
197199

198200
splash_panel = Panel(
199201
splash_content,

0 commit comments

Comments
 (0)