junifer 0.0.7.dev332__tar.gz → 0.0.8.dev12__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 (518) hide show
  1. junifer-0.0.8.dev12/.python-version +1 -0
  2. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/PKG-INFO +15 -15
  3. junifer-0.0.8.dev12/docs/changes/newsfragments/474.misc +1 -0
  4. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/whats_new.rst +119 -0
  5. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/_version.py +3 -3
  6. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/functions.py +7 -8
  7. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/gnu_parallel_local_adapter.py +5 -6
  8. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/htcondor_adapter.py +6 -7
  9. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +3 -4
  10. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/tests/test_htcondor_adapter.py +4 -5
  11. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/tests/test_functions.py +3 -3
  12. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/cli.py +13 -16
  13. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/parser.py +2 -5
  14. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/test_cli.py +1 -1
  15. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +1 -2
  16. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +1 -2
  17. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +2 -3
  18. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +2 -3
  19. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/ucla.py +3 -6
  20. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +1 -2
  21. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/_dispatch.py +8 -18
  22. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/_coordinates.py +3 -3
  23. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/_ants_maps_warper.py +2 -2
  24. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/_maps.py +7 -7
  25. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/_ants_mask_warper.py +2 -2
  26. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/_masks.py +10 -11
  27. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/tests/test_masks.py +4 -4
  28. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/_ants_parcellation_warper.py +2 -2
  29. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/_parcellations.py +31 -23
  30. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/template_spaces.py +3 -3
  31. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/utils.py +4 -5
  32. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/id1000.py +2 -3
  33. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/piop1.py +3 -4
  34. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/piop2.py +3 -4
  35. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/tests/test_id1000.py +2 -4
  36. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/tests/test_piop1.py +3 -5
  37. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/tests/test_piop2.py +3 -5
  38. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/base.py +4 -3
  39. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/datalad_base.py +3 -4
  40. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/dmcc13_benchmark.py +6 -7
  41. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +3 -4
  42. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/hcp1200.py +3 -4
  43. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +11 -12
  44. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/multiple.py +1 -3
  45. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/pattern.py +3 -4
  46. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +9 -8
  47. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +3 -4
  48. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datareader/default.py +2 -3
  49. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/junifer_connectivity_measure.py +3 -12
  50. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +6 -5
  51. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +10 -10
  52. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/base.py +5 -5
  53. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/brainprint.py +3 -5
  54. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/complexity_base.py +5 -7
  55. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/hurst_exponent.py +5 -7
  56. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/multiscale_entropy_auc.py +5 -7
  57. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/perm_entropy.py +5 -7
  58. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/range_entropy.py +5 -7
  59. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/range_entropy_auc.py +10 -8
  60. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/sample_entropy.py +5 -7
  61. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/weighted_perm_entropy.py +5 -7
  62. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/ets_rss.py +6 -6
  63. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/_afni_falff.py +1 -2
  64. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/_junifer_falff.py +1 -2
  65. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/falff_base.py +2 -3
  66. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/falff_maps.py +5 -5
  67. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/falff_parcels.py +7 -7
  68. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/falff_spheres.py +7 -7
  69. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +5 -5
  70. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +5 -5
  71. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +7 -7
  72. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +7 -7
  73. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/functional_connectivity_base.py +7 -7
  74. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +5 -5
  75. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +7 -7
  76. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +7 -7
  77. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/maps_aggregation.py +7 -7
  78. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/parcel_aggregation.py +9 -9
  79. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/_afni_reho.py +8 -9
  80. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/reho_base.py +1 -2
  81. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/reho_maps.py +5 -5
  82. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/reho_parcels.py +7 -7
  83. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/reho_spheres.py +7 -7
  84. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/sphere_aggregation.py +9 -9
  85. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/temporal_snr_base.py +6 -6
  86. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/temporal_snr_maps.py +4 -4
  87. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/temporal_snr_parcels.py +6 -6
  88. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/temporal_snr_spheres.py +6 -6
  89. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/utils.py +6 -5
  90. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/onthefly/_brainprint.py +3 -5
  91. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/onthefly/read_transform.py +5 -7
  92. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/marker_collection.py +4 -5
  93. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/pipeline_component_registry.py +3 -4
  94. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_data_object_dumper.py +6 -7
  95. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_update_meta_mixin.py +1 -3
  96. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/update_meta_mixin.py +2 -5
  97. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/utils.py +5 -5
  98. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/workdir_manager.py +5 -6
  99. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/_temporal_filter.py +5 -7
  100. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/_temporal_slicer.py +5 -5
  101. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/base.py +4 -4
  102. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/confounds/fmriprep_confound_remover.py +10 -12
  103. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +2 -2
  104. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/_afni_smoothing.py +1 -2
  105. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/_nilearn_smoothing.py +1 -2
  106. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/smoothing.py +4 -4
  107. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/tests/test_temporal_filter.py +4 -6
  108. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/tests/test_temporal_slicer.py +3 -4
  109. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/space_warper.py +3 -3
  110. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/stats.py +6 -5
  111. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/base.py +17 -19
  112. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/hdf5.py +24 -26
  113. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/pandas_base.py +11 -11
  114. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/sqlite.py +12 -15
  115. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/tests/test_sqlite.py +1 -2
  116. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/tests/test_utils.py +14 -10
  117. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/utils.py +1 -1
  118. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/tests/test_stats.py +1 -3
  119. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/typing/_typing.py +5 -10
  120. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/_config.py +1 -2
  121. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/logging.py +5 -5
  122. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/PKG-INFO +15 -15
  123. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/SOURCES.txt +4 -43
  124. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/requires.txt +12 -12
  125. junifer-0.0.8.dev12/justfile +29 -0
  126. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/pyproject.toml +15 -16
  127. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tox.ini +5 -7
  128. junifer-0.0.8.dev12/uv.lock +3309 -0
  129. junifer-0.0.7.dev332/docs/changes/newsfragments/231.change +0 -1
  130. junifer-0.0.7.dev332/docs/changes/newsfragments/231.misc +0 -1
  131. junifer-0.0.7.dev332/docs/changes/newsfragments/257.change +0 -1
  132. junifer-0.0.7.dev332/docs/changes/newsfragments/257.enh +0 -1
  133. junifer-0.0.7.dev332/docs/changes/newsfragments/333.enh +0 -1
  134. junifer-0.0.7.dev332/docs/changes/newsfragments/429.change +0 -1
  135. junifer-0.0.7.dev332/docs/changes/newsfragments/429.enh +0 -1
  136. junifer-0.0.7.dev332/docs/changes/newsfragments/432.feature +0 -1
  137. junifer-0.0.7.dev332/docs/changes/newsfragments/441.misc +0 -1
  138. junifer-0.0.7.dev332/docs/changes/newsfragments/443.feature +0 -1
  139. junifer-0.0.7.dev332/docs/changes/newsfragments/444.bugfix +0 -1
  140. junifer-0.0.7.dev332/docs/changes/newsfragments/450.doc +0 -1
  141. junifer-0.0.7.dev332/docs/changes/newsfragments/450.feature +0 -1
  142. junifer-0.0.7.dev332/docs/changes/newsfragments/451.doc +0 -1
  143. junifer-0.0.7.dev332/docs/changes/newsfragments/451.feature +0 -1
  144. junifer-0.0.7.dev332/docs/changes/newsfragments/452.doc +0 -1
  145. junifer-0.0.7.dev332/docs/changes/newsfragments/452.feature +0 -1
  146. junifer-0.0.7.dev332/docs/changes/newsfragments/454.bugfix +0 -1
  147. junifer-0.0.7.dev332/docs/changes/newsfragments/456.misc +0 -1
  148. junifer-0.0.7.dev332/docs/changes/newsfragments/457.misc +0 -1
  149. junifer-0.0.7.dev332/docs/changes/newsfragments/458.change +0 -1
  150. junifer-0.0.7.dev332/docs/changes/newsfragments/458.feature +0 -1
  151. junifer-0.0.7.dev332/docs/changes/newsfragments/458.misc +0 -1
  152. junifer-0.0.7.dev332/docs/changes/newsfragments/460.feature +0 -1
  153. junifer-0.0.7.dev332/docs/changes/newsfragments/462.feature +0 -1
  154. junifer-0.0.7.dev332/docs/changes/newsfragments/464.misc +0 -1
  155. junifer-0.0.7.dev332/docs/changes/newsfragments/465.misc +0 -1
  156. junifer-0.0.7.dev332/docs/changes/newsfragments/466.misc +0 -1
  157. junifer-0.0.7.dev332/docs/changes/newsfragments/467.misc +0 -1
  158. junifer-0.0.7.dev332/docs/changes/newsfragments/468.misc +0 -1
  159. junifer-0.0.7.dev332/docs/changes/newsfragments/470.enh +0 -1
  160. junifer-0.0.7.dev332/docs/changes/newsfragments/470.misc +0 -1
  161. junifer-0.0.7.dev332/docs/changes/newsfragments/472.enh +0 -1
  162. junifer-0.0.7.dev332/docs/changes/newsfragments/473.enh +0 -1
  163. junifer-0.0.7.dev332/docs/changes/newsfragments/476.enh +0 -1
  164. junifer-0.0.7.dev332/docs/changes/newsfragments/477.enh +0 -1
  165. junifer-0.0.7.dev332/docs/changes/newsfragments/481.bugfix +0 -1
  166. junifer-0.0.7.dev332/docs/changes/newsfragments/483.misc +0 -1
  167. junifer-0.0.7.dev332/docs/changes/newsfragments/485.misc +0 -1
  168. junifer-0.0.7.dev332/docs/changes/newsfragments/486.enh +0 -1
  169. junifer-0.0.7.dev332/docs/changes/newsfragments/486.misc +0 -1
  170. junifer-0.0.7.dev332/docs/changes/newsfragments/487.bugfix +0 -1
  171. junifer-0.0.7.dev332/docs/changes/newsfragments/489.misc +0 -1
  172. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.dockerignore +0 -0
  173. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  174. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  175. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  176. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  177. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  178. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  179. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/dependabot.yml +0 -0
  180. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/pull_request_template.md +0 -0
  181. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/check-stale.yml +0 -0
  182. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/ci-docs.yml +0 -0
  183. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/ci.yml +0 -0
  184. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/docker-ci-publish.yml +0 -0
  185. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/docker-docs-publish.yml +0 -0
  186. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/docker-publish.yml +0 -0
  187. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/docs-preview.yml +0 -0
  188. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/docs.yml +0 -0
  189. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/lint.yml +0 -0
  190. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.github/workflows/publish.yml +0 -0
  191. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.gitignore +0 -0
  192. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.gitmodules +0 -0
  193. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/.pre-commit-config.yaml +0 -0
  194. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/AUTHORS.rst +0 -0
  195. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/Dockerfile +0 -0
  196. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/Dockerfile-ci +0 -0
  197. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/Dockerfile-docs +0 -0
  198. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/LICENSE.md +0 -0
  199. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/README.md +0 -0
  200. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/codecov.yml +0 -0
  201. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/conda-env.yml +0 -0
  202. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/Makefile +0 -0
  203. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/_static/css/custom.css +0 -0
  204. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/_static/js/custom.js +0 -0
  205. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/_templates/versions.html +0 -0
  206. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/api.rst +0 -0
  207. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/cli.rst +0 -0
  208. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/configs.rst +0 -0
  209. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/data.rst +0 -0
  210. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/datagrabbers.rst +0 -0
  211. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/datareaders.rst +0 -0
  212. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/index.rst +0 -0
  213. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/markers.rst +0 -0
  214. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/nilearn.rst +0 -0
  215. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/onthefly.rst +0 -0
  216. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/pipeline.rst +0 -0
  217. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/preprocessing.rst +0 -0
  218. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/stats.rst +0 -0
  219. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/storage.rst +0 -0
  220. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/testing.rst +0 -0
  221. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/api/utils.rst +0 -0
  222. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/builtin.rst +0 -0
  223. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/changes/contributors.inc +0 -0
  224. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/changes/newsfragments/.gitignore +0 -0
  225. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/conf.py +0 -0
  226. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/contribution.rst +0 -0
  227. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/coordinates.rst +0 -0
  228. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/data_dump_asset.rst +0 -0
  229. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/data_registries.rst +0 -0
  230. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/data_types.rst +0 -0
  231. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/datagrabber.rst +0 -0
  232. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/dependencies.rst +0 -0
  233. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/extension.rst +0 -0
  234. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/index.rst +0 -0
  235. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/maps.rst +0 -0
  236. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/marker.rst +0 -0
  237. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/masks.rst +0 -0
  238. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/parcellations.rst +0 -0
  239. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/plugins.rst +0 -0
  240. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/extending/preprocessor.rst +0 -0
  241. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/faq.rst +0 -0
  242. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/help.rst +0 -0
  243. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/images/junifer_logo.png +0 -0
  244. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/index.rst +0 -0
  245. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/installation.rst +0 -0
  246. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/links.inc +0 -0
  247. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/maintaining.rst +0 -0
  248. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/redirect.html +0 -0
  249. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/starting.rst +0 -0
  250. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/data.rst +0 -0
  251. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/datagrabber.rst +0 -0
  252. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/datareader.rst +0 -0
  253. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/index.rst +0 -0
  254. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/marker.rst +0 -0
  255. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/pipeline.rst +0 -0
  256. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/preprocess.rst +0 -0
  257. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/understanding/storage.rst +0 -0
  258. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/codeless.rst +0 -0
  259. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/configuring.rst +0 -0
  260. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/dumping.rst +0 -0
  261. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/index.rst +0 -0
  262. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/masks.rst +0 -0
  263. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/queueing.rst +0 -0
  264. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/docs/using/running.rst +0 -0
  265. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/README.rst +0 -0
  266. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/norun_hcpfc_pearson.py +0 -0
  267. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/norun_ukbvm_gmd.py +0 -0
  268. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/run_compute_parcel_mean.py +0 -0
  269. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/run_datagrabber_bids_datalad.py +0 -0
  270. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/run_ets_rss_marker.py +0 -0
  271. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/run_junifer_julearn.py +0 -0
  272. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/run_run_gmd_mean.py +0 -0
  273. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/yamls/gmd_mean.yaml +0 -0
  274. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  275. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  276. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  277. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/ignore_words.txt +0 -0
  278. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/__init__.py +0 -0
  279. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/__init__.pyi +0 -0
  280. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/__init__.py +0 -0
  281. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/__init__.pyi +0 -0
  282. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/decorators.py +0 -0
  283. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/py.typed +0 -0
  284. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/__init__.py +0 -0
  285. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/__init__.pyi +0 -0
  286. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/py.typed +0 -0
  287. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  288. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  289. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/afni/3dRSFC +0 -0
  290. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/afni/3dReHo +0 -0
  291. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/afni/afni +0 -0
  292. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  293. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/ants/ResampleImage +0 -0
  294. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/ants/antsApplyTransforms +0 -0
  295. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  296. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  297. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/freesurfer/mri_binarize +0 -0
  298. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/freesurfer/mri_mc +0 -0
  299. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/freesurfer/mri_pretess +0 -0
  300. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/freesurfer/mris_convert +0 -0
  301. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  302. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/fsl/applywarp +0 -0
  303. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/fsl/flirt +0 -0
  304. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/fsl/img2imgcoord +0 -0
  305. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  306. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/fsl/std2imgcoord +0 -0
  307. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/run_conda.bash +0 -0
  308. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/run_conda.zsh +0 -0
  309. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/run_venv.bash +0 -0
  310. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/res/run_venv.zsh +0 -0
  311. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/api/tests/test_decorators.py +0 -0
  312. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/__init__.py +0 -0
  313. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/__init__.pyi +0 -0
  314. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/py.typed +0 -0
  315. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  316. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  317. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  318. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/test_cli_utils.py +0 -0
  319. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/tests/test_parser.py +0 -0
  320. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/cli/utils.py +0 -0
  321. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/__init__.py +0 -0
  322. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/__init__.py +0 -0
  323. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/__init__.pyi +0 -0
  324. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  325. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  326. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  327. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  328. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  329. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  330. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  331. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/configs/juseless/py.typed +0 -0
  332. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/conftest.py +0 -0
  333. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/__init__.py +0 -0
  334. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/__init__.pyi +0 -0
  335. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/__init__.py +0 -0
  336. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/__init__.pyi +0 -0
  337. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  338. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  339. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  340. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/__init__.py +0 -0
  341. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/__init__.pyi +0 -0
  342. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/_fsl_maps_warper.py +0 -0
  343. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/maps/tests/test_maps.py +0 -0
  344. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/__init__.py +0 -0
  345. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/__init__.pyi +0 -0
  346. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  347. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/__init__.py +0 -0
  348. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/__init__.pyi +0 -0
  349. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  350. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  351. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/pipeline_data_registry_base.py +0 -0
  352. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/py.typed +0 -0
  353. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/tests/test_data_utils.py +0 -0
  354. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/tests/test_dispatch.py +0 -0
  355. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/data/tests/test_template_spaces.py +0 -0
  356. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/__init__.py +0 -0
  357. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/__init__.pyi +0 -0
  358. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/__init__.py +0 -0
  359. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  360. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/aomic/py.typed +0 -0
  361. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  362. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  363. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/hcp1200/py.typed +0 -0
  364. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/pattern_datalad.py +0 -0
  365. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  366. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/py.typed +0 -0
  367. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_base.py +0 -0
  368. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  369. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_multiple.py +0 -0
  370. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_pattern.py +0 -0
  371. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  372. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datareader/__init__.py +0 -0
  373. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datareader/__init__.pyi +0 -0
  374. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datareader/py.typed +0 -0
  375. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/datareader/tests/test_default_reader.py +0 -0
  376. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  377. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  378. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  379. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  380. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  381. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  382. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  383. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  384. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/__init__.py +0 -0
  385. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/h5io/h5io/__init__.py +0 -0
  386. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/h5io/h5io/_h5io.py +0 -0
  387. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/h5io/h5io/_version.py +0 -0
  388. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  389. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  390. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/__init__.py +0 -0
  391. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/__init__.pyi +0 -0
  392. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/py.typed +0 -0
  393. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  394. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/__init__.py +0 -0
  395. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/__init__.pyi +0 -0
  396. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/__init__.py +0 -0
  397. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/__init__.pyi +0 -0
  398. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/py.typed +0 -0
  399. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  400. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  401. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  402. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  403. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  404. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  405. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  406. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  407. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/__init__.py +0 -0
  408. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/__init__.pyi +0 -0
  409. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/py.typed +0 -0
  410. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  411. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  412. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  413. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/__init__.py +0 -0
  414. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  415. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/py.typed +0 -0
  416. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  417. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  418. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  419. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  420. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  421. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  422. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  423. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  424. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/py.typed +0 -0
  425. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/__init__.py +0 -0
  426. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/__init__.pyi +0 -0
  427. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/_junifer_reho.py +0 -0
  428. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/py.typed +0 -0
  429. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  430. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  431. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  432. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/__init__.py +0 -0
  433. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  434. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/py.typed +0 -0
  435. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  436. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  437. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  438. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  439. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_brainprint.py +0 -0
  440. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_ets_rss.py +0 -0
  441. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  442. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_marker_utils.py +0 -0
  443. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_markers_base.py +0 -0
  444. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  445. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  446. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/onthefly/__init__.py +0 -0
  447. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/onthefly/tests/test_read_transform.py +0 -0
  448. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/__init__.py +0 -0
  449. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/__init__.pyi +0 -0
  450. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/_data_object_dumper.py +0 -0
  451. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  452. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/py.typed +0 -0
  453. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  454. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  455. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  456. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  457. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/__init__.py +0 -0
  458. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/__init__.pyi +0 -0
  459. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/confounds/__init__.py +0 -0
  460. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/confounds/__init__.pyi +0 -0
  461. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/confounds/py.typed +0 -0
  462. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/py.typed +0 -0
  463. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/__init__.py +0 -0
  464. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  465. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  466. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/py.typed +0 -0
  467. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  468. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  469. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/__init__.py +0 -0
  470. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/__init__.pyi +0 -0
  471. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/_ants_warper.py +0 -0
  472. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  473. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/py.typed +0 -0
  474. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  475. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/py.typed +0 -0
  476. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/__init__.py +0 -0
  477. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/__init__.pyi +0 -0
  478. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/py.typed +0 -0
  479. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/tests/test_hdf5.py +0 -0
  480. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/tests/test_pandas_base.py +0 -0
  481. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/storage/tests/test_storage_base.py +0 -0
  482. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/__init__.py +0 -0
  483. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/__init__.pyi +0 -0
  484. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  485. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/datagrabbers.py +0 -0
  486. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/py.typed +0 -0
  487. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/registry.py +0 -0
  488. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  489. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  490. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  491. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/tests/test_testing_registry.py +0 -0
  492. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/testing/utils.py +0 -0
  493. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/tests/test_main.py +0 -0
  494. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/typing/__init__.py +0 -0
  495. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/typing/__init__.pyi +0 -0
  496. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/__init__.py +0 -0
  497. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/__init__.pyi +0 -0
  498. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/_yaml.py +0 -0
  499. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/fs.py +0 -0
  500. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/helpers.py +0 -0
  501. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/py.typed +0 -0
  502. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/singleton.py +0 -0
  503. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/tests/test_config.py +0 -0
  504. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/tests/test_fs.py +0 -0
  505. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/tests/test_helpers.py +0 -0
  506. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer/utils/tests/test_logging.py +0 -0
  507. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/dependency_links.txt +0 -0
  508. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/entry_points.txt +0 -0
  509. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/junifer.egg-info/top_level.txt +0 -0
  510. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/setup.cfg +0 -0
  511. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/setup.py +0 -0
  512. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_aomic1000_example_dataset.py +0 -0
  513. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_aomicpiop1_example_dataset.py +0 -0
  514. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_aomicpiop2_example_dataset.py +0 -0
  515. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_bids_example_dataset.py +0 -0
  516. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_bids_example_dataset_sessions.py +0 -0
  517. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  518. {junifer-0.0.7.dev332 → junifer-0.0.8.dev12}/tools/create_hcp1200_example_dataset.py +0 -0
