junifer 0.0.8.dev195__tar.gz → 0.0.8.dev200__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.
Files changed (553) hide show
  1. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/ci.yml +1 -1
  2. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/docker-ci-publish.yml +4 -4
  3. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/docker-docs-publish.yml +4 -4
  4. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/docker-publish.yml +4 -4
  5. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/docs-preview.yml +1 -1
  6. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/docs.yml +1 -1
  7. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/lint.yml +1 -1
  8. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/publish.yml +1 -1
  9. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/PKG-INFO +1 -1
  10. junifer-0.0.8.dev200/docs/changes/newsfragments/499.enh +1 -0
  11. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/_version.py +3 -3
  12. junifer-0.0.8.dev200/junifer/api/__init__.pyi +19 -0
  13. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/functions.py +133 -1
  14. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/tests/test_functions.py +270 -1
  15. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/cli.py +6 -6
  16. junifer-0.0.8.dev200/junifer/cli/parser.py +107 -0
  17. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/PKG-INFO +1 -1
  18. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/SOURCES.txt +1 -1
  19. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/scm_file_list.json +470 -470
  20. junifer-0.0.8.dev200/junifer.egg-info/scm_version.json +8 -0
  21. junifer-0.0.8.dev195/junifer/api/__init__.pyi +0 -4
  22. junifer-0.0.8.dev195/junifer/cli/parser.py +0 -236
  23. junifer-0.0.8.dev195/junifer/cli/tests/test_parser.py +0 -280
  24. junifer-0.0.8.dev195/junifer.egg-info/scm_version.json +0 -8
  25. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.dockerignore +0 -0
  26. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  27. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  28. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  29. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  30. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  31. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  32. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/dependabot.yml +0 -0
  33. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/pull_request_template.md +0 -0
  34. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/check-stale.yml +0 -0
  35. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.github/workflows/ci-docs.yml +0 -0
  36. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.gitignore +0 -0
  37. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.gitmodules +0 -0
  38. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.pre-commit-config.yaml +0 -0
  39. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/.python-version +0 -0
  40. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/AUTHORS.rst +0 -0
  41. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/Dockerfile +0 -0
  42. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/Dockerfile-ci +0 -0
  43. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/Dockerfile-docs +0 -0
  44. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/LICENSE.md +0 -0
  45. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/README.md +0 -0
  46. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/codecov.yml +0 -0
  47. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/conda-env.yml +0 -0
  48. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/Makefile +0 -0
  49. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/_static/css/custom.css +0 -0
  50. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/_static/js/custom.js +0 -0
  51. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/_templates/versions.html +0 -0
  52. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/api.rst +0 -0
  53. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/cli.rst +0 -0
  54. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/configs.rst +0 -0
  55. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/data.rst +0 -0
  56. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/datagrabbers.rst +0 -0
  57. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/datareaders.rst +0 -0
  58. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/index.rst +0 -0
  59. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/markers.rst +0 -0
  60. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/nilearn.rst +0 -0
  61. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/onthefly.rst +0 -0
  62. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/pipeline.rst +0 -0
  63. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/preprocessing.rst +0 -0
  64. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/stats.rst +0 -0
  65. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/storage.rst +0 -0
  66. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/testing.rst +0 -0
  67. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/api/utils.rst +0 -0
  68. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/builtin.rst +0 -0
  69. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/contributors.inc +0 -0
  70. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/.gitignore +0 -0
  71. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/239.enh +0 -0
  72. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/364.doc +0 -0
  73. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/364.enh +0 -0
  74. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/364.feature +0 -0
  75. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/474.misc +0 -0
  76. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/482.bugfix +0 -0
  77. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/492.bugfix +0 -0
  78. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/502.bugfix +0 -0
  79. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/changes/newsfragments/503.enh +0 -0
  80. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/conf.py +0 -0
  81. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/contribution.rst +0 -0
  82. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/confounds_format.rst +0 -0
  83. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/coordinates.rst +0 -0
  84. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/data_dump_asset.rst +0 -0
  85. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/data_registries.rst +0 -0
  86. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/data_types.rst +0 -0
  87. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/datagrabber.rst +0 -0
  88. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/dependencies.rst +0 -0
  89. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/extension.rst +0 -0
  90. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/index.rst +0 -0
  91. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/logging.rst +0 -0
  92. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/maps.rst +0 -0
  93. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/marker.rst +0 -0
  94. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/masks.rst +0 -0
  95. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/parcellations.rst +0 -0
  96. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/plugins.rst +0 -0
  97. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/extending/preprocessor.rst +0 -0
  98. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/faq.rst +0 -0
  99. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/help.rst +0 -0
  100. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/images/junifer_logo.png +0 -0
  101. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/index.rst +0 -0
  102. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/installation.rst +0 -0
  103. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/links.inc +0 -0
  104. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/maintaining.rst +0 -0
  105. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/redirect.html +0 -0
  106. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/starting.rst +0 -0
  107. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/data.rst +0 -0
  108. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/datagrabber.rst +0 -0
  109. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/datareader.rst +0 -0
  110. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/index.rst +0 -0
  111. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/marker.rst +0 -0
  112. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/pipeline.rst +0 -0
  113. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/preprocess.rst +0 -0
  114. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/understanding/storage.rst +0 -0
  115. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/codeless.rst +0 -0
  116. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/configuring.rst +0 -0
  117. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/dumping.rst +0 -0
  118. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/index.rst +0 -0
  119. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/masks.rst +0 -0
  120. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/queueing.rst +0 -0
  121. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/using/running.rst +0 -0
  122. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/docs/whats_new.rst +0 -0
  123. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/README.rst +0 -0
  124. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/norun_hcpfc_pearson.py +0 -0
  125. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/norun_ukbvm_gmd.py +0 -0
  126. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/run_compute_parcel_mean.py +0 -0
  127. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/run_datagrabber_bids_datalad.py +0 -0
  128. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/run_ets_rss_marker.py +0 -0
  129. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/run_junifer_julearn.py +0 -0
  130. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/run_run_gmd_mean.py +0 -0
  131. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/yamls/gmd_mean.yaml +0 -0
  132. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  133. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  134. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  135. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/ignore_words.txt +0 -0
  136. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/__init__.py +0 -0
  137. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/__init__.pyi +0 -0
  138. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/__init__.py +0 -0
  139. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/decorators.py +0 -0
  140. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/py.typed +0 -0
  141. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/__init__.py +0 -0
  142. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/__init__.pyi +0 -0
  143. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  144. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  145. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/py.typed +0 -0
  146. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  147. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  148. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  149. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  150. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/afni/3dRSFC +0 -0
  151. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/afni/3dReHo +0 -0
  152. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/afni/afni +0 -0
  153. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  154. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/ants/ResampleImage +0 -0
  155. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/ants/antsApplyTransforms +0 -0
  156. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  157. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  158. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/freesurfer/mri_binarize +0 -0
  159. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/freesurfer/mri_mc +0 -0
  160. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/freesurfer/mri_pretess +0 -0
  161. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/freesurfer/mris_convert +0 -0
  162. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  163. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/fsl/applywarp +0 -0
  164. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/fsl/flirt +0 -0
  165. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/fsl/img2imgcoord +0 -0
  166. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  167. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/fsl/std2imgcoord +0 -0
  168. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/run_conda.bash +0 -0
  169. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/run_conda.zsh +0 -0
  170. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/run_venv.bash +0 -0
  171. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/res/run_venv.zsh +0 -0
  172. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/api/tests/test_decorators.py +0 -0
  173. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/__init__.py +0 -0
  174. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/__init__.pyi +0 -0
  175. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/py.typed +0 -0
  176. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  177. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  178. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  179. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/tests/test_cli.py +0 -0
  180. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/tests/test_cli_utils.py +0 -0
  181. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/cli/utils.py +0 -0
  182. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/__init__.py +0 -0
  183. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/__init__.pyi +0 -0
  184. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/__init__.py +0 -0
  185. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/__init__.pyi +0 -0
  186. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  187. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  188. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  189. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  190. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  191. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  192. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  193. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  194. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  195. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  196. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  197. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  198. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  199. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/juseless/py.typed +0 -0
  200. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/configs/py.typed +0 -0
  201. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/conftest.py +0 -0
  202. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/__init__.py +0 -0
  203. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/__init__.pyi +0 -0
  204. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/_dispatch.py +0 -0
  205. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/__init__.py +0 -0
  206. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/__init__.pyi +0 -0
  207. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  208. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/_coordinates.py +0 -0
  209. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  210. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  211. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/__init__.py +0 -0
  212. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/__init__.pyi +0 -0
  213. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/_ants_maps_warper.py +0 -0
  214. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/_fsl_maps_warper.py +0 -0
  215. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/_maps.py +0 -0
  216. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/maps/tests/test_maps.py +0 -0
  217. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/__init__.py +0 -0
  218. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/__init__.pyi +0 -0
  219. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/_ants_mask_warper.py +0 -0
  220. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  221. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/_masks.py +0 -0
  222. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/masks/tests/test_masks.py +0 -0
  223. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/__init__.py +0 -0
  224. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/__init__.pyi +0 -0
  225. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  226. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  227. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/_parcellations.py +0 -0
  228. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  229. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/pipeline_data_registry_base.py +0 -0
  230. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/py.typed +0 -0
  231. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/template_spaces.py +0 -0
  232. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/tests/test_data_utils.py +0 -0
  233. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/tests/test_dispatch.py +0 -0
  234. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/tests/test_template_spaces.py +0 -0
  235. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/data/utils.py +0 -0
  236. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/__init__.py +0 -0
  237. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/__init__.pyi +0 -0
  238. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/__init__.py +0 -0
  239. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  240. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/_types.py +0 -0
  241. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/id1000.py +0 -0
  242. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/piop1.py +0 -0
  243. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/piop2.py +0 -0
  244. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/py.typed +0 -0
  245. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  246. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  247. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  248. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/base.py +0 -0
  249. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/datalad_base.py +0 -0
  250. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  251. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  252. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  253. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  254. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  255. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/py.typed +0 -0
  256. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  257. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/multiple.py +0 -0
  258. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/pattern.py +0 -0
  259. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/pattern_datalad.py +0 -0
  260. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  261. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/py.typed +0 -0
  262. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_base.py +0 -0
  263. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  264. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  265. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_multiple.py +0 -0
  266. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_pattern.py +0 -0
  267. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  268. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  269. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datareader/__init__.py +0 -0
  270. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datareader/__init__.pyi +0 -0
  271. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datareader/default.py +0 -0
  272. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datareader/py.typed +0 -0
  273. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/datareader/tests/test_default_reader.py +0 -0
  274. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.codecov.yml +0 -0
  275. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.codespellignore +0 -0
  276. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  277. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  278. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  279. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
  280. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
  281. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
  282. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
  283. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
  284. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
  285. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
  286. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/.gitignore +0 -0
  287. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/LICENSE +0 -0
  288. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/README.md +0 -0
  289. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  290. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  291. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  292. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  293. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
  294. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
  295. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
  296. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
  297. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
  298. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
  299. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  300. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  301. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  302. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
  303. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
  304. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  305. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/Makefile +0 -0
  306. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
  307. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
  308. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
  309. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
  310. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
  311. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/conf.py +0 -0
  312. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/index.rst +0 -0
  313. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/links.inc +0 -0
  314. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/make.bat +0 -0
  315. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/doc/references.bib +0 -0
  316. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/pyproject.toml +0 -0
  317. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/BrainPrint/setup.py +0 -0
  318. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/__init__.py +0 -0
  319. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/__init__.pyi +0 -0
  320. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.coveragerc +0 -0
  321. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.gitattributes +0 -0
  322. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.gitignore +0 -0
  323. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.travis.yml +0 -0
  324. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.vscode/launch.json +0 -0
  325. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/.vscode/settings.json +0 -0
  326. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/LICENSE.txt +0 -0
  327. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/MANIFEST.in +0 -0
  328. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/Makefile +0 -0
  329. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/README.rst +0 -0
  330. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/azure-pipelines.yml +0 -0
  331. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/__init__.py +0 -0
  332. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/_h5io.py +0 -0
  333. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/_version.py +0 -0
  334. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  335. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  336. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/tests/__init__.py +0 -0
  337. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/tests/test_chunked_array.py +0 -0
  338. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/tests/test_chunked_list.py +0 -0
  339. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/h5io/tests/test_io.py +0 -0
  340. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/setup.cfg +0 -0
  341. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/setup.py +0 -0
  342. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/h5io/versioneer.py +0 -0
  343. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/__init__.py +0 -0
  344. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/__init__.pyi +0 -0
  345. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  346. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  347. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/py.typed +0 -0
  348. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  349. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  350. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/external/py.typed +0 -0
  351. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/__init__.py +0 -0
  352. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/__init__.pyi +0 -0
  353. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/base.py +0 -0
  354. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/brainprint.py +0 -0
  355. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/__init__.py +0 -0
  356. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/__init__.pyi +0 -0
  357. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/complexity_base.py +0 -0
  358. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/hurst_exponent.py +0 -0
  359. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  360. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/perm_entropy.py +0 -0
  361. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/py.typed +0 -0
  362. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/range_entropy.py +0 -0
  363. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  364. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/sample_entropy.py +0 -0
  365. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  366. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  367. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  368. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  369. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  370. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  371. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  372. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  373. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  374. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/ets_rss.py +0 -0
  375. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/__init__.py +0 -0
  376. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/__init__.pyi +0 -0
  377. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/_afni_falff.py +0 -0
  378. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/_junifer_falff.py +0 -0
  379. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/falff_base.py +0 -0
  380. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/falff_maps.py +0 -0
  381. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/falff_parcels.py +0 -0
  382. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/falff_spheres.py +0 -0
  383. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/py.typed +0 -0
  384. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  385. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  386. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  387. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/__init__.py +0 -0
  388. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  389. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  390. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
  391. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  392. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  393. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  394. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
  395. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  396. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  397. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/py.typed +0 -0
  398. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  399. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  400. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  401. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  402. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  403. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  404. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  405. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  406. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/maps_aggregation.py +0 -0
  407. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/parcel_aggregation.py +0 -0
  408. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/py.typed +0 -0
  409. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/__init__.py +0 -0
  410. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/__init__.pyi +0 -0
  411. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/_afni_reho.py +0 -0
  412. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/_junifer_reho.py +0 -0
  413. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/py.typed +0 -0
  414. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/reho_base.py +0 -0
  415. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/reho_maps.py +0 -0
  416. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/reho_parcels.py +0 -0
  417. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/reho_spheres.py +0 -0
  418. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  419. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  420. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  421. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/sphere_aggregation.py +0 -0
  422. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/__init__.py +0 -0
  423. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  424. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/py.typed +0 -0
  425. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  426. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
  427. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  428. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  429. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  430. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  431. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  432. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  433. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_brainprint.py +0 -0
  434. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_ets_rss.py +0 -0
  435. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  436. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_marker_utils.py +0 -0
  437. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_markers_base.py +0 -0
  438. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  439. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  440. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/markers/utils.py +0 -0
  441. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/__init__.py +0 -0
  442. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/__init__.pyi +0 -0
  443. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/_brainprint.py +0 -0
  444. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/py.typed +0 -0
  445. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/read_transform.py +0 -0
  446. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/onthefly/tests/test_read_transform.py +0 -0
  447. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/__init__.py +0 -0
  448. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/__init__.pyi +0 -0
  449. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/_data_object_dumper.py +0 -0
  450. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/marker_collection.py +0 -0
  451. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/pipeline_component_registry.py +0 -0
  452. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  453. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/py.typed +0 -0
  454. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
  455. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  456. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  457. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  458. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  459. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  460. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/update_meta_mixin.py +0 -0
  461. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/utils.py +0 -0
  462. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/pipeline/workdir_manager.py +0 -0
  463. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/__init__.py +0 -0
  464. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/__init__.pyi +0 -0
  465. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/_temporal_filter.py +0 -0
  466. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/_temporal_slicer.py +0 -0
  467. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/base.py +0 -0
  468. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/confounds/__init__.py +0 -0
  469. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/confounds/__init__.pyi +0 -0
  470. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  471. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/confounds/py.typed +0 -0
  472. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  473. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/py.typed +0 -0
  474. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/__init__.py +0 -0
  475. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  476. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  477. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  478. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  479. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/py.typed +0 -0
  480. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/smoothing.py +0 -0
  481. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  482. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  483. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
  484. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
  485. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/__init__.py +0 -0
  486. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/__init__.pyi +0 -0
  487. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/_ants_warper.py +0 -0
  488. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  489. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/py.typed +0 -0
  490. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/space_warper.py +0 -0
  491. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  492. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/py.typed +0 -0
  493. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/stats.py +0 -0
  494. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/__init__.py +0 -0
  495. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/__init__.pyi +0 -0
  496. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/base.py +0 -0
  497. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/hdf5.py +0 -0
  498. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/pandas_base.py +0 -0
  499. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/py.typed +0 -0
  500. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/sqlite.py +0 -0
  501. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/tests/test_hdf5.py +0 -0
  502. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/tests/test_pandas_base.py +0 -0
  503. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/tests/test_sqlite.py +0 -0
  504. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/tests/test_storage_base.py +0 -0
  505. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/tests/test_utils.py +0 -0
  506. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/storage/utils.py +0 -0
  507. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/__init__.py +0 -0
  508. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/__init__.pyi +0 -0
  509. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  510. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/datagrabbers.py +0 -0
  511. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/py.typed +0 -0
  512. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/registry.py +0 -0
  513. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  514. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  515. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  516. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/tests/test_testing_registry.py +0 -0
  517. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/testing/utils.py +0 -0
  518. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/tests/test_main.py +0 -0
  519. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/tests/test_stats.py +0 -0
  520. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/typing/__init__.py +0 -0
  521. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/typing/__init__.pyi +0 -0
  522. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/typing/_typing.py +0 -0
  523. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/typing/py.typed +0 -0
  524. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/__init__.py +0 -0
  525. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/__init__.pyi +0 -0
  526. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/_config.py +0 -0
  527. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/_yaml.py +0 -0
  528. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/fs.py +0 -0
  529. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/helpers.py +0 -0
  530. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/logging.py +0 -0
  531. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/py.typed +0 -0
  532. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/singleton.py +0 -0
  533. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/tests/test_config.py +0 -0
  534. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/tests/test_fs.py +0 -0
  535. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/tests/test_helpers.py +0 -0
  536. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer/utils/tests/test_logging.py +0 -0
  537. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/dependency_links.txt +0 -0
  538. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/entry_points.txt +0 -0
  539. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/requires.txt +0 -0
  540. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/junifer.egg-info/top_level.txt +0 -0
  541. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/justfile +0 -0
  542. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/pyproject.toml +0 -0
  543. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/setup.cfg +0 -0
  544. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/setup.py +0 -0
  545. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_aomic1000_example_dataset.py +0 -0
  546. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_aomicpiop1_example_dataset.py +0 -0
  547. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_aomicpiop2_example_dataset.py +0 -0
  548. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_bids_example_dataset.py +0 -0
  549. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_bids_example_dataset_sessions.py +0 -0
  550. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  551. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tools/create_hcp1200_example_dataset.py +0 -0
  552. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/tox.ini +0 -0
  553. {junifer-0.0.8.dev195 → junifer-0.0.8.dev200}/uv.lock +0 -0
