From fd4776a9ab010b0023569aaf0d5e33cc80f3dd01 Mon Sep 17 00:00:00 2001 From: Liz Gehret Date: Fri, 12 Jun 2026 14:51:22 +0200 Subject: [PATCH 1/3] IMP: info - qiime2 -> rachis name change & add parsl version --- q2cli/builtin/info.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/q2cli/builtin/info.py b/q2cli/builtin/info.py index 136a5a0b..3f6b19be 100644 --- a/q2cli/builtin/info.py +++ b/q2cli/builtin/info.py @@ -19,11 +19,27 @@ def _echo_version(): pyver = sys.version_info click.echo('Python version: %d.%d.%d' % (pyver.major, pyver.minor, pyver.micro)) - click.echo('QIIME 2 release: %s' % qiime2.__release__) - click.echo('QIIME 2 version: %s' % qiime2.__version__) + click.echo('Parsl version: %s' % _get_parsl_ver()) + click.echo('rachis release: %s' % qiime2.__release__) + click.echo('rachis version: %s' % qiime2.__version__) click.echo('q2cli version: %s' % q2cli.__version__) +def _get_parsl_ver(): + import os + import pathlib + + conda_env_prefix = os.environ.get('CONDA_PREFIX') + conda_meta_path = pathlib.Path(conda_env_prefix) / 'conda-meta' + + parsl_ver = None + for file in conda_meta_path.iterdir(): + if file.stem.startswith('parsl'): + # version is in the structure of: parsl-2026.2.23-pyhcf101f3_0 + parsl_ver = file.stem.split('-', 2)[1] + + return parsl_ver + def _echo_plugins(): import q2cli.core.cache From 848f4ab1ce81bad7af87799817c27bd52d2b5bc7 Mon Sep 17 00:00:00 2001 From: Liz Gehret Date: Fri, 12 Jun 2026 14:56:32 +0200 Subject: [PATCH 2/3] linty --- q2cli/builtin/info.py | 1 + 1 file changed, 1 insertion(+) diff --git a/q2cli/builtin/info.py b/q2cli/builtin/info.py index 3f6b19be..80e9fccd 100644 --- a/q2cli/builtin/info.py +++ b/q2cli/builtin/info.py @@ -40,6 +40,7 @@ def _get_parsl_ver(): return parsl_ver + def _echo_plugins(): import q2cli.core.cache From a640245ab56a24bb5afb09362d3937bdc745c560 Mon Sep 17 00:00:00 2001 From: Liz Gehret Date: Fri, 3 Jul 2026 15:05:40 +0200 Subject: [PATCH 3/3] address @ebolyen review comments --- q2cli/builtin/info.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/q2cli/builtin/info.py b/q2cli/builtin/info.py index 80e9fccd..1c2a5291 100644 --- a/q2cli/builtin/info.py +++ b/q2cli/builtin/info.py @@ -28,15 +28,28 @@ def _echo_version(): def _get_parsl_ver(): import os import pathlib + import importlib.metadata - conda_env_prefix = os.environ.get('CONDA_PREFIX') + conda_env_prefix = os.environ.get('CONDA_PREFIX', '') conda_meta_path = pathlib.Path(conda_env_prefix) / 'conda-meta' parsl_ver = None - for file in conda_meta_path.iterdir(): - if file.stem.startswith('parsl'): - # version is in the structure of: parsl-2026.2.23-pyhcf101f3_0 - parsl_ver = file.stem.split('-', 2)[1] + + # prefer the parsl version in conda env if available + if conda_meta_path.exists(): + for file in conda_meta_path.iterdir(): + if file.stem.startswith('parsl-'): + # version is in the structure of: parsl-2026.2.23-pyhcf101f3_0 + parsl_ver = file.stem.split('-', 2)[1] + break + + # fall back to any externally installed version if conda env not detectable + # or if parsl not found in existing conda env + if parsl_ver is None: + try: + parsl_ver = importlib.metadata.version('parsl') + except importlib.metadata.PackageNotFoundError: + pass return parsl_ver