@@ -0,0 +1 @@
1
+ 3.12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.7.dev332
3
+ Version: 0.0.8.dev12
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>
@@ -19,26 +19,26 @@ Classifier: Topic :: Software Development
19
19
  Classifier: Topic :: Scientific/Engineering
20
20
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
21
21
  Classifier: Operating System :: OS Independent
22
- Classifier: Programming Language :: Python :: 3.9
23
22
  Classifier: Programming Language :: Python :: 3.10
24
23
  Classifier: Programming Language :: Python :: 3.11
25
24
  Classifier: Programming Language :: Python :: 3.12
26
25
  Classifier: Programming Language :: Python :: 3.13
27
- Requires-Python: >=3.9
26
+ Classifier: Programming Language :: Python :: 3.14
27
+ Requires-Python: >=3.10
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE.md
30
30
  License-File: AUTHORS.rst
31
31
  Requires-Dist: click<8.2,>=8.1.3
32
- Requires-Dist: numpy<2.0.0,>=1.26.0
33
- Requires-Dist: scipy<=1.15.0,>=1.10.0
34
- Requires-Dist: datalad<1.2.0,>=1.0.0
35
- Requires-Dist: pandas<2.3.0,>=2.0.0
32
+ Requires-Dist: numpy<2.4.0,>=1.26.0
33
+ Requires-Dist: scipy<1.17.0,>=1.10.0
34
+ Requires-Dist: datalad<1.3.0,>=1.0.0
35
+ Requires-Dist: pandas<2.4.0,>=2.0.0
36
36
  Requires-Dist: nibabel<5.4.0,>=5.2.0