@@ -61,7 +61,7 @@ jobs:
61
61
  with:
62
62
  submodules: true
63
63
  - name: Set up Python ${{ matrix.python-version }}
64
- uses: actions/setup-python@v6
64
+ uses: actions/setup-python@v7
65
65
  with:
66
66
  python-version: ${{ matrix.python-version }}
67
67
  - name: Install Python dependencies
@@ -37,22 +37,22 @@ jobs:
37
37
  if: github.event_name != 'pull_request'
38
38
  uses: sigstore/cosign-installer@v4.1.2
39
39
  - name: Set up Docker Buildx
40
- uses: docker/setup-buildx-action@v4.1.0
40
+ uses: docker/setup-buildx-action@v4.2.0
41
41
  - name: Log into registry ${{ env.REGISTRY }}
42
42
  if: github.event_name != 'pull_request'
43
- uses: docker/login-action@v4.2.0
43
+ uses: docker/login-action@v4.5.1
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.1.0
50
+ uses: docker/metadata-action@v6.2.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.2.0
55
+ uses: docker/build-push-action@v7.3.0
56
56
  with:
57
57
  context: .
58
58
  file: Dockerfile-ci
@@ -37,22 +37,22 @@ jobs:
37
37
  if: github.event_name != 'pull_request'
38
38
  uses: sigstore/cosign-installer@v4.1.2
