junifer 0.0.7.dev18__tar.gz → 0.0.7.dev47__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 (463) hide show
  1. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.pre-commit-config.yaml +7 -16
  2. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/PKG-INFO +3 -2
  3. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/README.md +0 -1
  4. junifer-0.0.7.dev47/conda-env.yml +45 -0
  5. junifer-0.0.7.dev47/docs/changes/newsfragments/441.misc +1 -0
  6. junifer-0.0.7.dev47/docs/changes/newsfragments/444.bugfix +1 -0
  7. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/_version.py +2 -2
  8. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/decorators.py +0 -1
  9. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/functions.py +1 -2
  10. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/gnu_parallel_local_adapter.py +4 -7
  11. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/htcondor_adapter.py +6 -10
  12. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/test_parser.py +66 -0
  13. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/_dispatch.py +5 -5
  14. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/_ants_coordinates_warper.py +1 -1
  15. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/_coordinates.py +1 -1
  16. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/_fsl_coordinates_warper.py +1 -1
  17. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/tests/test_coordinates.py +38 -16
  18. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/_ants_mask_warper.py +1 -1
  19. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/_fsl_mask_warper.py +1 -1
  20. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/tests/test_masks.py +66 -33
  21. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/_ants_parcellation_warper.py +1 -1
  22. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/_fsl_parcellation_warper.py +1 -1
  23. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/_parcellations.py +7 -7
  24. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/tests/test_parcellations.py +162 -76
  25. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/tests/test_data_utils.py +0 -1
  26. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/utils.py +1 -1
  27. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/id1000.py +6 -0
  28. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/piop1.py +4 -3
  29. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/piop2.py +4 -3
  30. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/pattern_datalad.py +0 -1
  31. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/pattern_validation_mixin.py +0 -1
  32. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +4 -8
  33. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/base.py +3 -3
  34. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/brainprint.py +5 -5
  35. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/multiscale_entropy_auc.py +3 -3
  36. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/range_entropy.py +3 -3
  37. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/sample_entropy.py +3 -3
  38. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/falff_parcels.py +2 -6
  39. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/falff_spheres.py +2 -6
  40. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -1
  41. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +2 -1
  42. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +2 -1
  43. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/_afni_reho.py +1 -1
  44. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/reho_base.py +0 -1
  45. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/reho_parcels.py +0 -1
  46. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/reho_spheres.py +0 -1
  47. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -1
  48. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_markers_base.py +0 -1
  49. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/onthefly/_brainprint.py +3 -3
  50. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/onthefly/read_transform.py +1 -2
  51. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/onthefly/tests/test_read_transform.py +0 -1
  52. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/tests/test_marker_collection.py +2 -1
  53. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/workdir_manager.py +1 -2
  54. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/confounds/fmriprep_confound_remover.py +1 -1
  55. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -1
  56. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -1
  57. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/_ants_warper.py +2 -3
  58. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/_fsl_warper.py +1 -1
  59. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/space_warper.py +4 -2
  60. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/hdf5.py +14 -2
  61. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/pandas_base.py +3 -1
  62. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/sqlite.py +3 -8
  63. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/tests/test_hdf5.py +1 -0
  64. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/tests/test_pandas_base.py +6 -3
  65. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/tests/test_storage_base.py +2 -1
  66. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/logging.py +38 -128
  67. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/tests/test_logging.py +12 -4
  68. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/PKG-INFO +3 -2
  69. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/SOURCES.txt +2 -23
  70. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/requires.txt +2 -0
  71. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/pyproject.toml +35 -11
  72. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tox.ini +22 -35
  73. junifer-0.0.7.dev18/conda-env.yml +0 -33
  74. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -23
  75. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/CogAC_VOIs.txt +0 -19
  76. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/CogAR_VOIs.txt +0 -8
  77. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/DMNBuckner_VOIs.txt +0 -6
  78. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -160
  79. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Empathy_VOIs.txt +0 -22
  80. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Motor_VOIs.txt +0 -10
  81. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/MultiTask_VOIs.txt +0 -9
  82. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/PhysioStress_VOIs.txt +0 -18
  83. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Power2011_MNI_VOIs.txt +0 -264
  84. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -264
  85. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Rew_VOIs.txt +0 -25
  86. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/Somatosensory_VOIs.txt +0 -10
  87. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/ToM_VOIs.txt +0 -15
  88. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/VigAtt_VOIs.txt +0 -16
  89. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/WM_VOIs.txt +0 -23
  90. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/eMDN_VOIs.txt +0 -17
  91. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/eSAD_VOIs.txt +0 -12
  92. junifer-0.0.7.dev18/junifer/data/coordinates/VOIs/meta/extDMN_VOIs.txt +0 -16
  93. junifer-0.0.7.dev18/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
  94. junifer-0.0.7.dev18/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  95. junifer-0.0.7.dev18/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  96. junifer-0.0.7.dev18/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  97. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.dockerignore +0 -0
  98. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  99. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  100. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  101. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  102. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  103. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  104. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/dependabot.yml +0 -0
  105. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/pull_request_template.md +0 -0
  106. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/ci-docs.yml +0 -0
  107. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/ci.yml +0 -0
  108. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/docker-ci-publish.yml +0 -0
  109. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/docker-docs-publish.yml +0 -0
  110. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/docs-preview.yml +0 -0
  111. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/docs.yml +0 -0
  112. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/lint.yml +0 -0
  113. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.github/workflows/publish.yml +0 -0
  114. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.gitignore +0 -0
  115. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/.gitmodules +0 -0
  116. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/AUTHORS.rst +0 -0
  117. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/Dockerfile-ci +0 -0
  118. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/Dockerfile-docs +0 -0
  119. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/LICENSE.md +0 -0
  120. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/codecov.yml +0 -0
  121. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/Makefile +0 -0
  122. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/_static/css/custom.css +0 -0
  123. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/_static/js/custom.js +0 -0
  124. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/_templates/versions.html +0 -0
  125. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/api.rst +0 -0
  126. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/cli.rst +0 -0
  127. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/configs.rst +0 -0
  128. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/data.rst +0 -0
  129. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/datagrabbers.rst +0 -0
  130. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/datareaders.rst +0 -0
  131. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/index.rst +0 -0
  132. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/markers.rst +0 -0
  133. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/nilearn.rst +0 -0
  134. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/onthefly.rst +0 -0
  135. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/pipeline.rst +0 -0
  136. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/preprocessing.rst +0 -0
  137. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/stats.rst +0 -0
  138. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/storage.rst +0 -0
  139. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/testing.rst +0 -0
  140. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/api/utils.rst +0 -0
  141. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/builtin.rst +0 -0
  142. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/changes/contributors.inc +0 -0
  143. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/changes/newsfragments/.gitignore +0 -0
  144. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/changes/newsfragments/333.enh +0 -0
  145. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/conf.py +0 -0
  146. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/contribution.rst +0 -0
  147. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/coordinates.rst +0 -0
  148. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/datagrabber.rst +0 -0
  149. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/dependencies.rst +0 -0
  150. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/extension.rst +0 -0
  151. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/index.rst +0 -0
  152. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/marker.rst +0 -0
  153. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/masks.rst +0 -0
  154. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/parcellations.rst +0 -0
  155. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/plugins.rst +0 -0
  156. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/extending/preprocessor.rst +0 -0
  157. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/faq.rst +0 -0
  158. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/help.rst +0 -0
  159. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/images/junifer_logo.png +0 -0
  160. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/index.rst +0 -0
  161. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/installation.rst +0 -0
  162. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/links.inc +0 -0
  163. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/maintaining.rst +0 -0
  164. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/redirect.html +0 -0
  165. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/starting.rst +0 -0
  166. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/data.rst +0 -0
  167. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/datagrabber.rst +0 -0
  168. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/datareader.rst +0 -0
  169. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/index.rst +0 -0
  170. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/marker.rst +0 -0
  171. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/pipeline.rst +0 -0
  172. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/preprocess.rst +0 -0
  173. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/understanding/storage.rst +0 -0
  174. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/using/codeless.rst +0 -0
  175. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/using/index.rst +0 -0
  176. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/using/masks.rst +0 -0
  177. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/using/queueing.rst +0 -0
  178. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/using/running.rst +0 -0
  179. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/docs/whats_new.rst +0 -0
  180. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/README.rst +0 -0
  181. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/norun_hcpfc_pearson.py +0 -0
  182. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/norun_ukbvm_gmd.py +0 -0
  183. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/run_compute_parcel_mean.py +0 -0
  184. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/run_datagrabber_bids_datalad.py +0 -0
  185. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/run_ets_rss_marker.py +0 -0
  186. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/run_junifer_julearn.py +0 -0
  187. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/run_run_gmd_mean.py +0 -0
  188. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/yamls/gmd_mean.yaml +0 -0
  189. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  190. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  191. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  192. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/ignore_words.txt +0 -0
  193. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/__init__.py +0 -0
  194. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/__init__.pyi +0 -0
  195. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/__init__.py +0 -0
  196. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/__init__.pyi +0 -0
  197. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/py.typed +0 -0
  198. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/__init__.py +0 -0
  199. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/__init__.pyi +0 -0
  200. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/py.typed +0 -0
  201. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  202. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  203. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  204. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  205. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/afni/3dRSFC +0 -0
  206. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/afni/3dReHo +0 -0
  207. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/afni/afni +0 -0
  208. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  209. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/ants/ResampleImage +0 -0
  210. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/ants/antsApplyTransforms +0 -0
  211. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  212. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  213. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/freesurfer/mri_binarize +0 -0
  214. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/freesurfer/mri_mc +0 -0
  215. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/freesurfer/mri_pretess +0 -0
  216. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/freesurfer/mris_convert +0 -0
  217. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  218. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/fsl/applywarp +0 -0
  219. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/fsl/flirt +0 -0
  220. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/fsl/img2imgcoord +0 -0
  221. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  222. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/fsl/std2imgcoord +0 -0
  223. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/run_conda.bash +0 -0
  224. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/run_conda.zsh +0 -0
  225. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/run_venv.bash +0 -0
  226. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/res/run_venv.zsh +0 -0
  227. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/api/tests/test_functions.py +0 -0
  228. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/__init__.py +0 -0
  229. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/__init__.pyi +0 -0
  230. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/cli.py +0 -0
  231. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/parser.py +0 -0
  232. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/py.typed +0 -0
  233. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  234. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  235. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  236. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/test_cli.py +0 -0
  237. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/tests/test_cli_utils.py +0 -0
  238. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/cli/utils.py +0 -0
  239. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/__init__.py +0 -0
  240. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/__init__.py +0 -0
  241. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/__init__.pyi +0 -0
  242. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  243. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  244. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  245. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  246. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  247. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  248. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  249. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  250. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  251. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  252. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  253. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  254. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  255. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/configs/juseless/py.typed +0 -0
  256. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/conftest.py +0 -0
  257. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/__init__.py +0 -0
  258. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/__init__.pyi +0 -0
  259. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/__init__.py +0 -0
  260. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/coordinates/__init__.pyi +0 -0
  261. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/__init__.py +0 -0
  262. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/__init__.pyi +0 -0
  263. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/masks/_masks.py +0 -0
  264. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/__init__.py +0 -0
  265. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/parcellations/__init__.pyi +0 -0
  266. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/pipeline_data_registry_base.py +0 -0
  267. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/py.typed +0 -0
  268. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/template_spaces.py +0 -0
  269. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/data/tests/test_template_spaces.py +0 -0
  270. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/__init__.py +0 -0
  271. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/__init__.pyi +0 -0
  272. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/__init__.py +0 -0
  273. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  274. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/py.typed +0 -0
  275. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  276. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  277. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  278. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/base.py +0 -0
  279. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/datalad_base.py +0 -0
  280. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  281. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  282. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  283. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  284. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  285. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/py.typed +0 -0
  286. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  287. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/multiple.py +0 -0
  288. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/pattern.py +0 -0
  289. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/py.typed +0 -0
  290. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_base.py +0 -0
  291. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  292. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_multiple.py +0 -0
  293. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_pattern.py +0 -0
  294. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  295. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  296. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datareader/__init__.py +0 -0
  297. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datareader/__init__.pyi +0 -0
  298. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datareader/default.py +0 -0
  299. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datareader/py.typed +0 -0
  300. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/datareader/tests/test_default_reader.py +0 -0
  301. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  302. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  303. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  304. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  305. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  306. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  307. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  308. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  309. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/__init__.py +0 -0
  310. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/h5io/h5io/__init__.py +0 -0
  311. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/h5io/h5io/_h5io.py +0 -0
  312. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/h5io/h5io/_version.py +0 -0
  313. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  314. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  315. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/__init__.py +0 -0
  316. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/__init__.pyi +0 -0
  317. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  318. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  319. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/py.typed +0 -0
  320. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  321. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  322. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/__init__.py +0 -0
  323. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/__init__.pyi +0 -0
  324. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/__init__.py +0 -0
  325. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/__init__.pyi +0 -0
  326. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/complexity_base.py +0 -0
  327. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/hurst_exponent.py +0 -0
  328. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/perm_entropy.py +0 -0
  329. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/py.typed +0 -0
  330. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  331. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  332. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  333. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  334. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  335. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  336. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  337. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  338. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  339. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  340. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/ets_rss.py +0 -0
  341. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/__init__.py +0 -0
  342. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/__init__.pyi +0 -0
  343. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/_afni_falff.py +0 -0
  344. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/_junifer_falff.py +0 -0
  345. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/falff_base.py +0 -0
  346. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/py.typed +0 -0
  347. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  348. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  349. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/__init__.py +0 -0
  350. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  351. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  352. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  353. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  354. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  355. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  356. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/py.typed +0 -0
  357. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  358. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  359. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  360. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  361. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/parcel_aggregation.py +0 -0
  362. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/py.typed +0 -0
  363. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/__init__.py +0 -0
  364. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/__init__.pyi +0 -0
  365. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/_junifer_reho.py +0 -0
  366. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/py.typed +0 -0
  367. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  368. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  369. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/sphere_aggregation.py +0 -0
  370. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/__init__.py +0 -0
  371. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  372. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/py.typed +0 -0
  373. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  374. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  375. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  376. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  377. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  378. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_brainprint.py +0 -0
  379. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_ets_rss.py +0 -0
  380. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_marker_utils.py +0 -0
  381. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  382. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  383. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/markers/utils.py +0 -0
  384. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/onthefly/__init__.py +0 -0
  385. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/__init__.py +0 -0
  386. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/__init__.pyi +0 -0
  387. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/marker_collection.py +0 -0
  388. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/pipeline_component_registry.py +0 -0
  389. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  390. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/py.typed +0 -0
  391. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  392. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  393. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  394. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  395. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/update_meta_mixin.py +0 -0
  396. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/pipeline/utils.py +0 -0
  397. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/__init__.py +0 -0
  398. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/__init__.pyi +0 -0
  399. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/base.py +0 -0
  400. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/confounds/__init__.py +0 -0
  401. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/confounds/__init__.pyi +0 -0
  402. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/confounds/py.typed +0 -0
  403. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/py.typed +0 -0
  404. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/__init__.py +0 -0
  405. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  406. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  407. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  408. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  409. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/py.typed +0 -0
  410. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/smoothing/smoothing.py +0 -0
  411. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  412. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/__init__.py +0 -0
  413. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/__init__.pyi +0 -0
  414. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/py.typed +0 -0
  415. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  416. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/py.typed +0 -0
  417. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/stats.py +0 -0
  418. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/__init__.py +0 -0
  419. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/__init__.pyi +0 -0
  420. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/base.py +0 -0
  421. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/py.typed +0 -0
  422. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/tests/test_sqlite.py +0 -0
  423. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/tests/test_utils.py +0 -0
  424. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/storage/utils.py +0 -0
  425. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/__init__.py +0 -0
  426. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/__init__.pyi +0 -0
  427. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  428. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/datagrabbers.py +0 -0
  429. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/py.typed +0 -0
  430. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/registry.py +0 -0
  431. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  432. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  433. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  434. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/tests/test_testing_registry.py +0 -0
  435. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/testing/utils.py +0 -0
  436. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/tests/test_main.py +0 -0
  437. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/tests/test_stats.py +0 -0
  438. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/typing/__init__.py +0 -0
  439. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/typing/__init__.pyi +0 -0
  440. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/typing/_typing.py +0 -0
  441. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/__init__.py +0 -0
  442. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/__init__.pyi +0 -0
  443. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/_config.py +0 -0
  444. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/_yaml.py +0 -0
  445. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/fs.py +0 -0
  446. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/helpers.py +0 -0
  447. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/py.typed +0 -0
  448. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/singleton.py +0 -0
  449. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/tests/test_config.py +0 -0
  450. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/tests/test_fs.py +0 -0
  451. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer/utils/tests/test_helpers.py +0 -0
  452. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/dependency_links.txt +0 -0
  453. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/entry_points.txt +0 -0
  454. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/junifer.egg-info/top_level.txt +0 -0
  455. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/setup.cfg +0 -0
  456. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/setup.py +0 -0
  457. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_aomic1000_example_dataset.py +0 -0
  458. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_aomicpiop1_example_dataset.py +0 -0
  459. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_aomicpiop2_example_dataset.py +0 -0
  460. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_bids_example_dataset.py +0 -0
  461. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_bids_example_dataset_sessions.py +0 -0
  462. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  463. {junifer-0.0.7.dev18 → junifer-0.0.7.dev47}/tools/create_hcp1200_example_dataset.py +0 -0
