junifer 0.0.6.dev266__tar.gz → 0.0.6.dev277__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 (491) hide show
  1. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/PKG-INFO +1 -1
  2. junifer-0.0.6.dev277/docs/changes/newsfragments/401.feature +1 -0
  3. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/_version.py +2 -2
  4. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/functions.py +1 -1
  5. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/parser.py +1 -1
  6. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/_masks.py +1 -1
  7. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/template_spaces.py +1 -1
  8. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/stats.py +1 -1
  9. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/typing/__init__.pyi +2 -0
  10. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/typing/_typing.py +8 -6
  11. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/__init__.pyi +3 -0
  12. junifer-0.0.6.dev277/junifer/utils/_config.py +110 -0
  13. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/helpers.py +1 -1
  14. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/singleton.py +1 -1
  15. junifer-0.0.6.dev277/junifer/utils/tests/test_config.py +59 -0
  16. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/PKG-INFO +1 -1
  17. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/SOURCES.txt +3 -0
  18. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.dockerignore +0 -0
  19. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  20. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  21. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  22. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  23. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  24. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  25. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/dependabot.yml +0 -0
  26. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/pull_request_template.md +0 -0
  27. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/ci-docs.yml +0 -0
  28. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/ci.yml +0 -0
  29. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/docker-ci-publish.yml +0 -0
  30. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/docker-docs-publish.yml +0 -0
  31. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/docs-preview.yml +0 -0
  32. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/docs.yml +0 -0
  33. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/lint.yml +0 -0
  34. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.github/workflows/pypi.yml +0 -0
  35. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.gitignore +0 -0
  36. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.gitmodules +0 -0
  37. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/.pre-commit-config.yaml +0 -0
  38. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/AUTHORS.rst +0 -0
  39. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/Dockerfile-ci +0 -0
  40. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/Dockerfile-docs +0 -0
  41. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/LICENSE.md +0 -0
  42. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/README.md +0 -0
  43. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/codecov.yml +0 -0
  44. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/conda-env.yml +0 -0
  45. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/Makefile +0 -0
  46. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/_static/css/custom.css +0 -0
  47. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/_static/js/custom.js +0 -0
  48. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/_templates/versions.html +0 -0
  49. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/api.rst +0 -0
  50. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/cli.rst +0 -0
  51. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/configs.rst +0 -0
  52. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/data.rst +0 -0
  53. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/datagrabbers.rst +0 -0
  54. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/datareaders.rst +0 -0
  55. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/index.rst +0 -0
  56. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/markers.rst +0 -0
  57. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/nilearn.rst +0 -0
  58. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/onthefly.rst +0 -0
  59. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/pipeline.rst +0 -0
  60. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/preprocessing.rst +0 -0
  61. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/stats.rst +0 -0
  62. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/storage.rst +0 -0
  63. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/testing.rst +0 -0
  64. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/api/utils.rst +0 -0
  65. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/builtin.rst +0 -0
  66. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/contributors.inc +0 -0
  67. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/.gitignore +0 -0
  68. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/335.enh +0 -0
  69. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/354.feature +0 -0
  70. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/355.misc +0 -0
  71. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/356.bugfix +0 -0
  72. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/357.enh +0 -0
  73. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/358.doc +0 -0
  74. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/359.doc +0 -0
  75. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/360.bugfix +0 -0
  76. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/361.misc +0 -0
  77. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/362.feature +0 -0
  78. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/367.enh +0 -0
  79. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/368.enh +0 -0
  80. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/369.bugfix +0 -0
  81. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/370.bugfix +0 -0
  82. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/372.misc +0 -0
  83. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/373.misc +0 -0
  84. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/374.misc +0 -0
  85. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/380.misc +0 -0
  86. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/382.misc +0 -0
  87. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/383.misc +0 -0
  88. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/384.misc +0 -0
  89. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/386.bugfix +0 -0
  90. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/387.change +0 -0
  91. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/387.feature +0 -0
  92. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/388.bugfix +0 -0
  93. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/389.enh +0 -0
  94. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/390.change +0 -0
  95. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/390.enh +0 -0
  96. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/391.misc +0 -0
  97. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/392.feature +0 -0
  98. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/393.misc +0 -0
  99. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/changes/newsfragments/398.bugfix +0 -0
  100. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/conf.py +0 -0
  101. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/contribution.rst +0 -0
  102. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/coordinates.rst +0 -0
  103. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/datagrabber.rst +0 -0
  104. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/dependencies.rst +0 -0
  105. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/extension.rst +0 -0
  106. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/index.rst +0 -0
  107. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/marker.rst +0 -0
  108. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/masks.rst +0 -0
  109. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/parcellations.rst +0 -0
  110. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/extending/preprocessor.rst +0 -0
  111. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/faq.rst +0 -0
  112. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/help.rst +0 -0
  113. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/images/junifer_logo.png +0 -0
  114. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/index.rst +0 -0
  115. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/installation.rst +0 -0
  116. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/links.inc +0 -0
  117. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/maintaining.rst +0 -0
  118. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/redirect.html +0 -0
  119. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/starting.rst +0 -0
  120. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/data.rst +0 -0
  121. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/datagrabber.rst +0 -0
  122. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/datareader.rst +0 -0
  123. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/index.rst +0 -0
  124. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/marker.rst +0 -0
  125. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/pipeline.rst +0 -0
  126. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/preprocess.rst +0 -0
  127. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/understanding/storage.rst +0 -0
  128. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/using/codeless.rst +0 -0
  129. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/using/index.rst +0 -0
  130. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/using/masks.rst +0 -0
  131. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/using/queueing.rst +0 -0
  132. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/using/running.rst +0 -0
  133. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/docs/whats_new.rst +0 -0
  134. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/README.rst +0 -0
  135. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/norun_hcpfc_pearson.py +0 -0
  136. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/norun_ukbvm_gmd.py +0 -0
  137. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/run_compute_parcel_mean.py +0 -0
  138. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/run_datagrabber_bids_datalad.py +0 -0
  139. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/run_ets_rss_marker.py +0 -0
  140. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/run_junifer_julearn.py +0 -0
  141. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/run_run_gmd_mean.py +0 -0
  142. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/yamls/gmd_mean.yaml +0 -0
  143. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  144. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  145. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  146. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/ignore_words.txt +0 -0
  147. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/__init__.py +0 -0
  148. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/__init__.pyi +0 -0
  149. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/__init__.py +0 -0
  150. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/__init__.pyi +0 -0
  151. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/decorators.py +1 -1
  152. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/py.typed +0 -0
  153. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/__init__.py +0 -0
  154. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/__init__.pyi +0 -0
  155. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  156. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  157. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/py.typed +0 -0
  158. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  159. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  160. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  161. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  162. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/afni/3dRSFC +0 -0
  163. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/afni/3dReHo +0 -0
  164. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/afni/afni +0 -0
  165. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  166. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/ants/ResampleImage +0 -0
  167. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/ants/antsApplyTransforms +0 -0
  168. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  169. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  170. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/freesurfer/mri_binarize +0 -0
  171. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/freesurfer/mri_mc +0 -0
  172. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/freesurfer/mri_pretess +0 -0
  173. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/freesurfer/mris_convert +0 -0
  174. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  175. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/fsl/applywarp +0 -0
  176. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/fsl/flirt +0 -0
  177. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/fsl/img2imgcoord +0 -0
  178. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  179. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/fsl/std2imgcoord +0 -0
  180. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/run_conda.bash +0 -0
  181. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/run_conda.zsh +0 -0
  182. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/run_venv.bash +0 -0
  183. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/res/run_venv.zsh +0 -0
  184. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/api/tests/test_functions.py +0 -0
  185. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/__init__.py +0 -0
  186. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/__init__.pyi +0 -0
  187. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/cli.py +8 -8
  188. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/py.typed +0 -0
  189. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  190. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  191. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  192. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/test_cli.py +0 -0
  193. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/test_cli_utils.py +0 -0
  194. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/tests/test_parser.py +0 -0
  195. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/cli/utils.py +0 -0
  196. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/__init__.py +0 -0
  197. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/__init__.py +0 -0
  198. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/__init__.pyi +0 -0
  199. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  200. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  201. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  202. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  203. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  204. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  205. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  206. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  207. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  208. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  209. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  210. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  211. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  212. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/configs/juseless/py.typed +0 -0
  213. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/conftest.py +0 -0
  214. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/__init__.py +0 -0
  215. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/__init__.pyi +0 -0
  216. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/_dispatch.py +1 -1
  217. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  218. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/CogAC_VOIs.txt +0 -0
  219. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/CogAR_VOIs.txt +0 -0
  220. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  221. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  222. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Empathy_VOIs.txt +0 -0
  223. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Motor_VOIs.txt +0 -0
  224. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/MultiTask_VOIs.txt +0 -0
  225. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  226. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  227. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  228. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Rew_VOIs.txt +0 -0
  229. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  230. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/ToM_VOIs.txt +0 -0
  231. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/VigAtt_VOIs.txt +0 -0
  232. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/WM_VOIs.txt +0 -0
  233. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/eMDN_VOIs.txt +0 -0
  234. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/eSAD_VOIs.txt +0 -0
  235. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/VOIs/meta/extDMN_VOIs.txt +0 -0
  236. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/__init__.py +0 -0
  237. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/__init__.pyi +0 -0
  238. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  239. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/_coordinates.py +0 -0
  240. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  241. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  242. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/__init__.py +0 -0
  243. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/__init__.pyi +0 -0
  244. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/_ants_mask_warper.py +0 -0
  245. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  246. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/tests/test_masks.py +0 -0
  247. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
  248. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  249. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  250. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  251. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/__init__.py +0 -0
  252. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/__init__.pyi +0 -0
  253. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  254. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  255. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/_parcellations.py +0 -0
  256. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  257. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/pipeline_data_registry_base.py +0 -0
  258. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/py.typed +0 -0
  259. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/tests/test_data_utils.py +0 -0
  260. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/tests/test_template_spaces.py +0 -0
  261. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/data/utils.py +0 -0
  262. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/__init__.py +0 -0
  263. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/__init__.pyi +0 -0
  264. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/__init__.py +0 -0
  265. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  266. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/id1000.py +0 -0
  267. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/piop1.py +0 -0
  268. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/piop2.py +0 -0
  269. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/py.typed +0 -0
  270. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  271. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  272. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  273. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/base.py +0 -0
  274. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/datalad_base.py +0 -0
  275. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  276. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  277. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  278. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  279. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  280. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/py.typed +0 -0
  281. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  282. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/multiple.py +0 -0
  283. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/pattern.py +0 -0
  284. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/pattern_datalad.py +0 -0
  285. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  286. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/py.typed +0 -0
  287. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_base.py +0 -0
  288. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  289. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  290. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_multiple.py +0 -0
  291. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_pattern.py +0 -0
  292. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  293. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  294. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datareader/__init__.py +0 -0
  295. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datareader/__init__.pyi +0 -0
  296. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datareader/default.py +0 -0
  297. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datareader/py.typed +0 -0
  298. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/datareader/tests/test_default_reader.py +0 -0
  299. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  300. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  301. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  302. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  303. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  304. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  305. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  306. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  307. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/__init__.py +0 -0
  308. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/h5io/h5io/__init__.py +0 -0
  309. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/h5io/h5io/_h5io.py +0 -0
  310. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/h5io/h5io/_version.py +0 -0
  311. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  312. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  313. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/__init__.py +0 -0
  314. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/__init__.pyi +0 -0
  315. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  316. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  317. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/py.typed +0 -0
  318. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  319. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  320. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/__init__.py +0 -0
  321. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/__init__.pyi +0 -0
  322. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/base.py +0 -0
  323. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/brainprint.py +0 -0
  324. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/__init__.py +0 -0
  325. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/__init__.pyi +0 -0
  326. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/complexity_base.py +0 -0
  327. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/hurst_exponent.py +0 -0
  328. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  329. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/perm_entropy.py +0 -0
  330. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/py.typed +0 -0
  331. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/range_entropy.py +0 -0
  332. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  333. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/sample_entropy.py +0 -0
  334. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  335. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  336. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  337. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  338. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  339. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  340. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  341. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  342. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  343. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/ets_rss.py +0 -0
  344. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/__init__.py +0 -0
  345. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/__init__.pyi +0 -0
  346. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/_afni_falff.py +0 -0
  347. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/_junifer_falff.py +0 -0
  348. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/falff_base.py +0 -0
  349. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/falff_parcels.py +0 -0
  350. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/falff_spheres.py +0 -0
  351. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/py.typed +0 -0
  352. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  353. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  354. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/__init__.py +0 -0
  355. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  356. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  357. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  358. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  359. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  360. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  361. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  362. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/py.typed +0 -0
  363. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  364. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  365. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  366. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  367. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  368. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  369. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/parcel_aggregation.py +0 -0
  370. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/py.typed +0 -0
  371. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/__init__.py +0 -0
  372. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/__init__.pyi +0 -0
  373. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/_afni_reho.py +0 -0
  374. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/_junifer_reho.py +0 -0
  375. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/py.typed +0 -0
  376. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/reho_base.py +0 -0
  377. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/reho_parcels.py +0 -0
  378. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/reho_spheres.py +0 -0
  379. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  380. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  381. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/sphere_aggregation.py +0 -0
  382. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/__init__.py +0 -0
  383. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  384. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/py.typed +0 -0
  385. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  386. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  387. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  388. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  389. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  390. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  391. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_brainprint.py +0 -0
  392. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_ets_rss.py +0 -0
  393. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_marker_utils.py +0 -0
  394. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_markers_base.py +0 -0
  395. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  396. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  397. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/markers/utils.py +0 -0
  398. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/onthefly/__init__.py +0 -0
  399. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/onthefly/_brainprint.py +0 -0
  400. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/onthefly/read_transform.py +0 -0
  401. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/onthefly/tests/test_read_transform.py +0 -0
  402. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/__init__.py +0 -0
  403. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/__init__.pyi +0 -0
  404. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/marker_collection.py +0 -0
  405. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/pipeline_component_registry.py +0 -0
  406. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  407. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/py.typed +0 -0
  408. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  409. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  410. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  411. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  412. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  413. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/update_meta_mixin.py +0 -0
  414. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/utils.py +0 -0
  415. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/pipeline/workdir_manager.py +0 -0
  416. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/__init__.py +0 -0
  417. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/__init__.pyi +0 -0
  418. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/base.py +0 -0
  419. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/confounds/__init__.py +0 -0
  420. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/confounds/__init__.pyi +0 -0
  421. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  422. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/confounds/py.typed +0 -0
  423. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  424. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/py.typed +0 -0
  425. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/__init__.py +0 -0
  426. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  427. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  428. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  429. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  430. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/py.typed +0 -0
  431. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/smoothing.py +0 -0
  432. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  433. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  434. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/__init__.py +0 -0
  435. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/__init__.pyi +0 -0
  436. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/_ants_warper.py +0 -0
  437. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  438. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/py.typed +0 -0
  439. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/space_warper.py +0 -0
  440. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  441. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/py.typed +0 -0
  442. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/__init__.py +0 -0
  443. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/__init__.pyi +0 -0
  444. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/base.py +0 -0
  445. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/hdf5.py +0 -0
  446. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/pandas_base.py +0 -0
  447. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/py.typed +0 -0
  448. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/sqlite.py +0 -0
  449. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/tests/test_hdf5.py +0 -0
  450. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/tests/test_pandas_base.py +0 -0
  451. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/tests/test_sqlite.py +0 -0
  452. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/tests/test_storage_base.py +0 -0
  453. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/tests/test_utils.py +0 -0
  454. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/storage/utils.py +2 -2
  455. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/__init__.py +0 -0
  456. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/__init__.pyi +0 -0
  457. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  458. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/datagrabbers.py +1 -1
  459. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/py.typed +0 -0
  460. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/registry.py +0 -0
  461. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  462. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  463. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  464. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/tests/test_testing_registry.py +0 -0
  465. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/testing/utils.py +0 -0
  466. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/tests/test_main.py +0 -0
  467. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/tests/test_stats.py +0 -0
  468. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/typing/__init__.py +0 -0
  469. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/__init__.py +0 -0
  470. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/_yaml.py +0 -0
  471. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/fs.py +0 -0
  472. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/logging.py +1 -1
  473. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/py.typed +0 -0
  474. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/tests/test_fs.py +0 -0
  475. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/tests/test_helpers.py +0 -0
  476. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer/utils/tests/test_logging.py +0 -0
  477. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/dependency_links.txt +0 -0
  478. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/entry_points.txt +0 -0
  479. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/requires.txt +0 -0
  480. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/junifer.egg-info/top_level.txt +0 -0
  481. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/pyproject.toml +0 -0
  482. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/setup.cfg +0 -0
  483. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/setup.py +0 -0
  484. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_aomic1000_example_dataset.py +0 -0
  485. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_aomicpiop1_example_dataset.py +0 -0
  486. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_aomicpiop2_example_dataset.py +0 -0
  487. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_bids_example_dataset.py +0 -0
  488. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_bids_example_dataset_sessions.py +0 -0
  489. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  490. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tools/create_hcp1200_example_dataset.py +0 -0
  491. {junifer-0.0.6.dev266 → junifer-0.0.6.dev277}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev266