37
37
  Requires-Dist: nilearn<=0.10.4,>=0.10.3
38
38
  Requires-Dist: sqlalchemy<=2.1.0,>=2.0.25
39
39
  Requires-Dist: ruamel.yaml<0.19,>=0.17
40
40
  Requires-Dist: h5py>=3.10
41
- Requires-Dist: tqdm<4.67.0,>=4.66.1
41
+ Requires-Dist: tqdm<4.68.0,>=4.66.1
42
42
  Requires-Dist: templateflow<25.0.0,>=23.0.0
43
43
  Requires-Dist: lapy<2.0.0,>=1.0.0
44
44
  Requires-Dist: lazy_loader==0.4
@@ -62,15 +62,15 @@ Requires-Dist: ruff; extra == "dev"
62
62
  Requires-Dist: towncrier; extra == "dev"
63
63
  Provides-Extra: docs
64
64
  Requires-Dist: seaborn<0.14.0,>=0.13.0; extra == "docs"
65
- Requires-Dist: sphinx<8.1.0,>=7.3.0; extra == "docs"
66
- Requires-Dist: sphinx-gallery<0.18.0,>=0.17.0; extra == "docs"
67
- Requires-Dist: furo<2024.9.0,>=2024.4.27; extra == "docs"
68
- Requires-Dist: numpydoc<1.9.0,>=1.6.0; extra == "docs"
65
+ Requires-Dist: sphinx<8.4.0,>=7.3.0; extra == "docs"
66
+ Requires-Dist: sphinx-gallery<0.20.0,>=0.17.0; extra == "docs"
67
+ Requires-Dist: furo<2025.10.0,>=2024.4.27; extra == "docs"
68
+ Requires-Dist: numpydoc<=1.9.0,>=1.6.0; extra == "docs"
69
69
  Requires-Dist: julearn==0.3.3; extra == "docs"