39
39
  - name: Set up Docker Buildx
40
- uses: docker/setup-buildx-action@v4.1.0
40
+ uses: docker/setup-buildx-action@v4.2.0
41
41
  - name: Log into registry ${{ env.REGISTRY }}
42
42
  if: github.event_name != 'pull_request'
43
- uses: docker/login-action@v4.2.0
43
+ uses: docker/login-action@v4.5.1
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.1.0
50
+ uses: docker/metadata-action@v6.2.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.2.0
55
+ uses: docker/build-push-action@v7.3.0
56
56
  with:
57
57
  context: .
58
58
  file: Dockerfile-docs
@@ -37,22 +37,22 @@ jobs:
37
37
  if: github.event_name != 'pull_request'
38
38
  uses: sigstore/cosign-installer@v4.1.2
39
39
  - name: Set up Docker Buildx
40
- uses: docker/setup-buildx-action@v4.1.0
40
+ uses: docker/setup-buildx-action@v4.2.0
41
41
  - name: Log into registry ${{ env.REGISTRY }}
42
42
  if: github.event_name != 'pull_request'
43
- uses: docker/login-action@v4.2.0
43
+ uses: docker/login-action@v4.5.1
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.1.0
50
+ uses: docker/metadata-action@v6.2.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.2.0
55
+ uses: docker/build-push-action@v7.3.0
56
56
  with:
