junifer 0.0.6.dev201__tar.gz → 0.0.6.dev213__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 (478) hide show
  1. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/PKG-INFO +1 -1
  2. junifer-0.0.6.dev213/docs/changes/newsfragments/386.bugfix +1 -0
  3. junifer-0.0.6.dev213/docs/changes/newsfragments/391.misc +1 -0
  4. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/_version.py +2 -2
  5. junifer-0.0.6.dev213/junifer/conftest.py +25 -0
  6. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/_coordinates.py +2 -3
  7. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/_masks.py +2 -3
  8. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/_parcellations.py +2 -3
  9. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/pipeline_data_registry_base.py +2 -1
  10. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/datalad_base.py +4 -4
  11. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +6 -1
  12. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/_afni_falff.py +2 -3
  13. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/_junifer_falff.py +2 -3
  14. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/_afni_reho.py +2 -3
  15. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/_junifer_reho.py +2 -3
  16. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/pipeline_component_registry.py +2 -3
  17. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/workdir_manager.py +2 -3
  18. {junifer-0.0.6.dev201/junifer/pipeline → junifer-0.0.6.dev213/junifer/utils}/singleton.py +19 -14
  19. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/PKG-INFO +1 -1
  20. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/SOURCES.txt +4 -1
  21. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.dockerignore +0 -0
  22. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  23. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  24. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  25. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  26. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  27. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  28. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/dependabot.yml +0 -0
  29. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/pull_request_template.md +0 -0
  30. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/ci-docs.yml +0 -0
  31. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/ci.yml +0 -0
  32. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/docker-ci-publish.yml +0 -0
  33. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/docker-docs-publish.yml +0 -0
  34. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/docs-preview.yml +0 -0
  35. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/docs.yml +0 -0
  36. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/lint.yml +0 -0
  37. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.github/workflows/pypi.yml +0 -0
  38. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.gitignore +0 -0
  39. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.gitmodules +0 -0
  40. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/.pre-commit-config.yaml +0 -0
  41. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/AUTHORS.rst +0 -0
  42. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/Dockerfile-ci +0 -0
  43. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/Dockerfile-docs +0 -0
  44. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/LICENSE.md +0 -0
  45. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/README.md +0 -0
  46. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/codecov.yml +0 -0
  47. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/conda-env.yml +0 -0
  48. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/Makefile +0 -0
  49. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/_static/css/custom.css +0 -0
  50. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/_static/js/custom.js +0 -0
  51. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/_templates/versions.html +0 -0
  52. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/api.rst +0 -0
  53. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/cli.rst +0 -0
  54. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/configs.rst +0 -0
  55. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/data.rst +0 -0
  56. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/datagrabbers.rst +0 -0
  57. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/datareaders.rst +0 -0
  58. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/index.rst +0 -0
  59. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/markers.rst +0 -0
  60. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/nilearn.rst +0 -0
  61. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/onthefly.rst +0 -0
  62. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/pipeline.rst +0 -0
  63. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/preprocessing.rst +0 -0
  64. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/stats.rst +0 -0
  65. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/storage.rst +0 -0
  66. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/testing.rst +0 -0
  67. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/api/utils.rst +0 -0
  68. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/builtin.rst +0 -0
  69. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/contributors.inc +0 -0
  70. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/.gitignore +0 -0
  71. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/335.enh +0 -0
  72. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/354.feature +0 -0
  73. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/355.misc +0 -0
  74. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/356.bugfix +0 -0
  75. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/357.enh +0 -0
  76. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/358.doc +0 -0
  77. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/359.doc +0 -0
  78. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/360.bugfix +0 -0
  79. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/361.misc +0 -0
  80. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/362.feature +0 -0
  81. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/367.enh +0 -0
  82. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/368.enh +0 -0
  83. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/369.bugfix +0 -0
  84. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/370.bugfix +0 -0
  85. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/372.misc +0 -0
  86. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/373.misc +0 -0
  87. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/374.misc +0 -0
  88. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/380.misc +0 -0
  89. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/382.misc +0 -0
  90. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/383.misc +0 -0
  91. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/384.misc +0 -0
  92. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/387.change +0 -0
  93. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/changes/newsfragments/387.feature +0 -0
  94. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/conf.py +0 -0
  95. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/contribution.rst +0 -0
  96. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/coordinates.rst +0 -0
  97. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/datagrabber.rst +0 -0
  98. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/dependencies.rst +0 -0
  99. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/extension.rst +0 -0
  100. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/index.rst +0 -0
  101. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/marker.rst +0 -0
  102. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/masks.rst +0 -0
  103. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/parcellations.rst +0 -0
  104. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/extending/preprocessor.rst +0 -0
  105. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/faq.rst +0 -0
  106. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/help.rst +0 -0
  107. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/images/junifer_logo.png +0 -0
  108. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/index.rst +0 -0
  109. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/installation.rst +0 -0
  110. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/links.inc +0 -0
  111. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/maintaining.rst +0 -0
  112. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/redirect.html +0 -0
  113. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/starting.rst +0 -0
  114. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/data.rst +0 -0
  115. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/datagrabber.rst +0 -0
  116. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/datareader.rst +0 -0
  117. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/index.rst +0 -0
  118. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/marker.rst +0 -0
  119. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/pipeline.rst +0 -0
  120. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/preprocess.rst +0 -0
  121. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/understanding/storage.rst +0 -0
  122. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/using/codeless.rst +0 -0
  123. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/using/index.rst +0 -0
  124. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/using/masks.rst +0 -0
  125. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/using/queueing.rst +0 -0
  126. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/using/running.rst +0 -0
  127. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/docs/whats_new.rst +0 -0
  128. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/README.rst +0 -0
  129. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/norun_hcpfc_pearson.py +0 -0
  130. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/norun_ukbvm_gmd.py +0 -0
  131. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/run_compute_parcel_mean.py +0 -0
  132. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/run_datagrabber_bids_datalad.py +0 -0
  133. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/run_ets_rss_marker.py +0 -0
  134. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/run_junifer_julearn.py +0 -0
  135. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/run_run_gmd_mean.py +0 -0
  136. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/yamls/gmd_mean.yaml +0 -0
  137. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  138. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  139. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  140. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/ignore_words.txt +0 -0
  141. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/__init__.py +0 -0
  142. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/__init__.pyi +0 -0
  143. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/__init__.py +0 -0
  144. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/__init__.pyi +0 -0
  145. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/decorators.py +0 -0
  146. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/functions.py +0 -0
  147. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/py.typed +0 -0
  148. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/__init__.py +0 -0
  149. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/__init__.pyi +0 -0
  150. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  151. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  152. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/py.typed +0 -0
  153. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  154. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  155. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  156. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  157. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/afni/3dRSFC +0 -0
  158. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/afni/3dReHo +0 -0
  159. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/afni/afni +0 -0
  160. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  161. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/ants/ResampleImage +0 -0
  162. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/ants/antsApplyTransforms +0 -0
  163. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  164. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  165. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/freesurfer/mri_binarize +0 -0
  166. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/freesurfer/mri_mc +0 -0
  167. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/freesurfer/mri_pretess +0 -0
  168. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/freesurfer/mris_convert +0 -0
  169. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  170. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/fsl/applywarp +0 -0
  171. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/fsl/flirt +0 -0
  172. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/fsl/img2imgcoord +0 -0
  173. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  174. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/fsl/std2imgcoord +0 -0
  175. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/run_conda.bash +0 -0
  176. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/run_conda.zsh +0 -0
  177. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/run_venv.bash +0 -0
  178. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/res/run_venv.zsh +0 -0
  179. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/api/tests/test_functions.py +0 -0
  180. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/__init__.py +0 -0
  181. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/__init__.pyi +0 -0
  182. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/cli.py +0 -0
  183. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/parser.py +0 -0
  184. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/py.typed +0 -0
  185. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  186. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  187. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  188. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/test_cli.py +0 -0
  189. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/test_cli_utils.py +0 -0
  190. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/tests/test_parser.py +0 -0
  191. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/cli/utils.py +0 -0
  192. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/__init__.py +0 -0
  193. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/__init__.py +0 -0
  194. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/__init__.pyi +0 -0
  195. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  196. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  197. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  198. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  199. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  200. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  201. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  202. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  203. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  204. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  205. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  206. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  207. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  208. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/configs/juseless/py.typed +0 -0
  209. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/__init__.py +0 -0
  210. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/__init__.pyi +0 -0
  211. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/_dispatch.py +0 -0
  212. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  213. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/CogAC_VOIs.txt +0 -0
  214. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/CogAR_VOIs.txt +0 -0
  215. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  216. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  217. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Empathy_VOIs.txt +0 -0
  218. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Motor_VOIs.txt +0 -0
  219. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/MultiTask_VOIs.txt +0 -0
  220. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  221. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  222. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  223. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Rew_VOIs.txt +0 -0
  224. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  225. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/ToM_VOIs.txt +0 -0
  226. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/VigAtt_VOIs.txt +0 -0
  227. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/WM_VOIs.txt +0 -0
  228. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/eMDN_VOIs.txt +0 -0
  229. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/eSAD_VOIs.txt +0 -0
  230. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/VOIs/meta/extDMN_VOIs.txt +0 -0
  231. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/__init__.py +0 -0
  232. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/__init__.pyi +0 -0
  233. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  234. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  235. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  236. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/__init__.py +0 -0
  237. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/__init__.pyi +0 -0
  238. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/_ants_mask_warper.py +0 -0
  239. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  240. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/tests/test_masks.py +0 -0
  241. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
  242. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  243. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  244. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  245. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/__init__.py +0 -0
  246. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/__init__.pyi +0 -0
  247. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  248. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  249. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  250. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/py.typed +0 -0
  251. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/template_spaces.py +0 -0
  252. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/tests/test_data_utils.py +0 -0
  253. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/tests/test_template_spaces.py +0 -0
  254. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/data/utils.py +0 -0
  255. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/__init__.py +0 -0
  256. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/__init__.pyi +0 -0
  257. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/__init__.py +0 -0
  258. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  259. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/id1000.py +0 -0
  260. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/piop1.py +0 -0
  261. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/piop2.py +0 -0
  262. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/py.typed +0 -0
  263. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  264. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  265. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  266. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/base.py +0 -0
  267. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  268. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  269. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  270. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  271. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  272. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/hcp1200/py.typed +0 -0
  273. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/multiple.py +0 -0
  274. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/pattern.py +0 -0
  275. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/pattern_datalad.py +0 -0
  276. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  277. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/py.typed +0 -0
  278. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_base.py +0 -0
  279. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  280. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  281. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_multiple.py +0 -0
  282. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_pattern.py +0 -0
  283. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  284. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  285. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datareader/__init__.py +0 -0
  286. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datareader/__init__.pyi +0 -0
  287. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datareader/default.py +0 -0
  288. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datareader/py.typed +0 -0
  289. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/datareader/tests/test_default_reader.py +0 -0
  290. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  291. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  292. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  293. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  294. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  295. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  296. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  297. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  298. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/__init__.py +0 -0
  299. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/h5io/h5io/__init__.py +0 -0
  300. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/h5io/h5io/_h5io.py +0 -0
  301. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/h5io/h5io/_version.py +0 -0
  302. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  303. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  304. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/__init__.py +0 -0
  305. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/__init__.pyi +0 -0
  306. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  307. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  308. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/py.typed +0 -0
  309. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  310. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  311. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/__init__.py +0 -0
  312. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/__init__.pyi +0 -0
  313. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/base.py +0 -0
  314. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/brainprint.py +0 -0
  315. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/__init__.py +0 -0
  316. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/__init__.pyi +0 -0
  317. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/complexity_base.py +0 -0
  318. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/hurst_exponent.py +0 -0
  319. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  320. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/perm_entropy.py +0 -0
  321. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/py.typed +0 -0
  322. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/range_entropy.py +0 -0
  323. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  324. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/sample_entropy.py +0 -0
  325. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  326. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  327. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  328. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  329. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  330. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  331. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  332. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  333. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  334. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/ets_rss.py +0 -0
  335. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/__init__.py +0 -0
  336. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/__init__.pyi +0 -0
  337. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/falff_base.py +0 -0
  338. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/falff_parcels.py +0 -0
  339. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/falff_spheres.py +0 -0
  340. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/py.typed +0 -0
  341. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  342. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  343. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/__init__.py +0 -0
  344. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  345. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  346. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  347. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  348. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  349. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  350. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  351. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/py.typed +0 -0
  352. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  353. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  354. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  355. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  356. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  357. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  358. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/parcel_aggregation.py +0 -0
  359. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/py.typed +0 -0
  360. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/__init__.py +0 -0
  361. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/__init__.pyi +0 -0
  362. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/py.typed +0 -0
  363. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/reho_base.py +0 -0
  364. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/reho_parcels.py +0 -0
  365. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/reho_spheres.py +0 -0
  366. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  367. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  368. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/sphere_aggregation.py +0 -0
  369. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/__init__.py +0 -0
  370. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  371. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/py.typed +0 -0
  372. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  373. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  374. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  375. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  376. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  377. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  378. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_brainprint.py +0 -0
  379. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_ets_rss.py +0 -0
  380. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_marker_utils.py +0 -0
  381. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_markers_base.py +0 -0
  382. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  383. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  384. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/markers/utils.py +0 -0
  385. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/onthefly/__init__.py +0 -0
  386. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/onthefly/_brainprint.py +0 -0
  387. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/onthefly/read_transform.py +0 -0
  388. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/onthefly/tests/test_read_transform.py +0 -0
  389. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/__init__.py +0 -0
  390. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/__init__.pyi +0 -0
  391. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/marker_collection.py +0 -0
  392. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  393. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/py.typed +0 -0
  394. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  395. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  396. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  397. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  398. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  399. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/update_meta_mixin.py +0 -0
  400. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/pipeline/utils.py +0 -0
  401. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/__init__.py +0 -0
  402. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/__init__.pyi +0 -0
  403. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/base.py +0 -0
  404. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/confounds/__init__.py +0 -0
  405. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/confounds/__init__.pyi +0 -0
  406. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  407. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/confounds/py.typed +0 -0
  408. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  409. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/py.typed +0 -0
  410. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/__init__.py +0 -0
  411. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  412. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  413. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  414. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  415. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/py.typed +0 -0
  416. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/smoothing.py +0 -0
  417. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  418. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  419. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/__init__.py +0 -0
  420. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/__init__.pyi +0 -0
  421. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/_ants_warper.py +0 -0
  422. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  423. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/py.typed +0 -0
  424. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/space_warper.py +0 -0
  425. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  426. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/py.typed +0 -0
  427. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/stats.py +0 -0
  428. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/__init__.py +0 -0
  429. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/__init__.pyi +0 -0
  430. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/base.py +0 -0
  431. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/hdf5.py +0 -0
  432. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/pandas_base.py +0 -0
  433. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/py.typed +0 -0
  434. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/sqlite.py +0 -0
  435. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/tests/test_hdf5.py +0 -0
  436. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/tests/test_pandas_base.py +0 -0
  437. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/tests/test_sqlite.py +0 -0
  438. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/tests/test_storage_base.py +0 -0
  439. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/tests/test_utils.py +0 -0
  440. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/storage/utils.py +0 -0
  441. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/__init__.py +0 -0
  442. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/__init__.pyi +0 -0
  443. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  444. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/datagrabbers.py +0 -0
  445. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/py.typed +0 -0
  446. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/registry.py +0 -0
  447. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  448. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  449. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  450. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/tests/test_testing_registry.py +0 -0
  451. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/testing/utils.py +0 -0
  452. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/tests/test_main.py +0 -0
  453. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/tests/test_stats.py +0 -0
  454. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/__init__.py +0 -0
  455. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/__init__.pyi +0 -0
  456. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/_yaml.py +0 -0
  457. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/fs.py +0 -0
  458. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/helpers.py +0 -0
  459. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/logging.py +0 -0
  460. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/py.typed +0 -0
  461. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/tests/test_fs.py +0 -0
  462. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/tests/test_helpers.py +0 -0
  463. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer/utils/tests/test_logging.py +0 -0
  464. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/dependency_links.txt +0 -0
  465. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/entry_points.txt +0 -0
  466. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/requires.txt +0 -0
  467. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/junifer.egg-info/top_level.txt +0 -0
  468. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/pyproject.toml +0 -0
  469. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/setup.cfg +0 -0
  470. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/setup.py +0 -0
  471. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_aomic1000_example_dataset.py +0 -0
  472. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_aomicpiop1_example_dataset.py +0 -0
  473. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_aomicpiop2_example_dataset.py +0 -0
  474. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_bids_example_dataset.py +0 -0
  475. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_bids_example_dataset_sessions.py +0 -0
  476. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  477. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tools/create_hcp1200_example_dataset.py +0 -0
  478. {junifer-0.0.6.dev201 → junifer-0.0.6.dev213}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev201