70
70
  Requires-Dist: sphinx-copybutton<0.5.3,>=0.5.1; extra == "docs"
71
- Requires-Dist: towncrier<24.7.0,>=23.10.0; extra == "docs"
72
- Requires-Dist: sphinxcontrib-mermaid<0.10,>=0.8.1; extra == "docs"
73
- Requires-Dist: sphinxcontrib-towncrier==0.4.0a0; extra == "docs"
71
+ Requires-Dist: towncrier<=25.8.0,>=24.7.0; extra == "docs"
72
+ Requires-Dist: sphinxcontrib-mermaid<=1.0.0,>=0.8.1; extra == "docs"
73
+ Requires-Dist: sphinxcontrib-towncrier==0.5.0a0; extra == "docs"
74
74
  Requires-Dist: setuptools-scm>=8; extra == "docs"
75
75
  Dynamic: license-file
76
76
 
@@ -0,0 +1 @@
1
+ Drop Python 3.9 and add Python 3.14 support, upgrade codebase to follow modern syntax, bump dependencies and add ``uv`` support.
@@ -10,6 +10,125 @@ What's new
10
10
 
11
11
  .. towncrier release notes start
12
12
 
13
+ Junifer 0.0.7 (2026-03-04)
14
+ --------------------------
15
+
16
+ Bugfixes
17
+ ^^^^^^^^
18
+
19
+ - Allow ``timeseries_2d`` storage for :class:`.HDF5FeatureStorage` by `Fede
20
+ Raimondo`_ (:gh:`444`)
21
+ - Fix FSL presence checking status code by `Fede Raimondo`_ (:gh:`454`)
22
+ - Bypass warper check for callable masks on native data by `Synchon Mandal`_
23
+ (:gh:`481`)
24
+ - Fix mask specification check involving dicts in
25
+ :class:`junifer.data.MaskRegistry` when working in native space by `Synchon
26
+ Mandal`_ (:gh:`487`)
27
+
28
+
29
+ API Changes
30
+ ^^^^^^^^^^^
31
+
32
+ - ``fname``, ``overwrite`` and ``output_format`` have been removed from
33
+ :func:`.configure_logging` by `Synchon Mandal`_ (:gh:`231`)
34
+ - ``ParcellationRegistry.get`` now returns labels as dictionary mapping from
35
+ values to labels instead of a list of labels by `Synchon Mandal`_ (:gh:`257`)
36
+ - :func:`.read_transform` has a new parameter ``nan_policy`` to handle NaN
37
+ values when transforming feature data by `Fede Raimondo`_ (:gh:`429`)
38
+ - :func:`.get_data`, :func:`.load_data`, :func:`.list_data`,
39
+ :func:`.register_data` and :func:`.deregister_data` now support ``"maps"`` as
40
+ a valid argument for ``kind`` by `Synchon Mandal`_ (:gh:`458`)
41
+
42
+
43
+ Improved Documentation
44
+ ^^^^^^^^^^^^^^^^^^^^^^
45
+
46
+ - Add documentation on extending data registries by `Synchon Mandal`_
47
+ (:gh:`450`)
48
+ - Add documentation on adding data types by `Synchon Mandal`_ (:gh:`451`)
49
+ - Add documentation on :class:`.ConfigManager`, dumping data object and
50
+ extending data dump assets by `Synchon Mandal`_ (:gh:`452`)
51
+
52
+
53
+ Enhancements
54
+ ^^^^^^^^^^^^
55
+
56
+ - Allow parcellation registration with non-continuous ranges as values by
57
+ `Synchon Mandal`_ (:gh:`257`)
58
+ - Add support for Chatterjee's xi correlation in
59
+ :class:`.JuniferConnectivityMeasure` by `Synchon Mandal`_ (:gh:`333`)
60
+ - Implement a NaN policy for :func:`.read_transform` by `Fede Raimondo`_
61
+ (:gh:`429`)
62
+ - Add FreeSurfer 7.4.1 aseg parcellation to :class:`.ParcellationRegistry` by
63
+ `Synchon Mandal`_ (:gh:`470`)
64
+ - Simplify ``Storage`` interface and implementations by `Synchon Mandal`_
65
+ (:gh:`472`)
66
+ - Simplify ``Preprocess`` interface and implementations by `Synchon Mandal`_
67
+ (:gh:`473`)
68
+ - Simplify :class:`.PipelineStepMixin` interface by `Synchon Mandal`_
69
+ (:gh:`476`)
70
+ - Improve ``Marker`` interface and implementations by `Synchon Mandal`_
71
+ (:gh:`477`)
72
+ - Add Glasser and Julich-Brain parcellations to :class:`.ParcellationRegistry`
73
+ by `Synchon Mandal`_ (:gh:`486`)
74
+
75
+
76
+ Features
77
+ ^^^^^^^^
78
+
79
+ - Introduce :class:`.TemporalFilter` preprocessor for temporally filtering BOLD
80
+ data by `Fede Raimondo`_ (:gh:`432`)
81
+ - Introduce :class:`.TemporalSlicer` preprocessor for temporally slicing BOLD
82
+ data by `Synchon Mandal`_ (:gh:`443`)
83
+ - Enable data registries to be extended by exposing
84
+ :class:`.BasePipelineDataRegistry` and introducing
85
+ :func:`.register_data_registry` decorator by `Synchon Mandal`_ (:gh:`450`)
86
+ - Enable data types to be added by introducing :func:`.register_data_type` by
87
+ `Synchon Mandal`_ (:gh:`451`)
88
+ - Allow pipeline data object to be dumped by introducing
89
+ :class:`.DataObjectDumper` and available dumping / loading assets to be
90
+ extended by introducing :func:`.register_data_dump_asset` decorator by
91
+ `Synchon Mandal`_ (:gh:`452`)
92
+ - Introduce :class:`.MapsRegistry` to centralise probabilistic atlas (maps)
93
+ data management by `Synchon Mandal`_ (:gh:`458`)
94
+ - Introduce :class:`.MapsAggregation`, :class:`.FunctionalConnectivityMaps`,
95
+ :class:`.EdgeCentricFCMaps`, :class:`.ReHoMaps`, :class:`.ALFFMaps` and
96
+ :class:`.TemporalSNRMaps` by `Synchon Mandal`_ (:gh:`460`)
97
+ - Enable :class:`.SpaceWarper` to warp data from native space to template
98
+ spaces via both FSL and ANTs by `Synchon Mandal`_ (:gh:`462`)
99
+
100
+
101
+ Miscellaneous
102
+ ^^^^^^^^^^^^^
103
+
104
+ - Adopt ``structlog`` for logging infrastructure by `Synchon Mandal`_
105
+ (:gh:`231`)
106
+ - Regular repository maintenance by updating ``.pre-commit-config.yaml``,
107
+ replacing ``black`` with ``ruff-format`` and updating tool configs by
108
+ `Synchon Mandal`_ (:gh:`441`)
109
+ - Bump ``junifer-data`` to ``v3`` for Docker images by `Synchon Mandal`_
110
+ (:gh:`456`)
111
+ - Bump ``junifer-data`` to ``v3`` by `Synchon Mandal`_ (:gh:`457`)
112
+ - Constrain ``templateflow`` version to ``>=23.0.0,<25.0.0`` by `Synchon
113
+ Mandal`_ (:gh:`458`)
114
+ - Add a new GitHub Action to mark stale issues by `Synchon Mandal`_ (:gh:`464`)
115
+ - Bump ``junifer-data`` to ``v4`` for Docker images by `Synchon Mandal`_
116
+ (:gh:`465`)
117
+ - Bump ``junifer-data`` to ``v4`` by `Synchon Mandal`_ (:gh:`466`)
118
+ - Disable FSL installation for ``junifer-ci`` Docker image build with
119
+ ``junifer-data`` v4 by `Synchon Mandal`_ (:gh:`467`)
120
+ - Pin ``junifer-ci`` Docker image to ``python:3.12-slim-bookworm`` and
121
+ re-enable FSL installation by `Synchon Mandal`_ (:gh:`468`)
122
+ - Bump ``junifer-data`` to ``v5`` by `Synchon Mandal`_ (:gh:`470`)
123
+ - Bump ``junifer-data`` to ``v6`` for Docker images by `Synchon Mandal`_
124
+ (:gh:`483`)
125
+ - Bump ``junifer-data`` to ``v7`` for Docker images by `Synchon Mandal`_
126
+ (:gh:`485`)
127
+ - Bump ``junifer-data`` to ``v7`` by `Synchon Mandal`_ (:gh:`486`)
128
+ - Add Dockerfile and a corresponding action for building and publishing the
129
+ image by `Fede Raimondo`_ and `Synchon Mandal`_ (:gh:`489`)
130
+
131
+
13
132
  Junifer 0.0.6 (2025-03-24)