3
+ Version: 0.0.6.dev277
4
4
  Summary: JUelich NeuroImaging FEature extractoR
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
@@ -0,0 +1 @@
1
+ Introduce :class:`junifer.utils.ConfigManager` singleton class to manage global configuration by `Fede Raimondo`_
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.6.dev266'
16
- __version_tuple__ = version_tuple = (0, 0, 6, 'dev266')
15
+ __version__ = version = '0.0.6.dev277'
16
+ __version_tuple__ = version_tuple = (0, 0, 6, 'dev277')
@@ -24,7 +24,7 @@ from ..typing import DataGrabberLike, MarkerLike, PreprocessorLike, StorageLike
24
24
  from ..utils import logger, raise_error, yaml
25
25
 
26
26
 
27
- __all__ = ["run", "collect", "queue", "reset", "list_elements"]
27
+ __all__ = ["collect", "list_elements", "queue", "reset", "run"]
28
28
 
29
29
 
30
30
  def _get_datagrabber(datagrabber_config: dict) -> DataGrabberLike:
@@ -15,7 +15,7 @@ import pandas as pd
15
15
  from ..utils import logger, raise_error, warn_with_log, yaml
16
16
 
17
17
 
18
- __all__ = ["parse_yaml", "parse_elements"]
18
+ __all__ = ["parse_elements", "parse_yaml"]
19
19
 