3
+ Version: 0.0.6.dev213
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
+ Use the :class:`junifer.pipeline.WorkDirManager` for temporary directories in the :class:`.DataladDataGrabber` by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Refactor ``Singleton`` class to use a metaclass instead of a class decorator 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.dev201'
16
- __version_tuple__ = version_tuple = (0, 0, 6, 'dev201')
15
+ __version__ = version = '0.0.6.dev213'
16
+ __version_tuple__ = version_tuple = (0, 0, 6, 'dev213')
@@ -0,0 +1,25 @@
1
+ """Provide conftest for pytest."""
2
+
3
+ # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # License: AGPL
5
+
6
+ import pytest
7
+
8
+ from junifer.utils.singleton import Singleton
9
+
10
+
11
+ @pytest.fixture(autouse=True)
12
+ def reset_singletons() -> None:
13
+ """Reset all singletons."""
14
+ to_clean = ["WorkDirManager"]
15
+ to_remove = [
16
+ v for k, v in Singleton.instances.items() if k.__name__ in to_clean
17
+ ]
18
+ Singleton.instances = {
19
+ k: v
20
+ for k, v in Singleton.instances.items()
21
+ if k.__name__ not in to_clean
22
+ }
23
+ # Force deleting the singletons
24
+ for elem in to_remove:
25
+ del elem
@@ -11,8 +11,8 @@ import numpy as np
11
11
  import pandas as pd