14
133
  --------------------------
15
134
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.7.dev332'
32
- __version_tuple__ = version_tuple = (0, 0, 7, 'dev332')
31
+ __version__ = version = '0.0.8.dev12'
32
+ __version_tuple__ = version_tuple = (0, 0, 8, 'dev12')
33
33
 
34
- __commit_id__ = commit_id = 'g52d8784c5'
34
+ __commit_id__ = commit_id = 'gbb6de25ad'
@@ -8,7 +8,6 @@
8
8
  import os
9
9
  import shutil
10
10
  from pathlib import Path
11
- from typing import Optional, Union
12
11
 
13
12
  from ..api.queue_context import GnuParallelLocalAdapter, HTCondorAdapter
14
13
  from ..datagrabber import BaseDataGrabber
@@ -122,12 +121,12 @@ def _get_storage(storage_config: dict) -> StorageLike:
122
121
 
123
122
 
124
123
  def run(
125
- workdir: Union[str, Path, dict],
124
+ workdir: str | Path | dict,
126
125
  datagrabber: dict,
127
126
  markers: list[dict],
128
127
  storage: dict,
129
- preprocessors: Optional[list[dict]] = None,
130
- elements: Optional[Elements] = None,
128
+ preprocessors: list[dict] | None = None,
129
+ elements: Elements | None = None,
131
130
  ) -> None:
132
131
  """Run the pipeline on the selected element.
133
132
 
@@ -166,7 +165,7 @@ def run(
166
165
 
167
166
  """
168
167
  # Conditional to handle workdir config
169
- if isinstance(workdir, (str, Path)):
168
+ if isinstance(workdir, str | Path):
170
169
  if isinstance(workdir, str):
171
170
  workdir = {"workdir": Path(workdir), "cleanup": True}
172
171
  else:
@@ -263,8 +262,8 @@ def queue(
263
262
  kind: str,
264
263
  jobname: str = "junifer_job",
265
264
  overwrite: bool = False,
266
- elements: Optional[Elements] = None,
267
- **kwargs: Union[str, int, bool, dict, tuple, list],
265
+ elements: Elements | None = None,
266
+ **kwargs: str | int | bool | dict | tuple | list,
268
267
  ) -> None:
269
268
  """Queue a job to be executed later.
270
269
 
@@ -425,7 +424,7 @@ def reset(config: dict) -> None:
425
424
 
426
425
  def list_elements(
427
426
  datagrabber: dict,
428
- elements: Optional[Elements] = None,
427
+ elements: Elements | None = None,
429
428
  ) -> str:
430
429
  """List elements of the datagrabber filtered using `elements`.
431
430
 
@@ -6,7 +6,6 @@
6
6
  import shutil
7
7
  import textwrap
8
8
  from pathlib import Path
9
- from typing import Optional
10
9
 
11
10
  from ...typing import Elements
12
11
  from ...utils import logger, make_executable, raise_error, run_ext_cmd
@@ -65,11 +64,11 @@ class GnuParallelLocalAdapter(QueueContextAdapter):
65
64
  job_dir: Path,
66
65
  yaml_config_path: Path,
67
66
  elements: Elements,
68
- pre_run: Optional[str] = None,
69
- pre_collect: Optional[str] = None,
70
- env: Optional[dict[str, str]] = None,
67
+ pre_run: str | None = None,
68
+ pre_collect: str | None = None,
69
+ env: dict[str, str] | None = None,
71
70
  verbose: str = "info",
72
- verbose_datalad: Optional[str] = None,
71
+ verbose_datalad: str | None = None,
73
72
  submit: bool = False,
74
73
  ) -> None:
75
74
  """Initialize the class."""
@@ -92,7 +91,7 @@ class GnuParallelLocalAdapter(QueueContextAdapter):
92
91
  self._run_joblog_path = self._job_dir / f"run_{self._job_name}_joblog"
93
92
  self._elements_file_path = self._job_dir / "elements"
94
93
 
95
- def _check_env(self, env: Optional[dict[str, str]]) -> None:
94
+ def _check_env(self, env: dict[str, str] | None) -> None:
96
95
  """Check value of env parameter on init.
97
96
 
98
97
  Parameters
@@ -6,7 +6,6 @@
6
6
  import shutil
7
7
  import textwrap
8
8
  from pathlib import Path
9
- from typing import Optional
10
9
 
11
10
  from ...typing import Elements
12
11
  from ...utils import logger, make_executable, raise_error, run_ext_cmd
@@ -83,15 +82,15 @@ class HTCondorAdapter(QueueContextAdapter):
83
82
  job_dir: Path,
84
83
  yaml_config_path: Path,
85
84
  elements: Elements,
86
- pre_run: Optional[str] = None,
87
- pre_collect: Optional[str] = None,
88
- env: Optional[dict[str, str]] = None,
85
+ pre_run: str | None = None,
86
+ pre_collect: str | None = None,
87
+ env: dict[str, str] | None = None,
89
88
  verbose: str = "info",
90
- verbose_datalad: Optional[str] = None,
89
+ verbose_datalad: str | None = None,
91
90
  cpus: int = 1,
92
91
  mem: str = "8G",
93
92
  disk: str = "1G",
94
- extra_preamble: Optional[str] = None,
93
+ extra_preamble: str | None = None,
95
94
  collect: str = "yes",
96
95
  submit: bool = False,
97
96
  ) -> None:
@@ -121,7 +120,7 @@ class HTCondorAdapter(QueueContextAdapter):
121
120
  )
122
121
  self._dag_path = self._job_dir / f"{self._job_name}.dag"
123
122
 
124
- def _check_env(self, env: Optional[dict[str, str]]) -> None:
123
+ def _check_env(self, env: dict[str, str] | None) -> None:
125
124
  """Check value of env parameter on init.