@@ -17,24 +17,22 @@ repos:
17
17
  - id: trailing-whitespace
18
18
  args: [--markdown-linebreak-ext=md]
19
19
  - repo: https://github.com/abravalheri/validate-pyproject
20
- rev: v0.23
20
+ rev: v0.24.1
21
21
  hooks:
22
22
  - id: validate-pyproject
23
- - repo: https://github.com/psf/black-pre-commit-mirror
24
- rev: 24.10.0
25
- hooks:
26
- - id: black
27
- exclude: ^(docs/|examples/|tools/)
28
- args: [--check]
29
23
  - repo: https://github.com/astral-sh/ruff-pre-commit
30
- rev: v0.9.3
24
+ rev: v0.11.2
31
25
  hooks:
32
26
  - id: ruff
33
27
  types_or: [python, jupyter]
34
28
  exclude: ^(__init__.py)
35
29
  args: [--output-format, grouped, --show-fixes]
30
+ - id: ruff-format
31
+ types_or: [python, jupyter]
32
+ exclude: ^(__init__.py)
33
+ args: [--check, --diff]
36
34
  - repo: https://github.com/codespell-project/codespell
37
- rev: v2.4.0
35
+ rev: v2.4.1
38
36
  hooks:
39
37
  - id: codespell
40
38
  exclude: ^(.github/|docs/)