12
12
  from numpy.typing import ArrayLike
13
13
 
14
- from ...pipeline.singleton import singleton
15
14
  from ...utils import logger, raise_error
15
+ from ...utils.singleton import Singleton
16
16
  from ..pipeline_data_registry_base import BasePipelineDataRegistry
17
17
  from ._ants_coordinates_warper import ANTsCoordinatesWarper
18
18
  from ._fsl_coordinates_warper import FSLCoordinatesWarper
@@ -21,8 +21,7 @@ from ._fsl_coordinates_warper import FSLCoordinatesWarper
21
21
  __all__ = ["CoordinatesRegistry"]
22
22
 
23
23
 
24
- @singleton
25
- class CoordinatesRegistry(BasePipelineDataRegistry):
24
+ class CoordinatesRegistry(BasePipelineDataRegistry, metaclass=Singleton):
26
25
  """Class for coordinates data registry.
27
26
 
28
27
  This class is a singleton and is used for managing available coordinates
@@ -25,8 +25,8 @@ from nilearn.masking import (
25
25
  intersect_masks,
26
26
  )
27
27
 
28
- from ...pipeline.singleton import singleton
29
28
  from ...utils import logger, raise_error
29
+ from ...utils.singleton import Singleton
30
30
  from ..pipeline_data_registry_base import BasePipelineDataRegistry
31
31
  from ..template_spaces import get_template
32
32
  from ..utils import closest_resolution
@@ -126,8 +126,7 @@ def compute_brain_mask(
126
126
  return new_img_like(target_img, mask) # type: ignore
127
127
 
128
128
 
129
- @singleton
130
- class MaskRegistry(BasePipelineDataRegistry):
129
+ class MaskRegistry(BasePipelineDataRegistry, metaclass=Singleton):
131
130
  """Class for mask data registry.