126
125
 
127
126
  Parameters
@@ -5,7 +5,6 @@
5
5
 
6
6
  import logging
7
7
  from pathlib import Path
8
- from typing import Optional, Union
9
8
 
10
9
  import pytest
11
10
 
@@ -44,7 +43,7 @@ def test_GnuParallelLocalAdapter_env_shell_error() -> None:
44
43
  ],
45
44
  )
46
45
  def test_GnuParallelLocalAdapter_elements(
47
- elements: list[Union[str, tuple]],
46
+ elements: list[str | tuple],
48
47
  expected_text: str,
49
48
  ) -> None:
50
49
  """Test GnuParallelLocalAdapter elements().
@@ -76,7 +75,7 @@ def test_GnuParallelLocalAdapter_elements(
76
75
  ],
77
76
  )
78
77
  def test_GnuParallelLocalAdapter_pre_run(
79
- pre_run: Optional[str],
78
+ pre_run: str | None,
80
79
  expected_text: str,
81
80
  shell: str,
82
81
  ) -> None:
@@ -114,7 +113,7 @@ def test_GnuParallelLocalAdapter_pre_run(
114
113
  ],
115
114
  )
116
115
  def test_GnuParallelLocalAdapter_pre_collect(
117
- pre_collect: Optional[str],
116
+ pre_collect: str | None,
118
117
  expected_text: str,
119
118
  shell: str,
120
119
  ) -> None:
@@ -5,7 +5,6 @@
5
5
 
6
6
  import logging
7
7
  from pathlib import Path
8
- from typing import Optional, Union
9
8
 
10
9
  import pytest
11
10
 
@@ -58,7 +57,7 @@ def test_HTCondorAdapter_collect_error() -> None:
58
57
  ],
59
58
  )
60
59
  def test_HTCondorAdapter_pre_run(
61
- pre_run: Optional[str],
60
+ pre_run: str | None,
62
61
  expected_text: str,
63
62
  shell: str,
64
63
  ) -> None:
@@ -100,7 +99,7 @@ def test_HTCondorAdapter_pre_run(
100
99
  ],
101
100
  )
102
101
  def test_HTCondorAdapter_pre_collect(
103
- pre_collect: Optional[str],
102
+ pre_collect: str | None,
104
103
  expected_text: str,
105
104
  collect: str,
106
105
  shell: str,
@@ -140,7 +139,7 @@ def test_HTCondorAdapter_pre_collect(
140
139
  ],
141
140
  )
142
141
  def test_HTCondorAdapter_run_collect(
143
- extra_preamble: Optional[str], expected_text: str
142
+ extra_preamble: str | None, expected_text: str
144
143
  ) -> None:
145
144
  """Test HTCondorAdapter run() and collect().
146
145
 
@@ -181,7 +180,7 @@ def test_HTCondorAdapter_run_collect(
181
180
  ],
182
181
  )
183
182
  def test_HTCondor_dag(
184
- elements: list[Union[str, tuple]], collect: str, expected_text: str
183
+ elements: list[str | tuple], collect: str, expected_text: str
185
184
  ) -> None:
186
185
  """Test HTCondorAdapter dag().
187
186
 
@@ -8,7 +8,7 @@
8
8
  import logging
9
9
  from contextlib import AbstractContextManager, nullcontext
10
10
  from pathlib import Path
11
- from typing import Any, Optional, Union
11
+ from typing import Any
12
12
 
13
13
  import pytest
14
14
  from nibabel.filebasedimages import ImageFileError
@@ -516,7 +516,7 @@ def test_queue_with_imports(
516
516
  tmp_path: Path,
517
517
  monkeypatch: pytest.MonkeyPatch,
518
518
  caplog: pytest.LogCaptureFixture,
519
- with_: Union[str, list[str]],
519
+ with_: str | list[str],
520
520
  ) -> None:
521
521
  """Test queue with `with` imports.
522
522
 
@@ -742,7 +742,7 @@ def test_reset_queue(
742
742
  )
743
743
  def test_list_elements(
744
744
  datagrabber: dict[str, str],
745
- elements: Optional[list[tuple[str, ...]]],
745
+ elements: list[tuple[str, ...]] | None,
746
746
  ) -> None:
747
747
  """Test elements listing.
748
748
 
@@ -8,7 +8,6 @@ import pathlib
8
8
  import subprocess
9
9
  import sys
10
10
  from pathlib import Path
11
- from typing import Optional, Union
12
11
 
13
12
  import click
14
13
 
@@ -46,7 +45,7 @@ __all__ = [
46
45
 
47
46
 
48
47
  def _validate_optional_verbose(
49
- ctx: click.Context, param: str, value: Optional[str]
48
+ ctx: click.Context, param: str, value: str | None
50
49
  ):
51
50
  """Validate optional verbose option.
52
51
 
@@ -71,9 +70,7 @@ def _validate_optional_verbose(
71
70
  return _validate_verbose(ctx, param, value)
72
71
 
73
72
 
74
- def _validate_verbose(
75
- ctx: click.Context, param: str, value: str
76
- ) -> Union[str, int]:
73
+ def _validate_verbose(ctx: click.Context, param: str, value: str) -> str | int:
77
74
  """Validate verbose option.
78
75
 
79
76
  Parameters
@@ -142,8 +139,8 @@ def cli() -> None: # pragma: no cover
142
139
  def run(
143
140
  filepath: click.Path,
144
141
  element: tuple[str],
145
- verbose: Union[str, int],
146
- verbose_datalad: Optional[Union[str, int]],
142
+ verbose: str | int,
143
+ verbose_datalad: str | int | None,
147
144
  ) -> None:
148
145
  """Run feature extraction.
149
146
 
@@ -214,8 +211,8 @@ def run(
214
211
  )
215
212
  def collect(
216
213
  filepath: click.Path,
217
- verbose: Union[str, int],
218
- verbose_datalad: Union[str, int, None],
214
+ verbose: str | int,
215
+ verbose_datalad: str | int | None,
219
216
  ) -> None:
220
217
  """Collect extracted features.
221
218
 
@@ -270,8 +267,8 @@ def queue(
270
267
  element: tuple[str],
271
268
  overwrite: bool,
272
269
  submit: bool,
273
- verbose: Union[str, int],
274
- verbose_datalad: Union[str, int, None],
270
+ verbose: str | int,
271
+ verbose_datalad: str | int | None,
275
272
  ) -> None:
276
273
  """Queue feature extraction.
277
274
 
@@ -433,8 +430,8 @@ def selftest(subpkg: str) -> None:
433
430
  )