@@ -47,10 +45,3 @@ repos:
47
45
  - id: rst-backticks
48
46
  - id: rst-directive-colons
49
47
  - id: rst-inline-touching-normal
50
- - repo: https://github.com/adamchainz/blacken-docs
51
- rev: "1.19.1"
52
- hooks:
53
- - id: blacken-docs
54
- additional_dependencies:
55
- - black==24.4.2
56
- args: [-l 79]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.7.dev18
3
+ Version: 0.0.7.dev47
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>
@@ -57,6 +57,8 @@ Requires-Dist: neurokit2>=0.1.7; extra == "neurokit2"
57
57
  Provides-Extra: dev
58
58
  Requires-Dist: tox; extra == "dev"
59
59
  Requires-Dist: pre-commit; extra == "dev"
60
+ Requires-Dist: ruff; extra == "dev"
61
+ Requires-Dist: towncrier; extra == "dev"
60
62
  Provides-Extra: docs
61
63
  Requires-Dist: seaborn<0.14.0,>=0.13.0; extra == "docs"
62
64
  Requires-Dist: sphinx<8.1.0,>=7.3.0; extra == "docs"
@@ -81,7 +83,6 @@ Dynamic: license-file
81
83
  [![Anaconda-Server Badge](https://anaconda.org/conda-forge/junifer/badges/version.svg)](https://anaconda.org/conda-forge/junifer)
82
84
  ![GitHub](https://img.shields.io/github/license/juaml/junifer?style=flat-square)
83
85
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/junifer?style=flat-square)
84
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
85
86
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
86
87
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
87
88
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8176570.svg)](https://doi.org/10.5281/zenodo.8176570)
@@ -8,7 +8,6 @@
8
8
  [![Anaconda-Server Badge](https://anaconda.org/conda-forge/junifer/badges/version.svg)](https://anaconda.org/conda-forge/junifer)
9
9
  ![GitHub](https://img.shields.io/github/license/juaml/junifer?style=flat-square)
10
10
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/junifer?style=flat-square)
11
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
12
11
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
13
12
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
14
13
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8176570.svg)](https://doi.org/10.5281/zenodo.8176570)
@@ -0,0 +1,45 @@
1
+ name: junifer-dev
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - python>=3.10,<=3.13
6
+ - click>=8.1.3,<8.2
7
+ - numpy>=1.26.0,<2.0.0
8
+ - scipy>=1.10.0,<=1.15.0
9
+ - pandas>=2.0.0,<2.3.0
10
+ - nibabel>=5.2.0,<5.4.0
11
+ - nilearn>=0.10.3,<=0.10.4
12
+ - sqlalchemy>=2.0.25,<=2.1.0
13
+ - ruamel.yaml>=0.17,<0.19
14
+ - h5py>=3.10
15
+ - tqdm>=4.66.1,<4.67.0
16
+ - templateflow>=23.0.0
17
+ - lapy>=1.0.0,<2.0.0
18
+ - lazy_loader==0.4
19
+ - importlib_metadata
20
+ - looseversion==1.3.0
21
+ - bctpy==0.6.0
22
+ - neurokit2>=0.1.7
23
+ - seaborn>=0.13.0,<0.14.0
24
+ - sphinx>=7.3.0,<8.1.0
25
+ - sphinx-gallery>=0.17.0,<0.18.0
26
+ - furo>=2024.4.27,<2024.9.0
27
+ - numpydoc>=1.6.0,<1.9.0
28
+ - sphinx-copybutton>=0.5.1,<0.5.3
29
+ - towncrier>=23.10.0,<24.7.0
30
+ - sphinxcontrib-mermaid>=0.8.1,<0.10
31
+ - sphinxcontrib-towncrier==0.4.0a0
32
+ - setuptools-scm>=8
33
+ - tox
34
+ - pre-commit
35
+ - ruff>=0.1.0
36
+ - ipykernel
37
+ - pytest-cov
38
+ - pytest
39
+ - codespell
40
+ - tomli
41
+ - pip
42
+ - pip:
43
+ - datalad>=1.0.0,<1.2.0
44
+ - julearn==0.3.3
45
+ - junifer_data==1.3.0
@@ -0,0 +1 @@
1
+ Regular repository maintenance by updating ``.pre-commit-config.yaml``, replacing ``black`` with ``ruff-format`` and updating tool configs by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Allow ``timeseries_2d`` storage for :class:`.HDF5FeatureStorage` by `Fede Raimondo`_
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.0.7.dev18'
21
- __version_tuple__ = version_tuple = (0, 0, 7, 'dev18')
20
+ __version__ = version = '0.0.7.dev47'
21
+ __version_tuple__ = version_tuple = (0, 0, 7, 'dev47')
@@ -5,7 +5,6 @@
5
5
  # Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  # License: AGPL
7
7
 
8
-
9
8
  from ..pipeline import PipelineComponentRegistry
10
9
  from ..typing import DataGrabberLike, MarkerLike, PreprocessorLike, StorageLike
11
10
 
@@ -294,8 +294,7 @@ def queue(
294
294
  valid_kind = ["HTCondor", "GNUParallelLocal"]
295
295
  if kind not in valid_kind:
296
296
  raise_error(
297
- f"Invalid value for `kind`: {kind}, "
298
- f"must be one of {valid_kind}"
297
+ f"Invalid value for `kind`: {kind}, must be one of {valid_kind}"
299
298
  )
300
299
 
301
300
  # Create a folder within the CWD to store the job files / config
@@ -218,8 +218,7 @@ class GnuParallelLocalAdapter(QueueContextAdapter):
218
218
  # Copy executable if not local
219
219
  if hasattr(self, "_exec_path"):
220
220
  logger.info(
221
- f"Copying {self._executable} to "
222
- f"{self._exec_path.resolve()!s}"
221
+ f"Copying {self._executable} to {self._exec_path.resolve()!s}"
223
222
  )
224
223
  shutil.copy(
225
224
  src=Path(__file__).parent.parent / "res" / self._executable,
@@ -235,15 +234,14 @@ class GnuParallelLocalAdapter(QueueContextAdapter):
235
234
  self._elements_file_path.write_text(textwrap.dedent(self.elements()))
236
235
  # Create pre run
237
236
  logger.info(
238
- f"Writing {self._pre_run_path.name} to "
239
- f"{self._job_dir.resolve()!s}"
237
+ f"Writing {self._pre_run_path.name} to {self._job_dir.resolve()!s}"
240
238
  )
241
239
  self._pre_run_path.touch()
242
240
  self._pre_run_path.write_text(textwrap.dedent(self.pre_run()))
243
241
  make_executable(self._pre_run_path)
244
242
  # Create run
245
243
  logger.info(
246
- f"Writing {self._run_path.name} to " f"{self._job_dir.resolve()!s}"
244
+ f"Writing {self._run_path.name} to {self._job_dir.resolve()!s}"
247
245
  )
248
246
  self._run_path.touch()
249
247
  self._run_path.write_text(textwrap.dedent(self.run()))
@@ -258,8 +256,7 @@ class GnuParallelLocalAdapter(QueueContextAdapter):
258
256
  make_executable(self._pre_collect_path)
259
257
  # Create collect
260
258
  logger.info(
261
- f"Writing {self._collect_path.name} to "
262
- f"{self._job_dir.resolve()!s}"
259
+ f"Writing {self._collect_path.name} to {self._job_dir.resolve()!s}"
263
260
  )
264
261
  self._collect_path.touch()
265
262
  self._collect_path.write_text(textwrap.dedent(self.collect()))
@@ -264,9 +264,7 @@ class HTCondorAdapter(QueueContextAdapter):
264
264
  )
265
265
 
266
266
  junifer_collect_args = (
267
- "collect "
268
- f"{self._yaml_config_path.resolve()!s} "
269
- f"{verbose_args}"
267
+ f"collect {self._yaml_config_path.resolve()!s} {verbose_args}"
270
268
  )
271
269
  log_dir_prefix = f"{self._log_dir.resolve()!s}/junifer_collect"
272
270
  fixed = (
@@ -316,7 +314,7 @@ class HTCondorAdapter(QueueContextAdapter):
316
314
  "$DAG_STATUS\n"
317
315
  )
318
316
  elif self._collect == "on_success_only":
319
- var += f"JOB collect {self._submit_collect_path}\n" "PARENT "
317
+ var += f"JOB collect {self._submit_collect_path}\nPARENT "
320
318
  for idx, _ in enumerate(self._elements):
321
319
  var += f"run{idx} "
322
320
  var += "CHILD collect\n"
@@ -328,14 +326,13 @@ class HTCondorAdapter(QueueContextAdapter):
328
326
  logger.info("Creating HTCondor job")
329
327
  # Create logs
330
328
  logger.info(
331
- f"Creating logs directory under " f"{self._job_dir.resolve()!s}"
329
+ f"Creating logs directory under {self._job_dir.resolve()!s}"
332
330
  )
333
331
  self._log_dir.mkdir(exist_ok=True, parents=True)
334
332
  # Copy executable if not local
335
333
  if hasattr(self, "_exec_path"):
336
334
  logger.info(
337
- f"Copying {self._executable} to "
338
- f"{self._exec_path.resolve()!s}"
335
+ f"Copying {self._executable} to {self._exec_path.resolve()!s}"
339
336
  )
340
337
  shutil.copy(
341
338
  src=Path(__file__).parent.parent / "res" / self._executable,
@@ -344,8 +341,7 @@ class HTCondorAdapter(QueueContextAdapter):
344
341
  make_executable(self._exec_path)
345
342
  # Create pre run
346
343
  logger.info(
347
- f"Writing {self._pre_run_path.name} to "
348
- f"{self._job_dir.resolve()!s}"
344
+ f"Writing {self._pre_run_path.name} to {self._job_dir.resolve()!s}"
349
345
  )
350
346
  self._pre_run_path.touch()
351
347
  self._pre_run_path.write_text(textwrap.dedent(self.pre_run()))
@@ -374,7 +370,7 @@ class HTCondorAdapter(QueueContextAdapter):
374
370
  self._submit_collect_path.write_text(textwrap.dedent(self.collect()))
375
371
  # Create DAG
376
372
  logger.debug(
377
- f"Writing {self._dag_path.name} to " f"{self._job_dir.resolve()!s}"
373
+ f"Writing {self._dag_path.name} to {self._job_dir.resolve()!s}"
378
374
  )
379
375
  self._dag_path.touch()
380
376
  self._dag_path.write_text(textwrap.dedent(self.dag()))
@@ -18,6 +18,23 @@ def test_parse_yaml_failure() -> None:
18
18
  parse_yaml("foo.yaml")
19
19
 
20
20
 
21
+ def test_parse_yaml_empty_elements_failure(tmp_path: Path) -> None:
22
+ """Test YAML parsing with empty elements failure.
23
+
24
+ Parameters
25
+ ----------
26
+ tmp_path : pathlib.Path
27
+ The path to the test directory.
28
+
29
+ """
30
+ # Write test file
31
+ fname = tmp_path / "test_parse_yaml_empty_elements_failure.yaml"
32
+ fname.write_text("elements:")
33
+ # Check test file
34
+ with pytest.raises(ValueError, match="elements key was defined"):
35
+ parse_yaml(fname)
36
+
37
+
21
38
  def test_parse_yaml_success(tmp_path: Path) -> None:
22
39
  """Test YAML parsing success.
23
40
 
@@ -159,6 +176,41 @@ def test_parse_yaml_absolute_path(tmp_path: Path) -> None:
159
176
  parse_yaml(yaml_fname)
160
177
 
161
178
 
179
+ def test_parse_yaml_multi_module_deps(tmp_path: Path) -> None:
180
+ """Test YAML parsing with multi-module import with deps.
181
+
182
+ Parameters
183
+ ----------
184
+ tmp_path : pathlib.Path
185
+ The path to the test directory.
186
+
187
+ """
188
+ t_tmp_path = tmp_path / "test_with_multi_module"
189
+
190
+ # Write .py to include
191
+ py_path = t_tmp_path / "external"
192
+ py_path.mkdir(exist_ok=True, parents=True)
193
+ py_fname_1 = py_path / "first.py"
194
+ py_fname_1.write_text(
195
+ "import numpy as np\nfrom second import hej\n"
196
+ "def junifer_module_deps(): return ['second.py']\n"
197
+ )
198
+ py_fname_2 = py_path / "second.py"
199
+ py_fname_2.write_text("def hej(): print('hej')\n")
200
+
201
+ # Write yaml
202
+ yaml_path = t_tmp_path / "yamls"
203
+ yaml_path.mkdir(exist_ok=True, parents=True)
204
+ yaml_fname = yaml_path / "test_parse_yaml_multi_module.yaml"
205
+
206
+ yaml_fname.write_text(
207
+ "foo: bar\nwith:\n - ../external/first.py\n - scipy\n"
208
+ )
209
+
210
+ # Check test file
211
+ parse_yaml(yaml_fname)
212
+
213
+
162
214
  def test_parse_storage_uri_relative(tmp_path: Path) -> None:
163
215
  """Test YAML parsing with storage and relative URI.
164
216
 
@@ -212,3 +264,17 @@ def test_parse_storage_uri_relative(tmp_path: Path) -> None:
212
264
  assert "foo" in contents
213
265
  assert contents["foo"] == "bar"
214
266
  assert "storage" in contents
267
+
268
+
269
+ def test_parse_yaml_queue_venv_relative(tmp_path: Path) -> None:
270
+ """Test YAML parsing with relative venv queue.
271
+
272
+ Parameters
273
+ ----------
274
+ tmp_path : pathlib.Path
275
+ The path to the test directory.
276
+
277
+ """
278
+ fname = tmp_path / "test_parse_yaml_queue_venv_relative.yaml"
279
+ fname.write_text("queue:\n env:\n kind: venv\n name: .venv\n")
280
+ _ = parse_yaml(fname)
@@ -95,7 +95,7 @@ def get_data(
95
95
  target_data=target_data,
96
96
  extra_input=extra_input,
97
97
  )
98
- else:
98
+ else: # pragma: no cover
99
99
  raise_error(f"Unknown data kind: {kind}")
100
100
 
101
101
 
@@ -125,7 +125,7 @@ def list_data(kind: str) -> list[str]:
125
125
  return ParcellationRegistry().list
126
126
  elif kind == "mask":
127
127
  return MaskRegistry().list
128
- else:
128
+ else: # pragma: no cover
129
129
  raise_error(f"Unknown data kind: {kind}")
130
130
 
131
131
 
@@ -172,7 +172,7 @@ def load_data(
172
172
  return ParcellationRegistry().load(name=name, **kwargs)
173
173
  elif kind == "mask":
174
174
  return MaskRegistry().load(name=name, **kwargs)
175
- else:
175
+ else: # pragma: no cover
176
176
  raise_error(f"Unknown data kind: {kind}")
177
177
 
178
178
 
@@ -217,7 +217,7 @@ def register_data(
217
217
  return MaskRegistry().register(
218
218
  name=name, space=space, overwrite=overwrite, **kwargs
219
219
  )
220
- else:
220
+ else: # pragma: no cover
221
221
  raise_error(f"Unknown data kind: {kind}")
222
222
 
223
223
 
@@ -244,5 +244,5 @@ def deregister_data(kind: str, name: str) -> None:
244
244
  return ParcellationRegistry().deregister(name=name)
245
245
  elif kind == "mask":
246
246
  return MaskRegistry().deregister(name=name)
247
- else:
247
+ else: # pragma: no cover
248
248
  raise_error(f"Unknown data kind: {kind}")
@@ -27,7 +27,7 @@ class ANTsCoordinatesWarper:
27
27
  seeds: ArrayLike,
28
28
  target_data: dict[str, Any],
29
29
  warp_data: dict[str, Any],
30
- ) -> ArrayLike:
30
+ ) -> ArrayLike: # pragma: no cover
31
31
  """Warp ``seeds`` to correct space.
32
32
 
33
33
  Parameters
@@ -339,7 +339,7 @@ class CoordinatesRegistry(BasePipelineDataRegistry, metaclass=Singleton):
339
339
  seeds, labels, _ = self.load(name=coords)
340
340
 
341
341
  # Transform coordinate if target data is native
342
- if target_data["space"] == "native":
342
+ if target_data["space"] == "native": # pragma: no cover
343
343
  # Check for extra inputs
344
344
  if extra_input is None:
345
345
  raise_error(
@@ -27,7 +27,7 @@ class FSLCoordinatesWarper:
27
27
  seeds: ArrayLike,
28
28
  target_data: dict[str, Any],
29
29
  warp_data: dict[str, Any],
30
- ) -> ArrayLike:
30
+ ) -> ArrayLike: # pragma: no cover
31
31
  """Warp ``seeds`` to correct space.
32
32
 
33
33
  Parameters
@@ -8,7 +8,13 @@ import numpy as np
8
8
  import pytest
9
9
  from numpy.testing import assert_array_equal
10
10
 
11
- from junifer.data import CoordinatesRegistry
11
+ from junifer.data import (
12
+ deregister_data,
13
+ get_data,
14
+ list_data,
15
+ load_data,
16
+ register_data,
17
+ )
12
18
  from junifer.datareader import DefaultDataReader
13
19
  from junifer.testing.datagrabbers import OasisVBMTestingDataGrabber
14
20
 
@@ -16,7 +22,8 @@ from junifer.testing.datagrabbers import OasisVBMTestingDataGrabber
16
22
  def test_register_built_in_check() -> None:
17
23
  """Test coordinates registration check for built-in coordinates."""
18
24
  with pytest.raises(ValueError, match=r"built-in"):
19
- CoordinatesRegistry().register(
25
+ register_data(
26
+ kind="coordinates",
20
27
  name="DMNBuckner",
21
28
  coordinates=np.zeros(2),
22
29
  voi_names=["1", "2"],
@@ -26,14 +33,16 @@ def test_register_built_in_check() -> None:
26
33
 
27
34
  def test_register_overwrite() -> None:
28
35
  """Test coordinates registration check for overwriting."""
29
- CoordinatesRegistry().register(
36
+ register_data(
37
+ kind="coordinates",
30
38
  name="MyList",
31
39
  coordinates=np.zeros((2, 3)),
32
40
  voi_names=["roi1", "roi2"],
33
41
  space="MNI",
34
42
  )
35
43
  with pytest.raises(ValueError, match=r"already registered"):
36
- CoordinatesRegistry().register(
44
+ register_data(
45
+ kind="coordinates",
37
46
  name="MyList",
38
47
  coordinates=np.ones((2, 3)),
39
48
  voi_names=["roi2", "roi3"],
@@ -41,7 +50,8 @@ def test_register_overwrite() -> None:
41
50
  overwrite=False,
42
51
  )
43
52
 
44
- CoordinatesRegistry().register(
53
+ register_data(
54
+ kind="coordinates",
45
55
  name="MyList",
46
56
  coordinates=np.ones((2, 3)),
47
57
  voi_names=["roi2", "roi3"],
@@ -49,7 +59,7 @@ def test_register_overwrite() -> None:
49
59
  overwrite=True,
50
60
  )
51
61
 
52
- coord, names, space = CoordinatesRegistry().load("MyList")
62
+ coord, names, space = load_data(kind="coordinates", name="MyList")
53
63
  assert_array_equal(coord, np.ones((2, 3)))
54
64
  assert names == ["roi2", "roi3"]
55
65
  assert space == "MNI"
@@ -58,7 +68,8 @@ def test_register_overwrite() -> None:
58
68
  def test_register_valid_input() -> None:
59
69
  """Test coordinates registration check for valid input."""
60
70
  with pytest.raises(TypeError, match=r"numpy.ndarray"):
61
- CoordinatesRegistry().register(
71
+ register_data(
72
+ kind="coordinates",
62
73
  name="MyList",
63
74
  coordinates=[1, 2],
64
75
  voi_names=["roi1", "roi2"],
@@ -66,7 +77,8 @@ def test_register_valid_input() -> None:
66
77
  overwrite=True,
67
78
  )
68
79
  with pytest.raises(ValueError, match=r"2D array"):
69
- CoordinatesRegistry().register(
80
+ register_data(
81
+ kind="coordinates",
70
82
  name="MyList",
71
83
  coordinates=np.zeros((2, 3, 4)),
72
84
  voi_names=["roi1", "roi2"],
@@ -75,7 +87,8 @@ def test_register_valid_input() -> None:
75
87
  )
76
88
 
77
89
  with pytest.raises(ValueError, match=r"3 values"):
78
- CoordinatesRegistry().register(
90
+ register_data(
91
+ kind="coordinates",
79
92
  name="MyList",
80
93
  coordinates=np.zeros((2, 4)),
81
94
  voi_names=["roi1", "roi2"],
@@ -83,7 +96,8 @@ def test_register_valid_input() -> None:
83
96
  overwrite=True,
84
97
  )
85
98
  with pytest.raises(ValueError, match=r"voi_names"):
86
- CoordinatesRegistry().register(
99
+ register_data(
100
+ kind="coordinates",
87
101
  name="MyList",
88
102
  coordinates=np.zeros((2, 3)),
89
103
  voi_names=["roi1", "roi2", "roi3"],
@@ -95,13 +109,13 @@ def test_register_valid_input() -> None:
95
109
  def test_list() -> None:
96
110
  """Test listing of available coordinates."""
97
111
  assert {"DMNBuckner", "MultiTask", "VigAtt", "WM"}.issubset(
98
- set(CoordinatesRegistry().list)
112
+ set(list_data(kind="coordinates"))
99
113
  )
100
114
 
101
115
 
102
116
  def test_load() -> None:
103
117
  """Test loading coordinates from file."""
104
- coord, names, space = CoordinatesRegistry().load("DMNBuckner")
118
+ coord, names, space = load_data(kind="coordinates", name="DMNBuckner")
105
119
  assert coord.shape == (6, 3) # type: ignore
106
120
  assert names == ["PCC", "MPFC", "lAG", "rAG", "lHF", "rHF"]
107
121
  assert space == "MNI"
@@ -110,7 +124,7 @@ def test_load() -> None:
110
124
  def test_load_nonexisting() -> None:
111
125
  """Test loading coordinates that not exist."""
112
126
  with pytest.raises(ValueError, match=r"not found"):
113
- CoordinatesRegistry().load("NonExisting")
127
+ load_data(kind="coordinates", name="NonExisting")
114
128
 
115
129
 
116
130
  def test_get() -> None:
@@ -121,11 +135,19 @@ def test_get() -> None:
121
135
  element_data = reader.fit_transform(element)
122
136
  vbm_gm = element_data["VBM_GM"]
123
137
  # Get tailored coordinates
124
- tailored_coords, tailored_labels = CoordinatesRegistry().get(
125
- coords="DMNBuckner", target_data=vbm_gm
138
+ tailored_coords, tailored_labels = get_data(
139
+ kind="coordinates", names="DMNBuckner", target_data=vbm_gm
126
140
  )
127
141
  # Get raw coordinates
128
- raw_coords, raw_labels, _ = CoordinatesRegistry().load("DMNBuckner")
142
+ raw_coords, raw_labels, _ = load_data(
143
+ kind="coordinates", name="DMNBuckner"
144
+ )
129
145
  # Both tailored and raw should be same for now
130
146
  assert_array_equal(tailored_coords, raw_coords)
131
147
  assert tailored_labels == raw_labels
148
+
149
+
150
+ def test_deregister() -> None:
151
+ """Test coordinates deregistration."""
152
+ deregister_data(kind="coordinates", name="MyList")
153
+ assert "MyList" not in list_data(kind="coordinates")
@@ -56,7 +56,7 @@ class ANTsMaskWarper:
56
56
  dst: str,
57
57
  target_data: dict[str, Any],
58
58
  warp_data: Optional[dict[str, Any]],
59
- ) -> "Nifti1Image":
59
+ ) -> "Nifti1Image": # pragma: no cover
60
60
  """Warp ``mask_img`` to correct space.
61
61
 
62
62
  Parameters
@@ -53,7 +53,7 @@ class FSLMaskWarper:
53
53
  mask_img: "Nifti1Image",
54
54
  target_data: dict[str, Any],
55
55
  warp_data: dict[str, Any],
56
- ) -> "Nifti1Image":
56
+ ) -> "Nifti1Image": # pragma: no cover
57
57
  """Warp ``mask_img`` to correct space.
58
58
 
59
59
  Parameters