132
131
 
133
132
  This class is a singleton and is used for managing available mask
@@ -20,8 +20,8 @@ import numpy as np
20
20
  import pandas as pd
21
21
  from nilearn import datasets, image
22
22
 
23
- from ...pipeline.singleton import singleton
24
23
  from ...utils import logger, raise_error, warn_with_log
24
+ from ...utils.singleton import Singleton
25
25
  from ..pipeline_data_registry_base import BasePipelineDataRegistry
26
26
  from ..utils import closest_resolution
27
27
  from ._ants_parcellation_warper import ANTsParcellationWarper
@@ -38,8 +38,7 @@ __all__ = [
38
38
  ]
39
39
 
40
40
 
41
- @singleton
42
- class ParcellationRegistry(BasePipelineDataRegistry):
41
+ class ParcellationRegistry(BasePipelineDataRegistry, metaclass=Singleton):
43
42
  """Class for parcellation data registry.
44
43
 
45
44
  This class is a singleton and is used for managing available parcellation
@@ -7,12 +7,13 @@ from abc import ABC, abstractmethod
7
7
  from typing import Any, List, Mapping
8
8
 
9
9
  from ..utils import raise_error
10
+ from ..utils.singleton import ABCSingleton
10
11
 
11
12
 
12
13
  __all__ = ["BasePipelineDataRegistry"]
13
14
 
14
15
 
15
- class BasePipelineDataRegistry(ABC):
16
+ class BasePipelineDataRegistry(ABC, metaclass=ABCSingleton):
16
17
  """Abstract base class for pipeline data registry.