20
20
 
21
21
  def parse_yaml(filepath: Union[str, Path]) -> dict: # noqa: C901
@@ -35,7 +35,7 @@ if TYPE_CHECKING:
35
35
  from nibabel.nifti1 import Nifti1Image
36
36
 
37
37
 
38
- __all__ = ["compute_brain_mask", "MaskRegistry"]
38
+ __all__ = ["MaskRegistry", "compute_brain_mask"]
39
39
 
40
40
 
41
41
  # Path to the masks
@@ -16,7 +16,7 @@ from ..utils import logger, raise_error
16
16
  from .utils import closest_resolution
17
17
 
18
18
 
19
- __all__ = ["get_xfm", "get_template"]
19
+ __all__ = ["get_template", "get_xfm"]
20
20
 
21
21
 
22
22
  def get_xfm(
@@ -13,7 +13,7 @@ from scipy.stats.mstats import winsorize
13
13
  from .utils import logger, raise_error
14
14
 
15
15
 
16
- __all__ = ["get_aggfunc_by_name", "count", "winsorized_mean", "select"]
16
+ __all__ = ["count", "get_aggfunc_by_name", "select", "winsorized_mean"]
17
17
 
18
18
 
19
19
  def get_aggfunc_by_name(
@@ -9,6 +9,7 @@ __all__ = [
9
9
  "ExternalDependencies",
10
10
  "MarkerInOutMappings",
11
11
  "DataGrabberPatterns",
12
+ "ConfigVal",
12
13
  ]
13
14
 
14
15
  from ._typing import (
@@ -22,4 +23,5 @@ from ._typing import (
22
23
  ExternalDependencies,
23
24
  MarkerInOutMappings,
24
25
  DataGrabberPatterns,
26
+ ConfigVal,
25
27
  )
@@ -19,16 +19,17 @@ if TYPE_CHECKING:
19
19
 
20
20
 
21
21
  __all__ = [
22
+ "ConditionalDependencies",
23
+ "ConfigVal",
22
24
  "DataGrabberLike",
23
- "PreprocessorLike",
24
- "MarkerLike",
25
- "StorageLike",
26
- "PipelineComponent",
25
+ "DataGrabberPatterns",
27
26
  "Dependencies",
28
- "ConditionalDependencies",
29
27
  "ExternalDependencies",
30
28
  "MarkerInOutMappings",
31
- "DataGrabberPatterns",
29
+ "MarkerLike",
30
+ "PipelineComponent",
31
+ "PreprocessorLike",
32
+ "StorageLike",
32
33
  ]
33
34
 
34
35
 
@@ -60,3 +61,4 @@ MarkerInOutMappings = MutableMapping[str, MutableMapping[str, str]]
60
61
  DataGrabberPatterns = dict[
61
62
  str, Union[dict[str, str], Sequence[dict[str, str]]]
62
63
  ]
64
+ ConfigVal = Union[bool, int, float]
@@ -1,15 +1,18 @@
1
1
  __all__ = [
2
2
  "make_executable",
3
3
  "configure_logging",
4
+ "config",
4
5
  "logger",
5
6
  "raise_error",
6
7
  "warn_with_log",
7
8
  "run_ext_cmd",
8
9
  "deep_update",
9
10
  "yaml",
11
+ "ConfigManager",
10
12
  ]
11
13
 
12
14
  from .fs import make_executable
13
15
  from .logging import configure_logging, logger, raise_error, warn_with_log
16
+ from ._config import config, ConfigManager
14
17
  from .helpers import run_ext_cmd, deep_update
15
18
  from ._yaml import yaml
@@ -0,0 +1,110 @@
1
+ """Provide junifer global configuration."""
2
+
3
+ # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # Synchon Mandal <s.mandal@fz-juelich.de>
5
+ # License: AGPL
6
+
7
+ import os
8
+ from typing import Optional
9
+
10
+ from ..typing import ConfigVal
11
+ from .logging import logger
12
+ from .singleton import Singleton
13
+
14
+
15
+ __all__ = ["ConfigManager", "config"]
16
+
17
+
18
+ class ConfigManager(metaclass=Singleton):
19
+ """Manage configuration parameters.
20
+
21
+ Attributes
22
+ ----------
23
+ _config : dict
24
+ Configuration parameters.
25
+
26
+ """
27
+
28
+ def __init__(self) -> None:
29
+ """Initialize the class."""
30
+ self._config = {}
31
+ # Initial setup from process env
32
+ self._reload()
33
+
34
+ def _reload(self) -> None:
35
+ """Reload env vars."""
36
+ for t_var in os.environ:
37
+ if t_var.startswith("JUNIFER_"):
38
+ # Set correct type
39
+ var_value = os.environ[t_var]
40
+ # bool
41
+ if var_value.lower() == "true":
42
+ var_value = True
43
+ elif var_value.lower() == "false":
44
+ var_value = False
45
+ # numeric
46
+ else:
47
+ try:
48
+ var_value = int(var_value)
49
+ except ValueError:
50
+ try:
51
+ var_value = float(var_value)
52
+ except ValueError:
53
+ pass
54
+ # Set value
55
+ var_name = (
56
+ t_var.replace("JUNIFER_", "").lower().replace("_", ".")
57
+ )
58
+ logger.debug(
59
+ f"Setting `{var_name}` from environment to "
60
+ f"`{var_value}` (type: {type(var_value)})"
61
+ )
62
+ self._config[var_name] = var_value
63
+
64
+ def get(self, key: str, default: Optional[ConfigVal] = None) -> ConfigVal:
65
+ """Get configuration parameter.
66
+
67
+ Parameters
68
+ ----------
69
+ key : str
70
+ The configuration key to get.
71
+ default : bool or int or float or None, optional
72
+ The default value to return if the key is not found (default None).
73
+
74
+ Returns
75
+ -------
76
+ bool or int or float
77
+ The configuration value.
78
+
79
+ """
80
+ return self._config.get(key, default)
81
+
82
+ def set(self, key: str, val: ConfigVal) -> None:
83
+ """Set configuration parameter.
84
+
85
+ Parameters
86
+ ----------
87
+ key : str
88
+ The configuration key to set.
89
+ val : bool or int or float
90
+ The value to set ``key`` to.
91
+
92
+ """
93
+ logger.debug(f"Setting `{key}` to `{val}` (type: {type(val)})")
94
+ self._config[key] = val
95
+
96
+ def delete(self, key: str) -> None:
97
+ """Delete configuration parameter.
98
+
99
+ Parameters
100
+ ----------
101
+ key : str
102
+ The configuration key to delete.
103
+
104
+ """
105
+ logger.debug(f"Deleting `{key}` from config")
106
+ _ = self._config.pop(key)
107
+
108
+
109
+ # Initialize here to access from anywhere
110
+ config = ConfigManager()
@@ -10,7 +10,7 @@ import sys
10
10
  from .logging import logger, raise_error
11
11
 
12
12
 
13
- __all__ = ["run_ext_cmd", "deep_update"]
13
+ __all__ = ["deep_update", "run_ext_cmd"]
14
14
 
15
15
 
16
16
  def run_ext_cmd(name: str, cmd: list[str]) -> None:
@@ -8,7 +8,7 @@ from abc import ABCMeta
8
8
  from typing import Any, ClassVar
9
9
 
10
10
 
11
- __all__ = ["Singleton", "ABCSingleton"]
11
+ __all__ = ["ABCSingleton", "Singleton"]
12
12
 
13
13
 
14
14
  class Singleton(type):
@@ -0,0 +1,59 @@
1
+ """Provide tests for ConfigManager."""
2
+
3
+ # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # Synchon Mandal <s.mandal@fz-juelich.de>
5
+ # License: AGPL
6
+
7
+ import os
8
+
9
+ import pytest
10
+
11
+ from junifer.typing import ConfigVal
12
+ from junifer.utils import config
13
+ from junifer.utils._config import ConfigManager
14
+
15
+
16
+ def test_config_manager_singleton() -> None:
17
+ """Test that ConfigManager is a singleton."""
18
+ config_mgr_1 = ConfigManager()
19
+ config_mgr_2 = ConfigManager()
20
+ assert id(config_mgr_1) == id(config_mgr_2)
21
+
22
+
23
+ def test_config_manager() -> None:
24
+ """Test config operations for ConfigManager."""
25
+ # Get non-existing with default
26
+ assert config.get(key="scooby") is None
27
+ # Set
28
+ config.set(key="scooby", val=True)
29
+ # Get existing
30
+ assert config.get("scooby")
31
+ # Delete
32
+ config.delete("scooby")
33
+ # Get non-existing with default
34
+ assert config.get(key="scooby") is None
35
+
36
+
37
+ @pytest.mark.parametrize(
38
+ "val, expected_val",
39
+ [("TRUE", True), ("FALSE", False), ("1", 1), ("0.0", 0.0)],
40
+ )
41
+ def test_config_manager_env_reload(val: str, expected_val: ConfigVal) -> None:
42
+ """Test config parsing from env reload.
43
+
44
+ Parameters
45
+ ----------
46
+ val : str
47
+ The parametrized values.
48
+ expected_val : bool or int or float
49
+ The parametrized expected value.
50
+
51
+ """
52
+ # Set env var
53
+ os.environ["JUNIFER_TESTME"] = val
54
+ # Check
55
+ config._reload()
56
+ assert config.get("testme") == expected_val
57
+ # Cleanup
58
+ del os.environ["JUNIFER_TESTME"]
59
+ config.delete("testme")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev266
3
+ Version: 0.0.6.dev277
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>
@@ -95,6 +95,7 @@ docs/changes/newsfragments/391.misc
95
95
  docs/changes/newsfragments/392.feature
96
96
  docs/changes/newsfragments/393.misc
97
97
  docs/changes/newsfragments/398.bugfix
98
+ docs/changes/newsfragments/401.feature
98
99
  docs/extending/coordinates.rst
99
100
  docs/extending/datagrabber.rst
100
101
  docs/extending/dependencies.rst
@@ -468,12 +469,14 @@ junifer/typing/__init__.pyi
468
469
  junifer/typing/_typing.py
469
470
  junifer/utils/__init__.py
470
471
  junifer/utils/__init__.pyi
472
+ junifer/utils/_config.py
471
473
  junifer/utils/_yaml.py
472
474
  junifer/utils/fs.py
473
475
  junifer/utils/helpers.py
474
476
  junifer/utils/logging.py
475
477
  junifer/utils/py.typed
476
478
  junifer/utils/singleton.py
479
+ junifer/utils/tests/test_config.py
477
480
  junifer/utils/tests/test_fs.py
478
481
  junifer/utils/tests/test_helpers.py
479
482
  junifer/utils/tests/test_logging.py
File without changes