From 31f34885682c4953703f71294096b9e88f1197c7 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Sat, 14 Sep 2024 23:49:01 +0200 Subject: [PATCH 01/12] maint: add new dependency to nightly build on CircleCI --- .circleci/config.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0dfa7a6d..8ed106af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -273,6 +273,11 @@ workflows: only: - master jobs: + - build: + context: + - nipreps-common - tests: context: - nipreps-common + requires: + - build From 1aa25f03293da6c0dbeb511d9e661ee650b2b169 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Sun, 15 Sep 2024 00:17:22 +0200 Subject: [PATCH 02/12] maint: add exercising of cli with coverage --- .circleci/config.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8ed106af..c0c3f174 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,8 +126,14 @@ jobs: mkdir -p ~/tests/ ~/coverage/ export TEMPLATEFLOW_USE_DATALAD=on python -m pytest \ - --junit-xml=~/tests/datalad.xml --cov templateflow --cov-report xml:~/coverage/cov_api_dl.xml \ - --doctest-modules templateflow/api.py + --junit-xml=~/tests/datalad.xml --cov templateflow --doctest-modules \ + templateflow/api.py + + coverage run --append -m templateflow.cli config + coverage run --append -m templateflow.cli ls MNI152NLin2009cAsym --suffix T1w + coverage run --append -m templateflow.cli get MNI152NLin2009cAsym --suffix mask + coverage run --append -m templateflow.cli update + coverage xml -o ~/coverage/cov_api_dl.xml - codecov/upload: file: ~/coverage/cov_api_dl.xml @@ -140,8 +146,13 @@ jobs: export TEMPLATEFLOW_USE_DATALAD=off export TEMPLATEFLOW_HOME=$HOME/templateflow-s3 python -m pytest \ - --junit-xml=~/tests/s3.xml --cov templateflow --cov-report xml:~/coverage/cov_api_s3.xml \ - --doctest-modules templateflow/api.py + --junit-xml=~/tests/s3.xml --cov templateflow --doctest-modules templateflow/api.py + + coverage run --append -m templateflow.cli config + coverage run --append -m templateflow.cli ls MNI152NLin2009cAsym --suffix T1w + coverage run --append -m templateflow.cli get MNI152NLin2009cAsym --suffix mask + coverage run --append -m templateflow.cli update + coverage xml -o ~/coverage/cov_api_s3.xml - codecov/upload: file: ~/coverage/cov_api_s3.xml From cb7a35bf9c20a917498ca396c99d5ba9882cbedc Mon Sep 17 00:00:00 2001 From: templateflow-bot Date: Mon, 11 Aug 2025 14:48:22 -0400 Subject: [PATCH 03/12] auto: Update S3 skeleton file and checksum [skip ci] Note: Several updates squashed to reduce repository debris - CJM --- templateflow/conf/templateflow-skel.md5 | 2 +- templateflow/conf/templateflow-skel.zip | Bin 1322008 -> 1338390 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/templateflow/conf/templateflow-skel.md5 b/templateflow/conf/templateflow-skel.md5 index d6259748..cc9f6de2 100644 --- a/templateflow/conf/templateflow-skel.md5 +++ b/templateflow/conf/templateflow-skel.md5 @@ -1 +1 @@ -2c49f134299f66f514faa5dd8cf4b64f - +0817bbb0e75461d87e389427470b48e8 - diff --git a/templateflow/conf/templateflow-skel.zip b/templateflow/conf/templateflow-skel.zip index 8727b9c03d49f483a635ea491cf29b782b2f2859..60c1eacff37b024cc0777a5f4f91b0f3ea9eec89 100644 GIT binary patch delta 298708 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 z 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 Date: Mon, 11 Aug 2025 14:21:06 -0400 Subject: [PATCH 04/12] chore: Drop Python 3.8 support, test on 3.13 --- .circleci/config.yml | 6 +++--- .github/workflows/pythonpackage.yml | 2 +- pyproject.toml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c0c3f174..7740f589 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ jobs: build: executor: name: python/default - tag: '3.12' + tag: '3.13' # docker: # - auth: @@ -38,7 +38,7 @@ jobs: deploy_pypi: executor: name: python/default - tag: '3.12' + tag: '3.13' # docker: # - auth: @@ -60,7 +60,7 @@ jobs: tests: executor: name: python/default - tag: '3.12' + tag: '3.13' # docker: # - auth: diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index b988f68f..06a143a8 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -63,7 +63,7 @@ jobs: needs: build strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] mode: ['wheel'] include: - {python-version: '3.11', mode: 'repo'} diff --git a/pyproject.toml b/pyproject.toml index 51e999f9..b2eb8f3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,14 +12,14 @@ classifiers = [ "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Image Recognition", "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] license = {file = "LICENSE"} -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ "pybids >= 0.15.2", "importlib_resources >= 5.7; python_version < '3.11'", From 341eff1200b1ac33ff5ffef4d55047855e3178ed Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Mon, 11 Aug 2025 14:21:24 -0400 Subject: [PATCH 05/12] chore: Do not cap datalad version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b2eb8f3e..59f87c39 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ test = [ "toml", ] datalad = [ - "datalad ~= 1.0.0" + "datalad >= 1.0.0" ] doc = [ "nbsphinx", From f5ffabadcadc51998e5945b9a0879100e56d83bf Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Mon, 11 Aug 2025 14:25:03 -0400 Subject: [PATCH 06/12] chore(ci): Install git-annex from PyPI --- .circleci/config.yml | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7740f589..cd1217da 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,37 +70,19 @@ jobs: environment: - OSF_MIRROR_PATH: /tmp/data/templateflow steps: - - restore_cache: - keys: - - annex-v1-{{ epoch }} - - annex-v1- - run: - name: Install git and git-annex + name: Configure git command: | - if [[ ! -e "/tmp/cache/git-annex-standalone.tar.gz" ]]; then - wget -O- http://neuro.debian.net/lists/focal.us-ca.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list - sudo apt-key add .neurodebian/neurodebian.gpg - sudo apt-key adv --recv-keys --keyserver hkps://keys.openpgp.org 0xA5D32F012649A5A9 || true - sudo apt update && sudo apt-get install -y --no-install-recommends git-annex-standalone - mkdir -p /tmp/cache - tar czvf /tmp/cache/git-annex-standalone.tar.gz /usr/bin/git-annex /usr/bin/git-annex-shell /usr/lib/git-annex.linux - else - sudo tar xzfv /tmp/cache/git-annex-standalone.tar.gz -C / - fi git config --global user.name "First Last" git config --global user.email "email@domain.com" - - save_cache: - key: annex-v1-{{ epoch }} - paths: - - "/tmp/cache" - - attach_workspace: at: ~/project - run: command: | python .maint/update_requirements.py + echo git-annex >> dev-requirements.txt name: Generate requirements.txt - python/install-packages: From 951404e27e97677b4e62ef4d784b036f634f9779 Mon Sep 17 00:00:00 2001 From: Chris Markiewicz Date: Tue, 19 Nov 2024 12:53:50 -0500 Subject: [PATCH 07/12] test(cli): Verify get and ls behavior for 1 and multiple files --- templateflow/tests/test_cli.py | 77 ++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 templateflow/tests/test_cli.py diff --git a/templateflow/tests/test_cli.py b/templateflow/tests/test_cli.py new file mode 100644 index 00000000..279b4e9a --- /dev/null +++ b/templateflow/tests/test_cli.py @@ -0,0 +1,77 @@ +from pathlib import Path + +import click.testing + +from .. import cli + + +def test_ls_one(): + runner = click.testing.CliRunner() + + result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w']) + + # One result + lines = result.output.strip().splitlines() + assert len(lines) == 1 + + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] + + path = Path(lines[0]) + + assert path.exists() + + +def test_ls_multi(): + runner = click.testing.CliRunner() + + result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) + + # Two results + lines = result.output.strip().splitlines() + assert len(lines) == 2 + + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T2w.nii.gz' in lines[1] + + paths = [Path(line) for line in lines] + + assert all(path.exists() for path in paths) + + +def test_get_one(): + runner = click.testing.CliRunner() + + result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w']) + + # One result, possible download status before + lines = result.output.strip().splitlines()[-2:] + if len(lines) == 2: + assert lines[0].startswith('100%') + lines.pop(0) + + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] + + path = Path(lines[0]) + + stat_res = path.stat() + assert stat_res.st_size == 10669511 + + +def test_get_multi(): + runner = click.testing.CliRunner() + + result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) + + # Two result, possible download status before + lines = result.output.strip().splitlines()[-3:] + if len(lines) == 3: + assert lines[0].startswith('100%') + lines.pop(0) + + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] + assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T2w.nii.gz' in lines[1] + + paths = [Path(line) for line in lines] + + stats = [path.stat() for path in paths] + assert [stat_res.st_size for stat_res in stats] == [10669511, 10096230] From b4d1f567e1c012f5e30ef9abe83f012bc2507c89 Mon Sep 17 00:00:00 2001 From: Chris Markiewicz Date: Tue, 19 Nov 2024 12:54:59 -0500 Subject: [PATCH 08/12] fix(cli): Fix crash in templateflow get when matching one file --- templateflow/cli.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templateflow/cli.py b/templateflow/cli.py index f536eed1..ce04d26e 100644 --- a/templateflow/cli.py +++ b/templateflow/cli.py @@ -141,7 +141,9 @@ def ls(template, **kwargs): def get(template, **kwargs): """Fetch the assets corresponding to template and optional filters.""" entities = {k: _nulls(v) for k, v in kwargs.items() if v != ''} - click.echo('\n'.join(f'{match}' for match in api.get(template, **entities))) + paths = api.get(template, **entities) + filenames = [str(paths)] if isinstance(paths, Path) else [str(file) for file in paths] + click.echo('\n'.join(filenames)) if __name__ == '__main__': From 39111081b5997ab3392479ec2501f0d4cc4a8c33 Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Mon, 11 Aug 2025 15:47:39 -0400 Subject: [PATCH 09/12] test: Check stdout, not combined stdout/stderr --- templateflow/tests/test_cli.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/templateflow/tests/test_cli.py b/templateflow/tests/test_cli.py index 279b4e9a..721e7ba8 100644 --- a/templateflow/tests/test_cli.py +++ b/templateflow/tests/test_cli.py @@ -11,7 +11,7 @@ def test_ls_one(): result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w']) # One result - lines = result.output.strip().splitlines() + lines = result.stdout.strip().splitlines() assert len(lines) == 1 assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] @@ -27,7 +27,7 @@ def test_ls_multi(): result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) # Two results - lines = result.output.strip().splitlines() + lines = result.stdout.strip().splitlines() assert len(lines) == 2 assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] @@ -44,10 +44,7 @@ def test_get_one(): result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w']) # One result, possible download status before - lines = result.output.strip().splitlines()[-2:] - if len(lines) == 2: - assert lines[0].startswith('100%') - lines.pop(0) + lines = result.stdout.strip().splitlines()[-2:] assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] @@ -63,10 +60,7 @@ def test_get_multi(): result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) # Two result, possible download status before - lines = result.output.strip().splitlines()[-3:] - if len(lines) == 3: - assert lines[0].startswith('100%') - lines.pop(0) + lines = result.stdout.strip().splitlines()[-3:] assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T1w.nii.gz' in lines[0] assert 'tpl-MNI152Lin/tpl-MNI152Lin_res-01_T2w.nii.gz' in lines[1] From e48c4cfcb5e00ace38868099d933b9a770c33e73 Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Tue, 12 Aug 2025 11:41:25 -0400 Subject: [PATCH 10/12] test: Make fixture for CliRunner --- templateflow/tests/test_cli.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/templateflow/tests/test_cli.py b/templateflow/tests/test_cli.py index 721e7ba8..141b70db 100644 --- a/templateflow/tests/test_cli.py +++ b/templateflow/tests/test_cli.py @@ -1,13 +1,17 @@ from pathlib import Path import click.testing +import pytest from .. import cli -def test_ls_one(): - runner = click.testing.CliRunner() +@pytest.fixture +def runner(): + return click.testing.CliRunner() + +def test_ls_one(runner): result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w']) # One result @@ -21,9 +25,7 @@ def test_ls_one(): assert path.exists() -def test_ls_multi(): - runner = click.testing.CliRunner() - +def test_ls_multi(runner): result = runner.invoke(cli.main, ['ls', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) # Two results @@ -38,9 +40,7 @@ def test_ls_multi(): assert all(path.exists() for path in paths) -def test_get_one(): - runner = click.testing.CliRunner() - +def test_get_one(runner): result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w']) # One result, possible download status before @@ -54,9 +54,7 @@ def test_get_one(): assert stat_res.st_size == 10669511 -def test_get_multi(): - runner = click.testing.CliRunner() - +def test_get_multi(runner): result = runner.invoke(cli.main, ['get', 'MNI152Lin', '--res', '1', '-s', 'T1w', '-s', 'T2w']) # Two result, possible download status before From 582b187979b1d8874428689758b9563cf028623b Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Tue, 12 Aug 2025 12:13:21 -0400 Subject: [PATCH 11/12] sty: ruff format [ignore-rev] --- docs/conf.py | 3 +-- templateflow/api.py | 10 +++------- templateflow/cli.py | 2 +- templateflow/tests/test_api.py | 6 +++--- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6d778bcb..a9d8b88d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,8 +24,7 @@ # The short X.Y version version = ( - __version__ if Version(release).public == release - else f"dev ({release.partition('+')[0]})" + __version__ if Version(release).public == release else f'dev ({release.partition("+")[0]})' ) # -- General configuration --------------------------------------------------- diff --git a/templateflow/api.py b/templateflow/api.py index 6d1d51f0..b1aa8ca5 100644 --- a/templateflow/api.py +++ b/templateflow/api.py @@ -176,22 +176,18 @@ def get(template, raise_empty=False, **kwargs): if not_fetched: msg = 'Could not fetch template files: {}.'.format(', '.join(not_fetched)) if dl_missing and not TF_USE_DATALAD: - msg += ( - f"""\ + msg += f"""\ The $TEMPLATEFLOW_HOME folder {TF_LAYOUT.root} seems to contain an initiated DataLad \ dataset, but the environment variable $TEMPLATEFLOW_USE_DATALAD is not \ set or set to one of (false, off, 0). Please set $TEMPLATEFLOW_USE_DATALAD \ on (possible values: true, on, 1).""" - ) if s3_missing and TF_USE_DATALAD: - msg += ( - f"""\ + msg += f"""\ The $TEMPLATEFLOW_HOME folder {TF_LAYOUT.root} seems to contain an plain \ dataset, but the environment variable $TEMPLATEFLOW_USE_DATALAD is \ set to one of (true, on, 1). Please set $TEMPLATEFLOW_USE_DATALAD \ off (possible values: false, off, 0).""" - ) raise RuntimeError(msg) @@ -394,5 +390,5 @@ def _normalize_ext(value): return value if isinstance(value, str): - return f"{'' if value.startswith('.') else '.'}{value}" + return f'{"" if value.startswith(".") else "."}{value}' return [_normalize_ext(v) for v in value] diff --git a/templateflow/cli.py b/templateflow/cli.py index ce04d26e..59453ced 100644 --- a/templateflow/cli.py +++ b/templateflow/cli.py @@ -61,7 +61,7 @@ def entity_opts(): entities = json.loads(Path(load_data('conf/config.json')).read_text())['entities'] args = [ - (f"--{e['name']}", *ENTITY_SHORTHANDS.get(e['name'], ())) + (f'--{e["name"]}', *ENTITY_SHORTHANDS.get(e['name'], ())) for e in entities if e['name'] not in ENTITY_EXCLUDE ] diff --git a/templateflow/tests/test_api.py b/templateflow/tests/test_api.py index fe2aea3b..6cf83eb6 100644 --- a/templateflow/tests/test_api.py +++ b/templateflow/tests/test_api.py @@ -85,9 +85,9 @@ def assert_same(self, other): assert self.citekey == other.citekey, 'Mismatched citekeys' for key in self.pairs.keys(): assert key in other.pairs, f'Key ({key}) missing from other' - assert ( - self.pairs[key] == other.pairs[key] - ), f'Key ({key}) mismatched\n\n{self.pairs[key]}\n\n{other.pairs[key]}' + assert self.pairs[key] == other.pairs[key], ( + f'Key ({key}) mismatched\n\n{self.pairs[key]}\n\n{other.pairs[key]}' + ) for key in other.pairs.keys(): assert key in self.pairs, f'Key ({key}) missing from pairs' From 33240f182b81b9180712d7ae5ac4130a0bab1676 Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Tue, 12 Aug 2025 12:15:10 -0400 Subject: [PATCH 12/12] doc: 25.0.0 release notes --- CHANGES.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 2b79878a..99b9e103 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,10 @@ +25.0.0 (August 12, 2025) +======================== +Minor release including updated templates. + +* FIX: Fix crash in templateflow get when matching one file (#140) +* MAINT: Update Python support, datalad and git-annex deps (#143) + 24.2.2 (September 14, 2024) =========================== Patch release containing one bugfix and updating the default skeleton.