434
431
  def reset(
435
432
  filepath: click.Path,
436
- verbose: Union[str, int],
437
- verbose_datalad: Union[str, int, None],
433
+ verbose: str | int,
434
+ verbose_datalad: str | int | None,
438
435
  ) -> None:
439
436
  """Reset generated assets.
440
437
 
@@ -487,9 +484,9 @@ def reset(
487
484
  def list_elements(
488
485
  filepath: click.Path,
489
486
  element: tuple[str],
490
- output_file: Optional[click.Path],
491
- verbose: Union[str, int],
492
- verbose_datalad: Union[str, int, None],
487
+ output_file: click.Path | None,
488
+ verbose: str | int,
489
+ verbose_datalad: str | int | None,
493
490
  ) -> None:
494
491
  """List elements of a dataset.
495
492
 
@@ -8,7 +8,6 @@ import importlib
8
8
  import importlib.util
9
9
  import sys
10
10
  from pathlib import Path
11
- from typing import Union
12
11
 
13
12
  import pandas as pd
14
13
 
@@ -19,7 +18,7 @@ from ..utils import logger, raise_error, warn_with_log, yaml
19
18
  __all__ = ["parse_elements", "parse_yaml"]
20
19
 
21
20
 
22
- def parse_yaml(filepath: Union[str, Path]) -> dict: # noqa: C901
21
+ def parse_yaml(filepath: str | Path) -> dict: # noqa: C901
23
22
  """Parse YAML.
24
23
 
25
24
  Parameters
@@ -141,9 +140,7 @@ def parse_yaml(filepath: Union[str, Path]) -> dict: # noqa: C901
141
140
  return contents
142
141
 
143
142
 
144
- def parse_elements(
145
- element: tuple[str, ...], config: dict
146
- ) -> Union[Elements, None]:
143
+ def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
147
144
  """Parse elements from cli.
148
145
 
149
146
  Parameters
@@ -4,8 +4,8 @@
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
5
5
  # License: AGPL
6
6
 
7
+ from collections.abc import Callable
7
8
  from pathlib import Path
8
- from typing import Callable
9
9
 
10
10
  import pytest
11
11
  from click.testing import CliRunner
@@ -5,7 +5,6 @@
5
5
  # License: AGPL
6
6
 
7
7
  from pathlib import Path
8
- from typing import Union
9
8
 
10
9
  from ....api.decorators import register_datagrabber
11
10
  from ....datagrabber import PatternDataladDataGrabber
@@ -29,7 +28,7 @@ class JuselessDataladAOMICID1000VBM(PatternDataladDataGrabber):
29
28
 
30
29
  """
31
30
 
32
- def __init__(self, datadir: Union[str, Path, None] = None) -> None:
31
+ def __init__(self, datadir: str | Path | None = None) -> None:
33
32
  uri = "https://gin.g-node.org/felixh/ds003097_ReproVBM"
34
33
  types = ["VBM_GM"]
35
34
  replacements = ["subject"]
@@ -6,7 +6,6 @@
6
6
  # License: AGPL
7
7
 
8
8
  from pathlib import Path
9
- from typing import Union
10
9
 
11
10
  from ....api.decorators import register_datagrabber
12
11
  from ....datagrabber import PatternDataladDataGrabber
@@ -30,7 +29,7 @@ class JuselessDataladCamCANVBM(PatternDataladDataGrabber):
30
29
 
31
30
  """
32
31
 
33
- def __init__(self, datadir: Union[str, Path, None] = None) -> None:
32
+ def __init__(self, datadir: str | Path | None = None) -> None:
34
33
  uri = (
35
34
  "ria+http://cat_12.5.ds.inm7.de"
36
35
  "#a139b26a-8406-11ea-8f94-a0369f287950"
@@ -6,7 +6,6 @@
6
6
  # License: AGPL
7
7
 
8
8
  from pathlib import Path
9
- from typing import Union
10
9
 
11
10
  from ....api.decorators import register_datagrabber
12
11
  from ....datagrabber import PatternDataladDataGrabber
@@ -36,8 +35,8 @@ class JuselessDataladIXIVBM(PatternDataladDataGrabber):
36
35
 
37
36
  def __init__(
38
37
  self,
39
- datadir: Union[str, Path, None] = None,
40
- sites: Union[str, list[str], None] = None,
38
+ datadir: str | Path | None = None,
39
+ sites: str | list[str] | None = None,
41
40
  ) -> None:
42
41
  uri = (
43
42
  "ria+http://cat_12.5.ds.inm7.de"
@@ -6,7 +6,6 @@
6
6
  # License: AGPL
7
7
 
8
8
  import socket
9
- from typing import Optional, Union
10
9
 
11
10
  import pytest
12
11
 
@@ -53,7 +52,7 @@ def test_JuselessUCLA() -> None:
53
52
  ],
54
53
  )
55
54
  def test_JuselessUCLA_partial_data_access(
56
- types: Union[str, list[str]],
55
+ types: str | list[str],
57
56
  ) -> None:
58
57
  """Test JuselessUCLA DataGrabber partial data access.
59
58
 
@@ -92,7 +91,7 @@ def test_JuselessUCLA_incorrect_data_type() -> None:
92
91
  "tasks",
93
92
  [None, "rest", ["rest", "stopsignal"]],
94
93
  )
95
- def test_JuselessUCLA_task_params(tasks: Optional[str]) -> None:
94
+ def test_JuselessUCLA_task_params(tasks: str | None) -> None:
96
95
  """Test JuselessUCLA with different task parameters.
97
96
 
98
97
  Parameters
@@ -5,7 +5,6 @@
5
5
  # License: AGPL
6
6
 
7
7
  from pathlib import Path
8
- from typing import Union
9
8
 
10
9
  from ....api.decorators import register_datagrabber
11
10
  from ....datagrabber import PatternDataGrabber
@@ -40,11 +39,9 @@ class JuselessUCLA(PatternDataGrabber):
40
39
 
41
40
  def __init__(
42
41
  self,
43
- datadir: Union[
44
- str, Path
45
- ] = "/data/project/psychosis_thalamus/data/fmriprep",
46
- types: Union[str, list[str], None] = None,
47
- tasks: Union[str, list[str], None] = None,
42
+ datadir: str | Path = "/data/project/psychosis_thalamus/data/fmriprep",
43
+ types: str | list[str] | None = None,
44
+ tasks: str | list[str] | None = None,
48
45
  ) -> None:
49
46
  # Declare all tasks
50
47
  all_tasks = [