junifer 0.0.8.dev193__tar.gz → 0.0.8.dev198__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/ci-docs.yml +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/ci.yml +2 -2
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/docker-ci-publish.yml +6 -6
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/docker-docs-publish.yml +6 -6
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/docker-publish.yml +6 -6
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/docs-preview.yml +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/docs.yml +2 -2
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/lint.yml +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/publish.yml +2 -2
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/PKG-INFO +1 -1
- junifer-0.0.8.dev198/docs/changes/newsfragments/499.enh +1 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/_version.py +3 -3
- junifer-0.0.8.dev198/junifer/api/__init__.pyi +19 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/functions.py +133 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/tests/test_functions.py +270 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/cli.py +6 -6
- junifer-0.0.8.dev198/junifer/cli/parser.py +107 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/SOURCES.txt +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/scm_file_list.json +1 -1
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/scm_version.json +2 -2
- junifer-0.0.8.dev193/junifer/api/__init__.pyi +0 -4
- junifer-0.0.8.dev193/junifer/cli/parser.py +0 -236
- junifer-0.0.8.dev193/junifer/cli/tests/test_parser.py +0 -280
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.dockerignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/dependabot.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/pull_request_template.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.github/workflows/check-stale.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.gitignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.gitmodules +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/.python-version +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/AUTHORS.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/Dockerfile +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/Dockerfile-ci +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/Dockerfile-docs +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/LICENSE.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/README.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/codecov.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/conda-env.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/Makefile +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/_templates/versions.html +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/api.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/cli.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/configs.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/data.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/markers.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/stats.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/storage.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/testing.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/api/utils.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/builtin.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/239.enh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/364.doc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/364.enh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/364.feature +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/474.misc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/482.bugfix +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/492.bugfix +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/502.bugfix +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/changes/newsfragments/503.enh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/conf.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/contribution.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/confounds_format.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/data_dump_asset.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/data_registries.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/data_types.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/extension.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/logging.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/maps.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/marker.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/masks.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/plugins.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/faq.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/help.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/installation.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/links.inc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/maintaining.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/redirect.html +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/starting.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/data.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/codeless.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/configuring.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/dumping.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/masks.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/queueing.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/using/running.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/docs/whats_new.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/README.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/ignore_words.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/decorators.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/api/tests/test_decorators.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/cli/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/configs/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/conftest.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/_ants_maps_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/_fsl_maps_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/maps/tests/test_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/tests/test_dispatch.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/data/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/_types.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datareader/default.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.codecov.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.codespellignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/.gitignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/LICENSE +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/README.md +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/Makefile +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/conf.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/index.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/links.inc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/make.bat +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/doc/references.bib +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/pyproject.toml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/BrainPrint/setup.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.coveragerc +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.gitattributes +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.gitignore +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.travis.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.vscode/launch.json +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/.vscode/settings.json +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/LICENSE.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/MANIFEST.in +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/Makefile +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/README.rst +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/azure-pipelines.yml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/tests/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/tests/test_chunked_array.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/tests/test_chunked_list.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/h5io/tests/test_io.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/setup.cfg +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/setup.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/h5io/versioneer.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/external/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/falff_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/maps_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/reho_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_maps_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/markers/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/_data_object_dumper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/pipeline_component_registry.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/_temporal_filter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/_temporal_slicer.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/stats.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/storage/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/registry.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/testing/utils.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/typing/_typing.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/typing/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/_config.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/fs.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/logging.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/py.typed +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/justfile +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/pyproject.toml +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/setup.cfg +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/setup.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/tox.ini +0 -0
- {junifer-0.0.8.dev193 → junifer-0.0.8.dev198}/uv.lock +0 -0
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
echo '</coverage>' >> coverage.xml
|
|
49
49
|
if: matrix.python-version == 3.12
|
|
50
50
|
- name: Upload mock coverage to Codecov
|
|
51
|
-
uses: codecov/codecov-action@
|
|
51
|
+
uses: codecov/codecov-action@v7
|
|
52
52
|
with:
|
|
53
53
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
54
54
|
# Allow coverage upload failure
|
|
@@ -57,7 +57,7 @@ jobs:
|
|
|
57
57
|
mkdir -p $HOME/junifer_data/v7
|
|
58
58
|
cp -ar /root/junifer_data/v7/. $HOME/junifer_data/v7/
|
|
59
59
|
- name: Checkout repository
|
|
60
|
-
uses: actions/checkout@
|
|
60
|
+
uses: actions/checkout@v7
|
|
61
61
|
with:
|
|
62
62
|
submodules: true
|
|
63
63
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -78,7 +78,7 @@ jobs:
|
|
|
78
78
|
git config --system --add safe.directory $(pwd)
|
|
79
79
|
tox
|
|
80
80
|
- name: Upload coverage to Codecov
|
|
81
|
-
uses: codecov/codecov-action@
|
|
81
|
+
uses: codecov/codecov-action@v7
|
|
82
82
|
with:
|
|
83
83
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
84
84
|
fail_ci_if_error: true
|
|
@@ -32,27 +32,27 @@ jobs:
|
|
|
32
32
|
sudo docker builder prune -a
|
|
33
33
|
- run: df -h
|
|
34
34
|
- name: Checkout repository
|
|
35
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v7
|
|
36
36
|
- name: Install cosign
|
|
37
37
|
if: github.event_name != 'pull_request'
|
|
38
|
-
uses: sigstore/cosign-installer@v4.1.
|
|
38
|
+
uses: sigstore/cosign-installer@v4.1.2
|
|
39
39
|
- name: Set up Docker Buildx
|
|
40
|
-
uses: docker/setup-buildx-action@v4.
|
|
40
|
+
uses: docker/setup-buildx-action@v4.1.0
|
|
41
41
|
- name: Log into registry ${{ env.REGISTRY }}
|
|
42
42
|
if: github.event_name != 'pull_request'
|
|
43
|
-
uses: docker/login-action@v4.
|
|
43
|
+
uses: docker/login-action@v4.2.0
|
|
44
44
|
with:
|
|
45
45
|
registry: ${{ env.REGISTRY }}
|
|
46
46
|
username: ${{ github.actor }}
|
|
47
47
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
48
48
|
- name: Extract Docker metadata
|
|
49
49
|
id: meta
|
|
50
|
-
uses: docker/metadata-action@v6.
|
|
50
|
+
uses: docker/metadata-action@v6.1.0
|
|
51
51
|
with:
|
|
52
52
|
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
53
53
|
- name: Build and push Docker image
|
|
54
54
|
id: build-and-push
|
|
55
|
-
uses: docker/build-push-action@v7.
|
|
55
|
+
uses: docker/build-push-action@v7.2.0
|
|
56
56
|
with:
|
|
57
57
|
context: .
|
|
58
58
|
file: Dockerfile-ci
|
|
@@ -32,27 +32,27 @@ jobs:
|
|
|
32
32
|
sudo docker builder prune -a
|
|
33
33
|
- run: df -h
|
|
34
34
|
- name: Checkout repository
|
|
35
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v7
|
|
36
36
|
- name: Install cosign
|
|
37
37
|
if: github.event_name != 'pull_request'
|
|
38
|
-
uses: sigstore/cosign-installer@v4.1.
|
|
38
|
+
uses: sigstore/cosign-installer@v4.1.2
|
|
39
39
|
- name: Set up Docker Buildx
|
|
40
|
-
uses: docker/setup-buildx-action@v4.
|
|
40
|
+
uses: docker/setup-buildx-action@v4.1.0
|
|
41
41
|
- name: Log into registry ${{ env.REGISTRY }}
|
|
42
42
|
if: github.event_name != 'pull_request'
|
|
43
|
-
uses: docker/login-action@v4.
|
|
43
|
+
uses: docker/login-action@v4.2.0
|
|
44
44
|
with:
|
|
45
45
|
registry: ${{ env.REGISTRY }}
|
|
46
46
|
username: ${{ github.actor }}
|
|
47
47
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
48
48
|
- name: Extract Docker metadata
|
|
49
49
|
id: meta
|
|
50
|
-
uses: docker/metadata-action@v6.
|
|
50
|
+
uses: docker/metadata-action@v6.1.0
|
|
51
51
|
with:
|
|
52
52
|
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
53
53
|
- name: Build and push Docker image
|
|
54
54
|
id: build-and-push
|
|
55
|
-
uses: docker/build-push-action@v7.
|
|
55
|
+
uses: docker/build-push-action@v7.2.0
|
|
56
56
|
with:
|
|
57
57
|
context: .
|
|
58
58
|
file: Dockerfile-docs
|
|
@@ -32,27 +32,27 @@ jobs:
|
|
|
32
32
|
sudo docker builder prune -a
|
|
33
33
|
- run: df -h
|
|
34
34
|
- name: Checkout repository
|
|
35
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v7
|
|
36
36
|
- name: Install cosign
|
|
37
37
|
if: github.event_name != 'pull_request'
|
|
38
|
-
uses: sigstore/cosign-installer@v4.1.
|
|
38
|
+
uses: sigstore/cosign-installer@v4.1.2
|
|
39
39
|
- name: Set up Docker Buildx
|
|
40
|
-
uses: docker/setup-buildx-action@v4.
|
|
40
|
+
uses: docker/setup-buildx-action@v4.1.0
|
|
41
41
|
- name: Log into registry ${{ env.REGISTRY }}
|
|
42
42
|
if: github.event_name != 'pull_request'
|
|
43
|
-
uses: docker/login-action@v4.
|
|
43
|
+
uses: docker/login-action@v4.2.0
|
|
44
44
|
with:
|
|
45
45
|
registry: ${{ env.REGISTRY }}
|
|
46
46
|
username: ${{ github.actor }}
|
|
47
47
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
48
48
|
- name: Extract Docker metadata
|
|
49
49
|
id: meta
|
|
50
|
-
uses: docker/metadata-action@v6.
|
|
50
|
+
uses: docker/metadata-action@v6.1.0
|
|
51
51
|
with:
|
|
52
52
|
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
53
53
|
- name: Build and push Docker image
|
|
54
54
|
id: build-and-push
|
|
55
|
-
uses: docker/build-push-action@v7.
|
|
55
|
+
uses: docker/build-push-action@v7.2.0
|
|
56
56
|
with:
|
|
57
57
|
context: .
|
|
58
58
|
file: Dockerfile
|
|
@@ -34,7 +34,7 @@ jobs:
|
|
|
34
34
|
mkdir -p $HOME/junifer_data/v7
|
|
35
35
|
cp -ar /root/junifer_data/v7/. $HOME/junifer_data/v7/
|
|
36
36
|
- name: Checkout repository
|
|
37
|
-
uses: actions/checkout@
|
|
37
|
+
uses: actions/checkout@v7
|
|
38
38
|
with:
|
|
39
39
|
# require all of history to see all tagged versions' docs
|
|
40
40
|
fetch-depth: 0
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
- name: Checkout gh-pages
|
|
56
56
|
# As we already did a deploy of gh-pages above, it is guaranteed to be there
|
|
57
57
|
# so check it out so we can selectively build docs below
|
|
58
|
-
uses: actions/checkout@
|
|
58
|
+
uses: actions/checkout@v7
|
|
59
59
|
with:
|
|
60
60
|
ref: gh-pages
|
|
61
61
|
path: docs/_build
|
|
@@ -18,7 +18,7 @@ jobs:
|
|
|
18
18
|
contents: write
|
|
19
19
|
steps:
|
|
20
20
|
- name: Checkout source
|
|
21
|
-
uses: actions/checkout@
|
|
21
|
+
uses: actions/checkout@v7
|
|
22
22
|
with:
|
|
23
23
|
fetch-depth: 0
|
|
24
24
|
submodules: true
|
|
@@ -36,7 +36,7 @@ jobs:
|
|
|
36
36
|
- name: Publish package to PyPI
|
|
37
37
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
38
38
|
- name: Make release on GitHub
|
|
39
|
-
uses: softprops/action-gh-release@
|
|
39
|
+
uses: softprops/action-gh-release@v3
|
|
40
40
|
if: startsWith(github.ref, 'refs/tags/')
|
|
41
41
|
with:
|
|
42
42
|
files: |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: junifer
|
|
3
|
-
Version: 0.0.8.
|
|
3
|
+
Version: 0.0.8.dev198
|
|
4
4
|
Summary: JUelich NeuroImaging FEature extractoR
|
|
5
5
|
Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
|
|
6
6
|
Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Move ``parse_yaml`` from ``junifer.cli`` to ``junifer.api`` by `Synchon Mandal`_
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.8.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, 8, '
|
|
21
|
+
__version__ = version = '0.0.8.dev198'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 8, 'dev198')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g61fa4962c'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
__all__ = [
|
|
2
|
+
"decorators",
|
|
3
|
+
"collect",
|
|
4
|
+
"queue",
|
|
5
|
+
"run",
|
|
6
|
+
"reset",
|
|
7
|
+
"list_elements",
|
|
8
|
+
"parse_yaml",
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
from . import decorators
|
|
12
|
+
from .functions import (
|
|
13
|
+
collect,
|
|
14
|
+
list_elements,
|
|
15
|
+
parse_yaml,
|
|
16
|
+
reset,
|
|
17
|
+
run,
|
|
18
|
+
queue,
|
|
19
|
+
)
|
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
# License: AGPL
|
|
7
7
|
|
|
8
8
|
import atexit
|
|
9
|
+
import importlib
|
|
10
|
+
import importlib.util
|
|
9
11
|
import os
|
|
10
12
|
import shutil
|
|
13
|
+
import sys
|
|
11
14
|
from pathlib import Path
|
|
12
15
|
|
|
13
16
|
import structlog
|
|
@@ -32,7 +35,14 @@ from ..typing import (
|
|
|
32
35
|
from ..utils import raise_error, warn_with_log, yaml
|
|
33
36
|
|
|
34
37
|
|
|
35
|
-
__all__ = [
|
|
38
|
+
__all__ = [
|
|
39
|
+
"collect",
|
|
40
|
+
"list_elements",
|
|
41
|
+
"parse_yaml",
|
|
42
|
+
"queue",
|
|
43
|
+
"reset",
|
|
44
|
+
"run",
|
|
45
|
+
]
|
|
36
46
|
|
|
37
47
|
_log = structlog.get_logger("junifer")
|
|
38
48
|
logger = _log.bind(pkg="api")
|
|
@@ -468,3 +478,125 @@ def list_elements(
|
|
|
468
478
|
elements_to_list.append(str_element)
|
|
469
479
|
|
|
470
480
|
return "\n".join(elements_to_list)
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
def parse_yaml(filepath: str | Path) -> dict: # noqa: C901
|
|
484
|
+
"""Parse YAML.
|
|
485
|
+
|
|
486
|
+
Parameters
|
|
487
|
+
----------
|
|
488
|
+
filepath : str or pathlib.Path
|
|
489
|
+
The filepath to read from.
|
|
490
|
+
|
|
491
|
+
Returns
|
|
492
|
+
-------
|
|
493
|
+
dict
|
|
494
|
+
The contents represented as dictionary.
|
|
495
|
+
|
|
496
|
+
"""
|
|
497
|
+
# Convert str to Path
|
|
498
|
+
if not isinstance(filepath, Path):
|
|
499
|
+
filepath = Path(filepath)
|
|
500
|
+
|
|
501
|
+
logger.info(f"Parsing yaml file: {filepath.absolute()!s}")
|
|
502
|
+
# Filepath existence check
|
|
503
|
+
if not filepath.exists():
|
|
504
|
+
raise_error(f"File does not exist: {filepath.absolute()!s}")
|
|
505
|
+
# Filepath reading
|
|
506
|
+
contents = yaml.load(filepath)
|
|
507
|
+
if "elements" in contents:
|
|
508
|
+
if contents["elements"] is None:
|
|
509
|
+
raise_error(
|
|
510
|
+
"The elements key was defined but its content is empty. "
|
|
511
|
+
"Please define the elements to operate on or remove the key."
|
|
512
|
+
)
|
|
513
|
+
# load modules
|
|
514
|
+
if "with" in contents:
|
|
515
|
+
to_load = contents["with"]
|
|
516
|
+
# Convert load modules to list
|
|
517
|
+
if not isinstance(to_load, list):
|
|
518
|
+
to_load = [to_load]
|
|
519
|
+
# Initialize list to have absolute paths for custom modules
|
|
520
|
+
final_to_load = []
|
|
521
|
+
for t_module in to_load:
|
|
522
|
+
if t_module.endswith(".py"):
|
|
523
|
+
logger.debug(f"Importing file: {t_module}")
|
|
524
|
+
# This resolves both absolute and relative paths
|
|
525
|
+
file_path = filepath.parent / t_module
|
|
526
|
+
if not file_path.exists():
|
|
527
|
+
raise_error(
|
|
528
|
+
f"File in 'with' section does not exist: {file_path}"
|
|
529
|
+
)
|
|
530
|
+
# Add the parent directory to the sys.path so that the
|
|
531
|
+
# any imports from this module work correctly
|
|
532
|
+
t_path = str(file_path.parent)
|
|
533
|
+
if t_path not in sys.path:
|
|
534
|
+
sys.path.append(str(file_path.parent))
|
|
535
|
+
|
|
536
|
+
spec = importlib.util.spec_from_file_location(
|
|
537
|
+
t_module, file_path
|
|
538
|
+
)
|
|
539
|
+
module = importlib.util.module_from_spec(spec) # type: ignore
|
|
540
|
+
sys.modules[t_module] = module
|
|
541
|
+
spec.loader.exec_module(module) # type: ignore
|
|
542
|
+
|
|
543
|
+
# Add absolute path to final list
|
|
544
|
+
final_to_load.append(str(file_path.resolve()))
|
|
545
|
+
|
|
546
|
+
# Check if the module has junifer_module_deps function
|
|
547
|
+
if hasattr(module, "junifer_module_deps"):
|
|
548
|
+
logger.debug(
|
|
549
|
+
f"Module {t_module} has junifer_module_deps function"
|
|
550
|
+
)
|
|
551
|
+
# Get the dependencies
|
|
552
|
+
deps = module.junifer_module_deps()
|
|
553
|
+
# Add the dependencies to the final list
|
|
554
|
+
for dep in deps:
|
|
555
|
+
if dep not in final_to_load:
|
|
556
|
+
final_to_load.append(
|
|
557
|
+
str((file_path.parent / dep).resolve())
|
|
558
|
+
)
|
|
559
|
+
else:
|
|
560
|
+
logger.info(f"Importing module: {t_module}")
|
|
561
|
+
importlib.import_module(t_module)
|
|
562
|
+
# Add module to final list
|
|
563
|
+
final_to_load.append(t_module)
|
|
564
|
+
|
|
565
|
+
# Replace modules to be loaded so that custom modules will take the
|
|
566
|
+
# absolute path. This was not the case as found in #224. Similar thing
|
|
567
|
+
# is done with the storage URI below.
|
|
568
|
+
contents["with"] = final_to_load
|
|
569
|
+
|
|
570
|
+
# Compute path for the URI parameter in storage files that are relative
|
|
571
|
+
# This is a tricky thing that appeared in #127. The problem is that
|
|
572
|
+
# the path in the URI parameter is relative to YAML file, not to the
|
|
573
|
+
# current working directory. If we leave it as is in the contents
|
|
574
|
+
# dict, then it will be used later in the ``build`` function as is,
|
|
575
|
+
# which will be computed relative to the current working directory.
|
|
576
|
+
# The solution is to compute the absolute path and replace the
|
|
577
|
+
# relative path in the contents dict with the absolute path.
|
|
578
|
+
|
|
579
|
+
# Check if the storage file is defined
|
|
580
|
+
if "storage" in contents:
|
|
581
|
+
if "uri" in contents["storage"]:
|
|
582
|
+
# Check if the storage file is relative
|
|
583
|
+
uri_path = Path(contents["storage"]["uri"])
|
|
584
|
+
if not uri_path.is_absolute():
|
|
585
|
+
# Compute the absolute path
|
|
586
|
+
contents["storage"]["uri"] = str(
|
|
587
|
+
(filepath.parent / uri_path).resolve()
|
|
588
|
+
)
|
|
589
|
+
|
|
590
|
+
# Allow relative path if queue env kind is venv; same motivation as above
|
|
591
|
+
if "queue" in contents:
|
|
592
|
+
if "env" in contents["queue"]:
|
|
593
|
+
if "venv" == contents["queue"]["env"]["kind"]:
|
|
594
|
+
# Check if the env name is relative
|
|
595
|
+
venv_path = Path(contents["queue"]["env"]["name"])
|
|
596
|
+
if not venv_path.is_absolute():
|
|
597
|
+
# Compute the absolute path
|
|
598
|
+
contents["queue"]["env"]["name"] = str(
|
|
599
|
+
(filepath.parent / venv_path).resolve()
|
|
600
|
+
)
|
|
601
|
+
|
|
602
|
+
return contents
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
# License: AGPL
|
|
7
7
|
|
|
8
8
|
import logging
|
|
9
|
+
import sys
|
|
9
10
|
from contextlib import AbstractContextManager, nullcontext
|
|
10
11
|
from pathlib import Path
|
|
11
12
|
from typing import Any
|
|
@@ -15,7 +16,7 @@ from nibabel.filebasedimages import ImageFileError
|
|
|
15
16
|
from ruamel.yaml import YAML
|
|
16
17
|
|
|
17
18
|
import junifer.testing.registry # noqa: F401
|
|
18
|
-
from junifer.api import collect, list_elements, queue, reset, run
|
|
19
|
+
from junifer.api import collect, list_elements, parse_yaml, queue, reset, run
|
|
19
20
|
from junifer.datagrabber.base import BaseDataGrabber
|
|
20
21
|
from junifer.pipeline import PipelineComponentRegistry
|
|
21
22
|
from junifer.typing import Elements
|
|
@@ -756,3 +757,271 @@ def test_list_elements(
|
|
|
756
757
|
"""
|
|
757
758
|
listed_elements = list_elements(datagrabber, elements)
|
|
758
759
|
assert "sub-01" in listed_elements
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
def test_parse_yaml_failure() -> None:
|
|
763
|
+
"""Test YAML parsing failure."""
|
|
764
|
+
with pytest.raises(ValueError, match="does not exist"):
|
|
765
|
+
parse_yaml("foo.yaml")
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
def test_parse_yaml_empty_elements_failure(tmp_path: Path) -> None:
|
|
769
|
+
"""Test YAML parsing with empty elements failure.
|
|
770
|
+
|
|
771
|
+
Parameters
|
|
772
|
+
----------
|
|
773
|
+
tmp_path : pathlib.Path
|
|
774
|
+
The path to the test directory.
|
|
775
|
+
|
|
776
|
+
"""
|
|
777
|
+
# Write test file
|
|
778
|
+
fname = tmp_path / "test_parse_yaml_empty_elements_failure.yaml"
|
|
779
|
+
fname.write_text("elements:")
|
|
780
|
+
# Check test file
|
|
781
|
+
with pytest.raises(ValueError, match="elements key was defined"):
|
|
782
|
+
parse_yaml(fname)
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
def test_parse_yaml_success(tmp_path: Path) -> None:
|
|
786
|
+
"""Test YAML parsing success.
|
|
787
|
+
|
|
788
|
+
Parameters
|
|
789
|
+
----------
|
|
790
|
+
tmp_path : pathlib.Path
|
|
791
|
+
The path to the test directory.
|
|
792
|
+
|
|
793
|
+
"""
|
|
794
|
+
# Write test file
|
|
795
|
+
fname = tmp_path / "test_parse_yaml_success.yaml"
|
|
796
|
+
fname.write_text("foo: bar")
|
|
797
|
+
# Check test file
|
|
798
|
+
contents = parse_yaml(fname)
|
|
799
|
+
assert "foo" in contents
|
|
800
|
+
assert contents["foo"] == "bar"
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
def test_parse_yaml_success_with_module_autoload(tmp_path: Path) -> None:
|
|
804
|
+
"""Test YAML parsing with single module autoload success.
|
|
805
|
+
|
|
806
|
+
Parameters
|
|
807
|
+
----------
|
|
808
|
+
tmp_path : pathlib.Path
|
|
809
|
+
The path to the test directory.
|
|
810
|
+
|
|
811
|
+
"""
|
|
812
|
+
# Write test file
|
|
813
|
+
fname = tmp_path / "test_parse_yaml_with_single_module_autoload.yaml"
|
|
814
|
+
fname.write_text("foo: bar\nwith: numpy")
|
|
815
|
+
# Check test file
|
|
816
|
+
contents = parse_yaml(fname)
|
|
817
|
+
assert "foo" in contents
|
|
818
|
+
assert contents["foo"] == "bar"
|
|
819
|
+
assert "with" in contents
|
|
820
|
+
assert contents["with"] == ["numpy"]
|
|
821
|
+
assert "numpy" in sys.modules
|
|
822
|
+
assert "junifer.configs.wrong_config" not in sys.modules
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
def test_parse_yaml_failure_with_multi_module_autoload(tmp_path: Path) -> None:
|
|
826
|
+
"""Test YAML parsing with multi module autoload failure.
|
|
827
|
+
|
|
828
|
+
Parameters
|
|
829
|
+
----------
|
|
830
|
+
tmp_path : pathlib.Path
|
|
831
|
+
The path to the test directory.
|
|
832
|
+
|
|
833
|
+
"""
|
|
834
|
+
# Write test file
|
|
835
|
+
fname = tmp_path / "test_parse_yaml_with_multi_module_autoload.yaml"
|
|
836
|
+
fname.write_text(
|
|
837
|
+
"foo: bar\nwith:\n - numpy\n - junifer.testing.wrong_config"
|
|
838
|
+
)
|
|
839
|
+
# Check test file
|
|
840
|
+
with pytest.raises(ImportError, match="wrong_config"):
|
|
841
|
+
parse_yaml(fname)
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
def test_parse_yaml_with_wrong_path(tmp_path: Path) -> None:
|
|
845
|
+
"""Test YAML parsing with wrong paths in with.
|
|
846
|
+
|
|
847
|
+
Parameters
|
|
848
|
+
----------
|
|
849
|
+
tmp_path : pathlib.Path
|
|
850
|
+
The path to the test directory.
|
|
851
|
+
|
|
852
|
+
"""
|
|
853
|
+
t_tmp_path = tmp_path / "test_relative_with"
|
|
854
|
+
# Write yaml that includes a relative path
|
|
855
|
+
yaml_path = t_tmp_path / "yamls"
|
|
856
|
+
yaml_path.mkdir(exist_ok=True, parents=True)
|
|
857
|
+
yaml_fname = yaml_path / "test_parse_yaml_wrong_path.yaml"
|
|
858
|
+
|
|
859
|
+
yaml_fname.write_text("foo: bar\nwith:\n - missingt.py\n - scipy\n")
|
|
860
|
+
|
|
861
|
+
# Check test file
|
|
862
|
+
with pytest.raises(ValueError, match="does not exist"):
|
|
863
|
+
parse_yaml(yaml_fname)
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
def test_parse_yaml_relative_path(tmp_path: Path) -> None:
|
|
867
|
+
"""Test YAML parsing with relative paths in with.
|
|
868
|
+
|
|
869
|
+
Parameters
|
|
870
|
+
----------
|
|
871
|
+
tmp_path : pathlib.Path
|
|
872
|
+
The path to the test directory.
|
|
873
|
+
|
|
874
|
+
"""
|
|
875
|
+
t_tmp_path = tmp_path / "test_relative_with"
|
|
876
|
+
|
|
877
|
+
# Write .py to include
|
|
878
|
+
py_path = t_tmp_path / "external"
|
|
879
|
+
py_path.mkdir(exist_ok=True, parents=True)
|
|
880
|
+
py_fname = py_path / "first.py"
|
|
881
|
+
py_fname.write_text("import numpy as np\n")
|
|
882
|
+
|
|
883
|
+
# Write yaml that includes a relative path
|
|
884
|
+
yaml_path = t_tmp_path / "yamls"
|
|
885
|
+
yaml_path.mkdir(exist_ok=True, parents=True)
|
|
886
|
+
yaml_fname = yaml_path / "test_parse_yaml_relative_path.yaml"
|
|
887
|
+
|
|
888
|
+
yaml_fname.write_text(
|
|
889
|
+
"foo: bar\nwith:\n - ../external/first.py\n - scipy\n"
|
|
890
|
+
)
|
|
891
|
+
|
|
892
|
+
# Check test file
|
|
893
|
+
parse_yaml(yaml_fname)
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
def test_parse_yaml_absolute_path(tmp_path: Path) -> None:
|
|
897
|
+
"""Test YAML parsing with absolute paths in with.
|
|
898
|
+
|
|
899
|
+
Parameters
|
|
900
|
+
----------
|
|
901
|
+
tmp_path : pathlib.Path
|
|
902
|
+
The path to the test directory.
|
|
903
|
+
|
|
904
|
+
"""
|
|
905
|
+
t_tmp_path = tmp_path / "test_relative_with"
|
|
906
|
+
|
|
907
|
+
# Write .py to include
|
|
908
|
+
py_path = t_tmp_path / "external"
|
|
909
|
+
py_path.mkdir(exist_ok=True, parents=True)
|
|
910
|
+
py_fname = py_path / "first.py"
|
|
911
|
+
py_fname.write_text("import numpy as np\n")
|
|
912
|
+
|
|
913
|
+
# Write yaml that includes a relative path
|
|
914
|
+
yaml_path = t_tmp_path / "yamls"
|
|
915
|
+
yaml_path.mkdir(exist_ok=True, parents=True)
|
|
916
|
+
yaml_fname = yaml_path / "test_parse_yaml_relative_path.yaml"
|
|
917
|
+
|
|
918
|
+
yaml_fname.write_text(
|
|
919
|
+
f"foo: bar\nwith:\n - {py_fname.absolute()}\n - scipy\n"
|
|
920
|
+
)
|
|
921
|
+
|
|
922
|
+
# Check test file
|
|
923
|
+
parse_yaml(yaml_fname)
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
def test_parse_yaml_multi_module_deps(tmp_path: Path) -> None:
|
|
927
|
+
"""Test YAML parsing with multi-module import with deps.
|
|
928
|
+
|
|
929
|
+
Parameters
|
|
930
|
+
----------
|
|
931
|
+
tmp_path : pathlib.Path
|
|
932
|
+
The path to the test directory.
|
|
933
|
+
|
|
934
|
+
"""
|
|
935
|
+
t_tmp_path = tmp_path / "test_with_multi_module"
|
|
936
|
+
|
|
937
|
+
# Write .py to include
|
|
938
|
+
py_path = t_tmp_path / "external"
|
|
939
|
+
py_path.mkdir(exist_ok=True, parents=True)
|
|
940
|
+
py_fname_1 = py_path / "first.py"
|
|
941
|
+
py_fname_1.write_text(
|
|
942
|
+
"import numpy as np\nfrom second import hej\n"
|
|
943
|
+
"def junifer_module_deps(): return ['second.py']\n"
|
|
944
|
+
)
|
|
945
|
+
py_fname_2 = py_path / "second.py"
|
|
946
|
+
py_fname_2.write_text("def hej(): print('hej')\n")
|
|
947
|
+
|
|
948
|
+
# Write yaml
|
|
949
|
+
yaml_path = t_tmp_path / "yamls"
|
|
950
|
+
yaml_path.mkdir(exist_ok=True, parents=True)
|
|
951
|
+
yaml_fname = yaml_path / "test_parse_yaml_multi_module.yaml"
|
|
952
|
+
|
|
953
|
+
yaml_fname.write_text(
|
|
954
|
+
"foo: bar\nwith:\n - ../external/first.py\n - scipy\n"
|
|
955
|
+
)
|
|
956
|
+
|
|
957
|
+
# Check test file
|
|
958
|
+
parse_yaml(yaml_fname)
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
def test_parse_storage_uri_relative(tmp_path: Path) -> None:
|
|
962
|
+
"""Test YAML parsing with storage and relative URI.
|
|
963
|
+
|
|
964
|
+
Parameters
|
|
965
|
+
----------
|
|
966
|
+
tmp_path : pathlib.Path
|
|
967
|
+
The path to the test directory.
|
|
968
|
+
|
|
969
|
+
"""
|
|
970
|
+
fname = tmp_path / "test_parse_yaml_with_storage_uri.yaml"
|
|
971
|
+
fname.write_text("foo: bar\nwith: numpy\nstorage:\n uri: test.db\n")
|
|
972
|
+
|
|
973
|
+
contents = parse_yaml(fname)
|
|
974
|
+
assert "foo" in contents
|
|
975
|
+
assert contents["foo"] == "bar"
|
|
976
|
+
assert "storage" in contents
|
|
977
|
+
assert "uri" in contents["storage"]
|
|
978
|
+
assert contents["storage"]["uri"] == str(tmp_path / "test.db")
|
|
979
|
+
|
|
980
|
+
fname = tmp_path / "test_parse_yaml_with_storage_uri.yaml"
|
|
981
|
+
fname.write_text(
|
|
982
|
+
"foo: bar\nwith: numpy\nstorage:\n uri: ../another/test.db\n"
|
|
983
|
+
)
|
|
984
|
+
|
|
985
|
+
contents = parse_yaml(fname)
|
|
986
|
+
assert "foo" in contents
|
|
987
|
+
assert contents["foo"] == "bar"
|
|
988
|
+
assert "storage" in contents
|
|
989
|
+
assert "uri" in contents["storage"]
|
|
990
|
+
assert contents["storage"]["uri"] == str(
|
|
991
|
+
(tmp_path / "../another/test.db").resolve()
|
|
992
|
+
)
|
|
993
|
+
|
|
994
|
+
fname = tmp_path / "test_parse_yaml_with_storage_uri.yaml"
|
|
995
|
+
fname.write_text(
|
|
996
|
+
"foo: bar\nwith: numpy\nstorage:\n uri: /absolute/test.db\n"
|
|
997
|
+
)
|
|
998
|
+
|
|
999
|
+
contents = parse_yaml(fname)
|
|
1000
|
+
assert "foo" in contents
|
|
1001
|
+
assert contents["foo"] == "bar"
|
|
1002
|
+
assert "storage" in contents
|
|
1003
|
+
assert "uri" in contents["storage"]
|
|
1004
|
+
assert contents["storage"]["uri"] == "/absolute/test.db"
|
|
1005
|
+
|
|
1006
|
+
# Just to trick coverage
|
|
1007
|
+
fname = tmp_path / "test_parse_yaml_with_storage_uri.yaml"
|
|
1008
|
+
fname.write_text("foo: bar\nwith: numpy\nstorage:\n kind: SomeStorage\n")
|
|
1009
|
+
|
|
1010
|
+
contents = parse_yaml(fname)
|
|
1011
|
+
assert "foo" in contents
|
|
1012
|
+
assert contents["foo"] == "bar"
|
|
1013
|
+
assert "storage" in contents
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
def test_parse_yaml_queue_venv_relative(tmp_path: Path) -> None:
|
|
1017
|
+
"""Test YAML parsing with relative venv queue.
|
|
1018
|
+
|
|
1019
|
+
Parameters
|
|
1020
|
+
----------
|
|
1021
|
+
tmp_path : pathlib.Path
|
|
1022
|
+
The path to the test directory.
|
|
1023
|
+
|
|
1024
|
+
"""
|
|
1025
|
+
fname = tmp_path / "test_parse_yaml_queue_venv_relative.yaml"
|
|
1026
|
+
fname.write_text("queue:\n env:\n kind: venv\n name: .venv\n")
|
|
1027
|
+
_ = parse_yaml(fname)
|