17
18
 
18
19
  For every interface that is required, one needs to provide a concrete
@@ -7,7 +7,6 @@
7
7
 
8
8
  import atexit
9
9
  import os
10
- import shutil
11
10
  import tempfile
12
11
  from pathlib import Path
13
12
  from typing import Dict, Optional, Tuple, Union
@@ -17,6 +16,7 @@ import datalad.api as dl
17
16
  from datalad.support.exceptions import IncompleteResultsError
18
17
  from datalad.support.gitrepo import GitRepo
19
18
 
19
+ from ..pipeline import WorkDirManager
20
20
  from ..utils import logger, raise_error, warn_with_log
21
21
  from .base import BaseDataGrabber
22
22
 
@@ -78,7 +78,8 @@ class DataladDataGrabber(BaseDataGrabber):
78
78
  if datadir is None:
79
79
  logger.info("`datadir` is None, creating a temporary directory")
80
80
  # Create temporary directory
81
- tmpdir = Path(tempfile.mkdtemp())
81
+ tmpdir = WorkDirManager().get_tempdir(prefix="datalad")
82
+ self._tmpdir = tmpdir
82
83
  datadir = tmpdir / "datadir"
83
84
  datadir.mkdir(parents=True, exist_ok=False)
84
85
  logger.info(f"`datadir` set to {datadir}")
