From f5275240f16010271de4f231dfca7e900015b3e8 Mon Sep 17 00:00:00 2001 From: Tim O'Donnell Date: Tue, 18 Nov 2025 10:46:43 -0500 Subject: [PATCH] Version bump; add boltzgen -v to get package version --- pyproject.toml | 5 +++-- src/boltzgen/cli/boltzgen.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 86ca24c..8d141b5 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,8 +9,9 @@ build-backend = "setuptools.build_meta" [project] name = "boltzgen" requires-python = ">=3.9" -#dynamic = ["version"] -version = "0.1.3" +version = "0.1.4" +readme = "README.md" +description = "Protein design" dependencies = [ # Add runtime dependencies here "numpy==2.0.2", diff --git a/src/boltzgen/cli/boltzgen.py b/src/boltzgen/cli/boltzgen.py index 47c5090..f32ac98 100644 --- a/src/boltzgen/cli/boltzgen.py +++ b/src/boltzgen/cli/boltzgen.py @@ -50,6 +50,7 @@ from boltzgen.data.mol import load_canonicals from boltzgen.data.parse.schema import YamlDesignParser from boltzgen.data.write.mmcif import to_mmcif from boltzgen.task.task import Task +from importlib.metadata import PackageNotFoundError, version as pkg_version ### Paths and constants #### # Get the path to the project root (where main.py and configs/ are located) @@ -487,6 +488,19 @@ def build_parser() -> argparse.ArgumentParser: prog="boltzgen", description="Boltzgen command line interface", ) + # Support: boltzgen -v / --version + def get_package_version() -> str: + try: + return pkg_version("boltzgen") + except PackageNotFoundError: + return "unknown" + parser.add_argument( + "-v", + "--version", + action="version", + version=f"boltzgen {get_package_version()}", + help="Print version and exit", + ) subparsers = parser.add_subparsers(dest="command", required=True) build_run_parser(subparsers) build_configure_parser(subparsers)