57
57
  context: .
58
58
  file: Dockerfile
@@ -48,7 +48,7 @@ jobs:
48
48
  fetch-depth: 0
49
49
  submodules: true
50
50
  - name: Set up Python
51
- uses: actions/setup-python@v6
51
+ uses: actions/setup-python@v7
52
52
  with:
53
53
  python-version: "3.12"
54
54
  - name: Install Python dependencies
@@ -40,7 +40,7 @@ jobs:
40
40
  fetch-depth: 0
41
41
  submodules: true
42
42
  - name: Set up Python
43
- uses: actions/setup-python@v6
43
+ uses: actions/setup-python@v7
44
44
  with:
45
45
  python-version: "3.12"
46
46
  - name: Install Python dependencies
@@ -10,7 +10,7 @@ jobs:
10
10
  steps:
11
11
  - uses: actions/checkout@v7
12
12
  - name: Install Python
13
- uses: actions/setup-python@v6
13
+ uses: actions/setup-python@v7
14
14
  with:
15
15
  python-version: "3.x"
16
16
  - name: Install dependencies
@@ -23,7 +23,7 @@ jobs:
23
23
  fetch-depth: 0
24
24
  submodules: true
25
25
  - name: Set up Python
26
- uses: actions/setup-python@v6
26
+ uses: actions/setup-python@v7
27
27
  with:
