From a878748973f0a6328945edf69f9c825ef8002ce6 Mon Sep 17 00:00:00 2001 From: Tom Close Date: Wed, 21 Aug 2024 14:09:45 +1000 Subject: [PATCH 1/6] changes to match frametree refactor --- pydra2app/xnat/image.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pydra2app/xnat/image.py b/pydra2app/xnat/image.py index bbaed3a..7a8591e 100644 --- a/pydra2app/xnat/image.py +++ b/pydra2app/xnat/image.py @@ -6,7 +6,7 @@ from neurodocker.reproenv import DockerRenderer from frametree.xnat import XnatViaCS from frametree.core.serialize import ClassResolver, ObjectConverter -from frametree.core.store import DataStore +from frametree.core.store import Store from pydra2app.core.image import App from .command import XnatCommand @@ -121,7 +121,7 @@ def save_store_config( else: ip_address = "host.docker.internal" # Mac/Windows local debug xnat_cs_store_entry["server"] = "http://" + ip_address + ":8080" - DataStore.save_configs( + Store.save_configs( {"xnat-cs": xnat_cs_store_entry}, config_path=build_dir / "stores.yaml" ) dockerfile.run(command="mkdir -p /root/.pydra2app") From 152b6dfaf68a835477ca873eea33a70f77b6fa59 Mon Sep 17 00:00:00 2001 From: Tom Close Date: Wed, 21 Aug 2024 17:40:46 +1000 Subject: [PATCH 2/6] renamed dataset to grid --- conftest.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conftest.py b/conftest.py index 58d50e7..0d4eeda 100644 --- a/conftest.py +++ b/conftest.py @@ -22,7 +22,7 @@ import medimages4tests.dummy.dicom.mri.fmap.siemens.skyra.syngo_d13c from pydra2app.core.image.base import BaseImage from frametree.common import Clinical -from frametree.core.set import Dataset +from frametree.core.grid import Grid from fileformats.medimage import NiftiGzX, NiftiGz, DicomSeries, NiftiX from fileformats.text import Plain as Text from fileformats.image import Png @@ -380,7 +380,7 @@ def access_dataset( access_method: str, xnat_repository: Xnat, xnat_archive_dir: Path, -) -> Dataset: +) -> Grid: if access_method == "cs": proj_dir = xnat_archive_dir / project_id / "arc001" store = XnatViaCS( From 934eb5065be7ad5c079a87b6c1b2f3c59bf33889 Mon Sep 17 00:00:00 2001 From: Tom Close Date: Fri, 23 Aug 2024 15:11:40 +1000 Subject: [PATCH 3/6] renamed pydra2app to pipeline2app --- conftest.py | 30 ++++++++++---------- pydra2app/xnat/cli/base.py | 2 +- pydra2app/xnat/cli/entrypoint.py | 12 ++++---- pydra2app/xnat/cli/release.py | 6 ++-- pydra2app/xnat/command.py | 16 +++++------ pydra2app/xnat/deploy.py | 6 ++-- pydra2app/xnat/image.py | 6 ++-- pydra2app/xnat/tests/test_app.py | 20 ++++++------- pydra2app/xnat/tests/test_cli_xnat_images.py | 6 ++-- pyproject.toml | 16 +++++------ scripts/quick_tst.py | 4 +-- 11 files changed, 62 insertions(+), 62 deletions(-) diff --git a/conftest.py b/conftest.py index 0d4eeda..820e1a6 100644 --- a/conftest.py +++ b/conftest.py @@ -20,9 +20,9 @@ import xnat4tests import medimages4tests.dummy.nifti import medimages4tests.dummy.dicom.mri.fmap.siemens.skyra.syngo_d13c -from pydra2app.core.image.base import BaseImage +from pipeline2app.core.image.base import BaseImage from frametree.common import Clinical -from frametree.core.grid import Grid +from frametree.core.frameset import FrameSet from fileformats.medimage import NiftiGzX, NiftiGz, DicomSeries, NiftiX from fileformats.text import Plain as Text from fileformats.image import Png @@ -129,7 +129,7 @@ def arcana_home(work_dir): TEST_XNAT_DATASET_BLUEPRINTS = { "basic": TestXnatDatasetBlueprint( # dataset name - dim_lengths=[1, 1, 3], # number of timepoints, groups and members respectively + dim_lengths=[1, 1, 3], # number of visits, groups and members respectively scans=[ ScanBP( name="scan1", # scan type (ID is index) @@ -190,7 +190,7 @@ def arcana_home(work_dir): derivatives=[ FileBP( path="deriv1", - row_frequency=Clinical.timepoint, + row_frequency=Clinical.visit, datatype=Text, filenames=["file.txt"], ), @@ -202,20 +202,20 @@ def arcana_home(work_dir): ), FileBP( path="deriv3", - row_frequency=Clinical.batch, + row_frequency=Clinical.groupedvisit, datatype=Directory, filenames=["dir"], ), FileBP( path="deriv4", - row_frequency=Clinical.dataset, + row_frequency=Clinical.constant, datatype=Text, filenames=["file.txt"], ), ], ), "multi": TestXnatDatasetBlueprint( # dataset name - dim_lengths=[2, 2, 2], # number of timepoints, groups and members respectively + dim_lengths=[2, 2, 2], # number of visits, groups and members respectively scans=[ ScanBP( name="scan1", @@ -225,7 +225,7 @@ def arcana_home(work_dir): id_patterns={ "group": r"subject::group(\d+)member\d+", "member": r"subject::group\d+member(\d+)", - "timepoint": r"session::timepoint(\d+).*", + "visit": r"session::visit(\d+).*", }, derivatives=[ FileBP( @@ -242,7 +242,7 @@ def arcana_home(work_dir): ), FileBP( path="deriv3", - row_frequency=Clinical.timepoint, + row_frequency=Clinical.visit, datatype=Directory, filenames=["doubledir"], ), @@ -254,19 +254,19 @@ def arcana_home(work_dir): ), FileBP( path="deriv5", - row_frequency=Clinical.dataset, + row_frequency=Clinical.constant, datatype=Text, filenames=["file.txt"], ), FileBP( path="deriv6", - row_frequency=Clinical.batch, + row_frequency=Clinical.groupedvisit, datatype=Text, filenames=["file.txt"], ), FileBP( path="deriv7", - row_frequency=Clinical.matchedpoint, + row_frequency=Clinical.matchedvisit, datatype=Text, filenames=["file.txt"], ), @@ -380,7 +380,7 @@ def access_dataset( access_method: str, xnat_repository: Xnat, xnat_archive_dir: Path, -) -> Grid: +) -> FrameSet: if access_method == "cs": proj_dir = xnat_archive_dir / project_id / "arc001" store = XnatViaCS( @@ -388,7 +388,7 @@ def access_dataset( user=xnat_repository.user, password=xnat_repository.password, cache_dir=xnat_repository.cache_dir, - row_frequency=Clinical.dataset, + row_frequency=Clinical.constant, input_mount=proj_dir, output_mount=Path(mkdtemp()), ) @@ -396,7 +396,7 @@ def access_dataset( store = xnat_repository else: assert False, f"unrecognised access method {access_method}" - return store.load_dataset(project_id, name="") + return store.load_frameset(project_id, name="") @pytest.fixture(scope="session") diff --git a/pydra2app/xnat/cli/base.py b/pydra2app/xnat/cli/base.py index 2486ccf..082377a 100644 --- a/pydra2app/xnat/cli/base.py +++ b/pydra2app/xnat/cli/base.py @@ -1,4 +1,4 @@ -from pydra2app.core.cli import ext +from pipeline2app.core.cli import ext @ext.group(name="xnat") diff --git a/pydra2app/xnat/cli/entrypoint.py b/pydra2app/xnat/cli/entrypoint.py index 1d6dd6b..c95e625 100644 --- a/pydra2app/xnat/cli/entrypoint.py +++ b/pydra2app/xnat/cli/entrypoint.py @@ -1,6 +1,6 @@ import click -from pydra2app.core.command import entrypoint_opts -from pydra2app.xnat import XnatApp +from pipeline2app.core.command import entrypoint_opts +from pipeline2app.xnat import XnatApp from .base import xnat_group @@ -10,20 +10,20 @@ launches a pipeline in a single command. To be used within the command configuration of an XNAT Container Service ready Docker image. -DATASET_LOCATOR string containing the nickname of the data store, the ID of the +ADDRESS string containing the nickname of the data store, the ID of the dataset (e.g. XNAT project ID or file-system directory) and the dataset's name in the format //[@] """, ) -@click.argument("dataset_locator") +@click.argument("address") @entrypoint_opts.data_columns @entrypoint_opts.parameterisation @entrypoint_opts.execution @entrypoint_opts.debugging @entrypoint_opts.dataset_config def cs_entrypoint( - dataset_locator, + address, spec_path, **kwargs, ): @@ -31,6 +31,6 @@ def cs_entrypoint( image_spec = XnatApp.load(spec_path) image_spec.command.execute( - dataset_locator, + address, **kwargs, ) diff --git a/pydra2app/xnat/cli/release.py b/pydra2app/xnat/cli/release.py index 31f5643..ea533ae 100644 --- a/pydra2app/xnat/cli/release.py +++ b/pydra2app/xnat/cli/release.py @@ -17,7 +17,7 @@ XNAT_USER_KEY = "XNAT_USER" XNAT_PASS_KEY = "XNAT_PASS" XNAT_AUTH_FILE_KEY = "XNAT_AUTH_FILE" -XNAT_AUTH_FILE_DEFAULT = Path("~/.pydra2app_xnat_user_token.json").expanduser() +XNAT_AUTH_FILE_DEFAULT = Path("~/.pipeline2app_xnat_user_token.json").expanduser() def load_auth(server, user, password, auth_file): @@ -30,7 +30,7 @@ def load_auth(server, user, password, auth_file): if auth_file == XNAT_AUTH_FILE_DEFAULT and not Path(auth_file).exists(): raise RuntimeError( "An auth file must be provided if no server is. " - "Use pydra2app ext xnat save-token to create one" + "Use pipeline2app ext xnat save-token to create one" ) click.echo(f"Reading existing alias/token pair from '{str(auth_file)}") with open(auth_file) as fp: @@ -284,7 +284,7 @@ def save_token(auth_file, server, user, password): JSON file using the XNAT instance's REST API. MANIFEST_FILE is a JSON file containing a list of container images built in a release -created by `pydra2app deploy xnat build` +created by `pipeline2app deploy xnat build` Authentication credentials can be passed through the {XNAT_USER_KEY} and {XNAT_PASS_KEY} environment variables. Otherwise, tokens can be saved diff --git a/pydra2app/xnat/command.py b/pydra2app/xnat/command.py index 66727a8..fc12e4b 100644 --- a/pydra2app/xnat/command.py +++ b/pydra2app/xnat/command.py @@ -3,7 +3,7 @@ import re import attrs from fileformats.core import FileSet, to_mime -from pydra2app.core.command.base import ContainerCommand +from pipeline2app.core.command.base import ContainerCommand from frametree.xnat import XnatViaCS from frametree.common import Clinical @@ -16,8 +16,8 @@ class XnatCommand(ContainerCommand): image: ty.Optional[XnatApp] = None - # Hard-code the data_space of XNAT commands to be clinical - DATA_SPACE = Clinical + # Hard-code the axes of XNAT commands to be clinical + AXES = Clinical def make_json(self): """Constructs the XNAT CS "command" JSON config, which specifies how XNAT @@ -39,13 +39,13 @@ def make_json(self): output_args = self.add_output_fields(cmd_json) - flag_arg = self.add_pydra2app_flags_field(cmd_json) + flag_arg = self.add_pipeline2app_flags_field(cmd_json) xnat_input_args = self.add_inputs_from_xnat(cmd_json) cmd_json["command-line"] = " ".join( self.image.activate_conda() - + ["pydra2app", "ext", "xnat", "cs-entrypoint", "xnat-cs//[PROJECT_ID]"] + + ["pipeline2app", "ext", "xnat", "cs-entrypoint", "xnat-cs//[PROJECT_ID]"] + input_args + output_args + param_args @@ -205,14 +205,14 @@ def add_output_fields(self, cmd_json): return cmd_args - def add_pydra2app_flags_field(self, cmd_json): + def add_pipeline2app_flags_field(self, cmd_json): # Add input for dataset name FLAGS_KEY = "#PYDRA2APP_FLAGS#" cmd_json["inputs"].append( { "name": "Pydra2App_flags", - "description": "Flags passed to `run-pydra2app-pipeline` command", + "description": "Flags passed to `run-pipeline2app-pipeline` command", "type": "string", "default-value": ( "--plugin serial " @@ -342,4 +342,4 @@ def path2xnatname(cls, path): return re.sub(r"[^a-zA-Z0-9_]+", "_", path) COMMAND_INPUT_TYPES = {bool: "bool", str: "string", int: "number", float: "number"} - VALID_FREQUENCIES = (Clinical.session, Clinical.dataset) + VALID_FREQUENCIES = (Clinical.session, Clinical.constant) diff --git a/pydra2app/xnat/deploy.py b/pydra2app/xnat/deploy.py index 835804f..adccc07 100644 --- a/pydra2app/xnat/deploy.py +++ b/pydra2app/xnat/deploy.py @@ -3,11 +3,11 @@ import logging import json import xnat -from pydra2app.core.exceptions import Pydra2AppError -from pydra2app.core.utils import extract_file_from_docker_image +from pipeline2app.core.exceptions import Pydra2AppError +from pipeline2app.core.utils import extract_file_from_docker_image -logger = logging.getLogger("pydra2app-xnat") +logger = logging.getLogger("pipeline2app-xnat") INTERNAL_INPUTS = ("Pydra2App_flags", "PROJECT_ID", "SUBJECT_LABEL", "SESSION_LABEL") diff --git a/pydra2app/xnat/image.py b/pydra2app/xnat/image.py index 7a8591e..1de1ea7 100644 --- a/pydra2app/xnat/image.py +++ b/pydra2app/xnat/image.py @@ -7,7 +7,7 @@ from frametree.xnat import XnatViaCS from frametree.core.serialize import ClassResolver, ObjectConverter from frametree.core.store import Store -from pydra2app.core.image import App +from pipeline2app.core.image import App from .command import XnatCommand @@ -15,7 +15,7 @@ class XnatApp(App): PIP_DEPENDENCIES = ( - "pydra2app-xnat", + "pipeline2app-xnat", "fileformats-medimage", "fileformats-medimage-extras", ) @@ -124,7 +124,7 @@ def save_store_config( Store.save_configs( {"xnat-cs": xnat_cs_store_entry}, config_path=build_dir / "stores.yaml" ) - dockerfile.run(command="mkdir -p /root/.pydra2app") + dockerfile.run(command="mkdir -p /root/.pipeline2app") dockerfile.run(command=f"mkdir -p {str(XnatViaCS.CACHE_DIR)}") dockerfile.copy( source=["./stores.yaml"], diff --git a/pydra2app/xnat/tests/test_app.py b/pydra2app/xnat/tests/test_app.py index 266f520..ca476f6 100644 --- a/pydra2app/xnat/tests/test_app.py +++ b/pydra2app/xnat/tests/test_app.py @@ -7,9 +7,9 @@ FileBP, access_dataset, ) -from pydra2app.xnat.image import XnatApp -from pydra2app.xnat.command import XnatCommand -from pydra2app.xnat.deploy import ( +from pipeline2app.xnat.image import XnatApp +from pipeline2app.xnat.command import XnatCommand +from pipeline2app.xnat.deploy import ( install_and_launch_xnat_cs_command, ) from fileformats.medimage import NiftiGzX, NiftiGzXBvec @@ -32,7 +32,7 @@ def run_spec( spec = {} if request.param == "func": spec["build"] = { - "org": "pydra2app-tests", + "org": "pipeline2app-tests", "name": "concatenate-xnat-cs", "version": { "package": "1.0", @@ -48,8 +48,8 @@ def run_spec( "packages": { "system": ["git", "vim"], "pip": [ - "pydra2app", - "pydra2app-xnat", + "pipeline2app", + "pipeline2app-xnat", "fileformats", "fileformats-medimage", "pydra", @@ -69,7 +69,7 @@ def run_spec( elif request.param == "bids_app": bids_command_spec["configuration"]["executable"] = "/launch.sh" spec["build"] = { - "org": "pydra2app-tests", + "org": "pipeline2app-tests", "name": "bids-app-xnat-cs", "version": { "package": "1.0", @@ -88,8 +88,8 @@ def run_spec( "frametree-bids", "frametree-xnat", "pydra", - "pydra2app", - "pydra2app-xnat", + "pipeline2app", + "pipeline2app-xnat", ], }, "command": bids_command_spec, @@ -174,7 +174,7 @@ def test_xnat_cs_pipeline(xnat_repository, run_spec, run_prefix, work_dir): image_spec.make( build_dir=work_dir, - pydra2app_install_extras=["test"], + pipeline2app_install_extras=["test"], use_local_packages=True, for_localhost=True, ) diff --git a/pydra2app/xnat/tests/test_cli_xnat_images.py b/pydra2app/xnat/tests/test_cli_xnat_images.py index 80cf959..f1bb726 100644 --- a/pydra2app/xnat/tests/test_cli_xnat_images.py +++ b/pydra2app/xnat/tests/test_cli_xnat_images.py @@ -6,8 +6,8 @@ import pytest import docker import xnat -from pydra2app.core.cli import make -from pydra2app.xnat.cli.release import ( +from pipeline2app.core.cli import make +from pipeline2app.xnat.cli.release import ( deploy_pipelines, save_token, XNAT_HOST_KEY, @@ -36,7 +36,7 @@ def test_deploy_pipelines( WRAPPER_VERSION = "1-pullimages" reverse_command_spec = copy(command_spec) - reverse_command_spec["task"] = "pydra2app.testing.tasks:concatenate_reverse" + reverse_command_spec["task"] = "pipeline2app.testing.tasks:concatenate_reverse" spec_dir = work_dir / DOCKER_ORG pkg_path = spec_dir / IMAGE_GROUP_NAME diff --git a/pyproject.toml b/pyproject.toml index 5d58da9..756e72e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,12 +3,12 @@ requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [project] -name = "pydra2app-xnat" -description = "An extension of the pydra2app to support making XNAT container service images" +name = "pipeline2app-xnat" +description = "An extension of the pipeline2app to support making XNAT container service images" readme = "README.md" requires-python = ">=3.8" dependencies = [ - "pydra2app", + "pipeline2app", "fileformats >=0.3.3", "fileformats-medimage >=0.2.1", "fileformats-medimage-extras >=0.1.3", @@ -18,7 +18,7 @@ dependencies = [ license = { file = "LICENSE" } authors = [{ name = "Thomas G. Close", email = "tom.g.close@gmail.com" }] maintainers = [{ name = "Thomas G. Close", email = "tom.g.close@gmail.com" }] -keywords = ["pydra2app"] +keywords = ["pipeline2app"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", @@ -58,17 +58,17 @@ test = [ ] [project.urls] -documentation = "https://pydra2app.readthedocs.io" -repository = "https://github.com/ArcanaFramework/pydra2app-xnat.git" +documentation = "https://pipeline2app.readthedocs.io" +repository = "https://github.com/ArcanaFramework/pipeline2app-xnat.git" [tool.hatch.version] source = "vcs" [tool.hatch.build.hooks.vcs] -version-file = "pydra2app/xnat/_version.py" +version-file = "pipeline2app/xnat/_version.py" [tool.hatch.build] -packages = ["pydra2app"] +packages = ["pipeline2app"] exclude = ["/tests"] [tool.hatch.metadata] diff --git a/scripts/quick_tst.py b/scripts/quick_tst.py index e4f427f..710ff70 100644 --- a/scripts/quick_tst.py +++ b/scripts/quick_tst.py @@ -1,6 +1,6 @@ from frametree.core.utils import show_cli_trace -from pydra2app.core.cli import make -from pydra2app.xnat.cli import save_token, install_command, launch_command +from pipeline2app.core.cli import make +from pipeline2app.xnat.cli import save_token, install_command, launch_command def test_make(cli_runner): From 0b17ab27aa4332b3e4d6a01b942bfdd1de70981d Mon Sep 17 00:00:00 2001 From: Tom Close Date: Fri, 23 Aug 2024 15:13:26 +1000 Subject: [PATCH 4/6] more renaming --- .gitignore | 2 +- codecov.yml | 4 ++-- {pydra2app => pipeline2app}/xnat/__init__.py | 0 {pydra2app => pipeline2app}/xnat/cli/__init__.py | 0 {pydra2app => pipeline2app}/xnat/cli/base.py | 0 {pydra2app => pipeline2app}/xnat/cli/entrypoint.py | 0 {pydra2app => pipeline2app}/xnat/cli/release.py | 0 {pydra2app => pipeline2app}/xnat/command.py | 0 {pydra2app => pipeline2app}/xnat/deploy.py | 0 {pydra2app => pipeline2app}/xnat/image.py | 0 {pydra2app => pipeline2app}/xnat/tests/test_app.py | 0 .../xnat/tests/test_cli_xnat_images.py | 0 12 files changed, 3 insertions(+), 3 deletions(-) rename {pydra2app => pipeline2app}/xnat/__init__.py (100%) rename {pydra2app => pipeline2app}/xnat/cli/__init__.py (100%) rename {pydra2app => pipeline2app}/xnat/cli/base.py (100%) rename {pydra2app => pipeline2app}/xnat/cli/entrypoint.py (100%) rename {pydra2app => pipeline2app}/xnat/cli/release.py (100%) rename {pydra2app => pipeline2app}/xnat/command.py (100%) rename {pydra2app => pipeline2app}/xnat/deploy.py (100%) rename {pydra2app => pipeline2app}/xnat/image.py (100%) rename {pydra2app => pipeline2app}/xnat/tests/test_app.py (100%) rename {pydra2app => pipeline2app}/xnat/tests/test_cli_xnat_images.py (100%) diff --git a/.gitignore b/.gitignore index e47bf77..dbac95f 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,4 @@ __pycache__ ~* /test-data/dicom-dataset *.venv -/pydra2app/xnat/_version.py +/pipeline2app/xnat/_version.py diff --git a/codecov.yml b/codecov.yml index 71b08ba..e0374ac 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,8 +1,8 @@ coverage: range: "50...100" - ignore: # files and folders that will be removed during processing + ignore: # files and folders that will be removed during processing - "**/tests" - - "arcana/xnat/_version.py" + - "pipeline2app/xnat/_version.py" status: project: default: diff --git a/pydra2app/xnat/__init__.py b/pipeline2app/xnat/__init__.py similarity index 100% rename from pydra2app/xnat/__init__.py rename to pipeline2app/xnat/__init__.py diff --git a/pydra2app/xnat/cli/__init__.py b/pipeline2app/xnat/cli/__init__.py similarity index 100% rename from pydra2app/xnat/cli/__init__.py rename to pipeline2app/xnat/cli/__init__.py diff --git a/pydra2app/xnat/cli/base.py b/pipeline2app/xnat/cli/base.py similarity index 100% rename from pydra2app/xnat/cli/base.py rename to pipeline2app/xnat/cli/base.py diff --git a/pydra2app/xnat/cli/entrypoint.py b/pipeline2app/xnat/cli/entrypoint.py similarity index 100% rename from pydra2app/xnat/cli/entrypoint.py rename to pipeline2app/xnat/cli/entrypoint.py diff --git a/pydra2app/xnat/cli/release.py b/pipeline2app/xnat/cli/release.py similarity index 100% rename from pydra2app/xnat/cli/release.py rename to pipeline2app/xnat/cli/release.py diff --git a/pydra2app/xnat/command.py b/pipeline2app/xnat/command.py similarity index 100% rename from pydra2app/xnat/command.py rename to pipeline2app/xnat/command.py diff --git a/pydra2app/xnat/deploy.py b/pipeline2app/xnat/deploy.py similarity index 100% rename from pydra2app/xnat/deploy.py rename to pipeline2app/xnat/deploy.py diff --git a/pydra2app/xnat/image.py b/pipeline2app/xnat/image.py similarity index 100% rename from pydra2app/xnat/image.py rename to pipeline2app/xnat/image.py diff --git a/pydra2app/xnat/tests/test_app.py b/pipeline2app/xnat/tests/test_app.py similarity index 100% rename from pydra2app/xnat/tests/test_app.py rename to pipeline2app/xnat/tests/test_app.py diff --git a/pydra2app/xnat/tests/test_cli_xnat_images.py b/pipeline2app/xnat/tests/test_cli_xnat_images.py similarity index 100% rename from pydra2app/xnat/tests/test_cli_xnat_images.py rename to pipeline2app/xnat/tests/test_cli_xnat_images.py From e330b86adca8ac4df0f2b6e8c7697e53ec6408f7 Mon Sep 17 00:00:00 2001 From: Tom Close Date: Fri, 23 Aug 2024 15:25:01 +1000 Subject: [PATCH 5/6] [skip ci] updated readme --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c29d9f7..c4a0bed 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ -# Pydra2App - XNAT -[![tests](https://github.com/arcanaframework/pydra2app-xnat/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/ArcanaFramework/pydra2app-xnat/actions/workflows/ci-cd.yml) -[![codecov](https://codecov.io/gh/arcanaframework/pydra2app-xnat/branch/main/graph/badge.svg?token=UIS0OGPST7)](https://codecov.io/gh/arcanaframework/pydra2app-xnat) -[![Python versions](https://img.shields.io/pypi/pyversions/pydra2app-xnat.svg)](https://pypi.python.org/pypi/pydra2app-xnat/) -[![Latest Version](https://img.shields.io/pypi/v/pydra2app-xnat.svg)](https://pypi.python.org/pypi/pydra2app-xnat/) -[![docs](https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat)](https://arcanaframework.github.io/pydra2app) +# Pipeline2App - XNAT +[![tests](https://github.com/arcanaframework/pipeline2app-xnat/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/ArcanaFramework/pipeline2app-xnat/actions/workflows/ci-cd.yml) +[![codecov](https://codecov.io/gh/arcanaframework/pipeline2app-xnat/branch/main/graph/badge.svg?token=UIS0OGPST7)](https://codecov.io/gh/arcanaframework/pipeline2app-xnat) +[![Python versions](https://img.shields.io/pypi/pyversions/pipeline2app-xnat.svg)](https://pypi.python.org/pypi/pipeline2app-xnat/) +[![Latest Version](https://img.shields.io/pypi/v/pipeline2app-xnat.svg)](https://pypi.python.org/pypi/pipeline2app-xnat/) +[![docs](https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat)](https://arcanaframework.github.io/pipeline2app) -An extension for the [Pydra2App](http://arcanaframework.github.io/pydra2app) framework that support for building [XNAT](https://xnat.org) "apps" (container service docker images) +An extension for the [Pipeline2App](http://arcanaframework.github.io/pipeline2app) framework that support for building [XNAT](https://xnat.org) "apps" (container service docker images) ## Quick Installation This extension can be installed for Python 3 using *pip*: ``` -$ pip3 install pydra2app-xnat +$ pip3 install pipeline2app-xnat ``` -This will also install the core Pydra2App package and any required dependencies. +This will also install the core Pipeline2App package and any required dependencies. ## License From 1a27a0e7308e75705779ab01d1c1bdd33cca0f55 Mon Sep 17 00:00:00 2001 From: Tom Close Date: Fri, 23 Aug 2024 15:40:18 +1000 Subject: [PATCH 6/6] disabled code-cov fail --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 3a84dc4..217ecd2 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -59,7 +59,7 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: - fail_ci_if_error: true + fail_ci_if_error: false token: ${{ secrets.CODECOV_TOKEN }} build: @@ -81,7 +81,7 @@ jobs: - name: Install build tools run: python3 -m pip install --break-system-packages build twine - name: Build source and wheel distributions - run: python3 -m build + run: python3 -m build - name: Check distributions run: twine check dist/* - uses: actions/upload-artifact@v3