@@ -104,7 +105,6 @@ class DataladDataGrabber(BaseDataGrabber):
104
105
  "Datalad locks set to "
105
106
  f"{datalad.cfg.get('datalad.locations.locks')}"
106
107
  )
107
- self._tmpdir = tmpdir
108
108
  atexit.register(self._rmtmpdir)
109
109
  # TODO: uri can be converted to a positional argument
110
110
  if uri is None:
@@ -129,7 +129,7 @@ class DataladDataGrabber(BaseDataGrabber):
129
129
  """Remove temporary directory if it exists."""
130
130
  if self._tmpdir.exists():
131
131
  logger.debug("Removing temporary directory")
132
- shutil.rmtree(self._tmpdir)
132
+ WorkDirManager().delete_tempdir(self._tmpdir)
133
133
 
134
134
  @property
135
135
  def datadir(self) -> Path:
@@ -3,6 +3,9 @@
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
5
5
 
6
+ import shutil
7
+ import tempfile
8
+ from pathlib import Path
6
9
  from typing import Iterable, Optional
7
10
 
8
11
  import pytest
@@ -17,7 +20,8 @@ URI = "https://gin.g-node.org/juaml/datalad-example-hcp1200"
17
20
  @pytest.fixture(scope="module")
18
21
  def hcpdg() -> Iterable[DataladHCP1200]:
19
22
  """Return a HCP1200 DataGrabber."""
20
- dg = DataladHCP1200()
23
+ tmpdir = Path(tempfile.gettempdir())
24
+ dg = DataladHCP1200(datadir=tmpdir / "datadir")
21
25
  # Set URI to Gin
22
26
  dg.uri = URI
23
27
  # Set correct root directory
@@ -26,6 +30,7 @@ def hcpdg() -> Iterable[DataladHCP1200]:
26
30
  for t_elem in dg.get_elements():
27
31
  dg[t_elem]
28
32
  yield dg
33
+ shutil.rmtree(tmpdir / "datadir", ignore_errors=True)
29
34
 
30
35
 