28
28
  python-version: "3.x"
29
29
  - name: Install build
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.8.dev195
3
+ Version: 0.0.8.dev200
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.dev195'
22
- __version_tuple__ = version_tuple = (0, 0, 8, 'dev195')
21
+ __version__ = version = '0.0.8.dev200'
22
+ __version_tuple__ = version_tuple = (0, 0, 8, 'dev200')
23
23
 
24
- __commit_id__ = commit_id = 'g64d583140'
24
+ __commit_id__ = commit_id = 'gf8293c860'
@@ -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__ = ["collect", "list_elements", "queue", "reset", "run"]
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)
@@ -17,7 +17,7 @@ from ..utils import (
17
17
  raise_error,
18
18
  yaml,
19
19
  )
20
- from .parser import parse_elements, parse_yaml
20
+ from .parser import parse_elements
21
21
  from .utils import (
22
22
  _get_dependency_information,
23
23
  _get_environment_information,
@@ -162,7 +162,7 @@ def run(
162
162
  configure_logging(level=verbose, level_datalad=verbose_datalad)
163
163
  # TODO(synchon): add validation
164
164
  # Parse YAML
165
- config = parse_yaml(filepath)
165
+ config = cli_func.parse_yaml(filepath)
166
166
  # Retrieve working directory
167
167
  workdir = config["workdir"]
168
168
  # Fetch datagrabber
@@ -232,7 +232,7 @@ def collect(
232
232
  configure_logging(level=verbose, level_datalad=verbose_datalad)
233
233
  # TODO: add validation
234
234
  # Parse YAML
235
- config = parse_yaml(filepath)
235
+ config = cli_func.parse_yaml(filepath)
236
236
  # Fetch storage
237
237
  storage = config["storage"]
238
238
  # Perform operation
@@ -299,7 +299,7 @@ def queue(
299
299
  configure_logging(level=verbose, level_datalad=verbose_datalad)
300
300
  # TODO: add validation
301
301
  # Parse YAML
302
- config = parse_yaml(filepath) # type: ignore
302
+ config = cli_func.parse_yaml(filepath) # type: ignore
303
303
  # Check queue section
304
304
  if "queue" not in config:
305
305
  raise_error(f"No queue configuration found in {filepath}.")
@@ -450,7 +450,7 @@ def reset(
450
450
  # Setup logging
451
451
  configure_logging(level=verbose, level_datalad=verbose_datalad)
452
452
  # Parse YAML
453
- config = parse_yaml(filepath)
453
+ config = cli_func.parse_yaml(filepath)
454
454
  # Perform operation
455
455
  cli_func.reset(config)
456
456
 
@@ -510,7 +510,7 @@ def list_elements(
510
510
  # Setup logging
511
511
  configure_logging(level=verbose, level_datalad=verbose_datalad)
512
512
  # Parse YAML
513
- config = parse_yaml(filepath)
513
+ config = cli_func.parse_yaml(filepath)
514
514
  # Fetch datagrabber
515
515
  datagrabber = config["datagrabber"]
516
516
  # Parse elements