31
36
  @pytest.mark.parametrize(
@@ -18,8 +18,8 @@ from typing import (
18
18
  import nibabel as nib
19
19
 
20
20
  from ...pipeline import WorkDirManager
21
- from ...pipeline.singleton import singleton
22
21
  from ...utils import logger, run_ext_cmd
22
+ from ...utils.singleton import Singleton
23
23
 
24
24
 
25
25
  if TYPE_CHECKING:
@@ -29,8 +29,7 @@ if TYPE_CHECKING:
29
29
  __all__ = ["AFNIALFF"]
30
30
 
31
31
 
32
- @singleton
33
- class AFNIALFF:
32
+ class AFNIALFF(metaclass=Singleton):
34
33
  """Class for computing ALFF using AFNI.
35
34
 
36
35
  This class uses AFNI's 3dRSFC to compute ALFF. It's designed as a singleton
@@ -19,8 +19,8 @@ import scipy as sp
19
19
  from nilearn import image as nimg
20
20
 
21
21
  from ...pipeline import WorkDirManager
22
- from ...pipeline.singleton import singleton
23
22
  from ...utils import logger
23
+ from ...utils.singleton import Singleton
24
24
 
25
25
 
26
26
  if TYPE_CHECKING:
@@ -30,8 +30,7 @@ if TYPE_CHECKING:
30
30
  __all__ = ["JuniferALFF"]
31
31
 
32
32
 
33
- @singleton
34
- class JuniferALFF:
33
+ class JuniferALFF(metaclass=Singleton):
35
34
  """Class for computing ALFF using junifer.
36
35
 
37
36
  It's designed as a singleton with caching for efficient computation.
@@ -18,8 +18,8 @@ from typing import (
18
18
  import nibabel as nib
19
19
 
20
20
  from ...pipeline import WorkDirManager
21
- from ...pipeline.singleton import singleton
22
21
  from ...utils import logger, run_ext_cmd
22
+ from ...utils.singleton import Singleton
23
23
 
24
24
 
25
25
  if TYPE_CHECKING:
@@ -29,8 +29,7 @@ if TYPE_CHECKING:
29
29
  __all__ = ["AFNIReHo"]
30
30
 
31
31
 
32
- @singleton
33
- class AFNIReHo:
32
+ class AFNIReHo(metaclass=Singleton):
34
33
  """Class for computing ReHo using AFNI.
35
34
 
36
35
  This class uses AFNI's 3dReHo to compute ReHo. It's designed as a singleton
@@ -20,8 +20,8 @@ from nilearn import image as nimg
20
20
  from nilearn import masking as nmask
21
21
 
22
22
  from ...pipeline import WorkDirManager
23
- from ...pipeline.singleton import singleton
24
23
  from ...utils import logger, raise_error
24
+ from ...utils.singleton import Singleton
25
25
 
26
26
 
27
27
  if TYPE_CHECKING:
@@ -31,8 +31,7 @@ if TYPE_CHECKING:
31
31
  __all__ = ["JuniferReHo"]
32
32
 
33
33
 
34
- @singleton
35
- class JuniferReHo:
34
+ class JuniferReHo(metaclass=Singleton):
36
35
  """Class for computing ReHo using junifer.
37
36
 
38
37
  It's designed as a singleton with caching for efficient computation.
@@ -9,7 +9,7 @@ import importlib
9
9
  from typing import TYPE_CHECKING, Dict, List, Mapping, Optional, Union
10
10
 
11
11
  from ..utils import logger, raise_error
12
- from .singleton import singleton
12
+ from ..utils.singleton import Singleton
13
13
 
14
14
 
15
15
  if TYPE_CHECKING:
@@ -21,8 +21,7 @@ if TYPE_CHECKING:
21
21
  __all__ = ["PipelineComponentRegistry"]
22
22
 
23
23
 
24
- @singleton
25
- class PipelineComponentRegistry:
24
+ class PipelineComponentRegistry(metaclass=Singleton):
26
25
  """Class for pipeline component registry.
27
26
 
28
27
  This class is a singleton and is used for managing pipeline components.
@@ -10,14 +10,13 @@ from pathlib import Path
10
10
  from typing import Optional, Union
11
11
 
12
12
  from ..utils import logger
13
- from .singleton import singleton
13
+ from ..utils.singleton import Singleton
14
14
 
15
15
 
16
16
  __all__ = ["WorkDirManager"]
17
17
 
18
18
 
19
- @singleton
20
- class WorkDirManager:
19
+ class WorkDirManager(metaclass=Singleton):
21
20
  """Class for working directory manager.
22
21
 
23
22
  This class is a singleton and is used for managing temporary and working
@@ -1,15 +1,17 @@
1
1
  """Provide a singleton class to be used by pipeline components."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
+ # Federico Raimondo <f.raimondo@fz-juelich.de>
4
5
  # License: AGPL
5
6
 
6
- from typing import Any, Dict, Type
7
+ from abc import ABCMeta
8
+ from typing import Any, ClassVar, Dict, Type
7
9
 
8
10
 
9
- __all__ = ["singleton"]
11
+ __all__ = ["Singleton", "ABCSingleton"]
10
12
 
11
13
 
12
- def singleton(cls: Type) -> Type:
14
+ class Singleton(type):
13
15
  """Make a class singleton.
14
16
 
15
17
  Parameters
@@ -17,15 +19,11 @@ def singleton(cls: Type) -> Type:
17
19
  cls : class
18
20
  The class to designate as singleton.
19
21
 
20
- Returns
21
- -------
22
- class
23
- The only instance of the class.
24
-
25
22
  """
26
- instances: Dict = {}
27
23
 
28
- def get_instance(*args: Any, **kwargs: Any) -> Type:
24
+ instances: ClassVar[Dict] = {}
25
+
26
+ def __call__(cls, *args: Any, **kwargs: Any) -> Type:
29
27
  """Get the only instance for a class.
30
28
 
31
29
  Parameters
@@ -41,8 +39,15 @@ def singleton(cls: Type) -> Type:
41
39
  The only instance of the class.
42
40
 
43
41
  """
44
- if cls not in instances:
45
- instances[cls] = cls(*args, **kwargs)
46
- return instances[cls]
42
+ if cls not in cls.instances:
43
+ cls.instances[cls] = super(Singleton, cls).__call__( # noqa: UP008
44
+ *args, **kwargs
45
+ )
46
+
47
+ return cls.instances[cls]
48
+
49
+
50
+ class ABCSingleton(ABCMeta, Singleton):
51
+ """Make an abstract class a singleton."""
47
52
 
48
- return get_instance
53
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev201
3
+ Version: 0.0.6.dev213
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>
@@ -84,8 +84,10 @@ docs/changes/newsfragments/380.misc
84
84
  docs/changes/newsfragments/382.misc
85
85
  docs/changes/newsfragments/383.misc
86
86
  docs/changes/newsfragments/384.misc
87
+ docs/changes/newsfragments/386.bugfix
87
88
  docs/changes/newsfragments/387.change
88
89
  docs/changes/newsfragments/387.feature
90
+ docs/changes/newsfragments/391.misc
89
91
  docs/extending/coordinates.rst
90
92
  docs/extending/datagrabber.rst
91
93
  docs/extending/dependencies.rst
@@ -124,6 +126,7 @@ examples/yamls/ukb_gmd_mean.yaml
124
126
  junifer/__init__.py
125
127
  junifer/__init__.pyi
126
128
  junifer/_version.py
129
+ junifer/conftest.py
127
130
  junifer/py.typed
128
131
  junifer/stats.py
129
132
  junifer.egg-info/PKG-INFO
@@ -394,7 +397,6 @@ junifer/pipeline/marker_collection.py
394
397
  junifer/pipeline/pipeline_component_registry.py
395
398
  junifer/pipeline/pipeline_step_mixin.py
396
399
  junifer/pipeline/py.typed
397
- junifer/pipeline/singleton.py
398
400
  junifer/pipeline/update_meta_mixin.py
399
401
  junifer/pipeline/utils.py
400
402
  junifer/pipeline/workdir_manager.py
@@ -461,6 +463,7 @@ junifer/utils/fs.py
461
463
  junifer/utils/helpers.py
462
464
  junifer/utils/logging.py
463
465
  junifer/utils/py.typed
466
+ junifer/utils/singleton.py
464
467
  junifer/utils/tests/test_fs.py
465
468
  junifer/utils/tests/test_helpers.py
466
469
  junifer/utils/tests/test_logging.py
File without changes