nf-core 3.3.2__tar.gz → 3.4.0__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 (351) hide show
  1. {nf_core-3.3.2/nf_core.egg-info → nf_core-3.4.0}/PKG-INFO +8 -8
  2. {nf_core-3.3.2 → nf_core-3.4.0}/README.md +3 -3
  3. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/__main__.py +186 -98
  4. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/commands_modules.py +3 -3
  5. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/commands_pipelines.py +4 -4
  6. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/commands_subworkflows.py +1 -1
  7. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/commands_test_datasets.py +1 -2
  8. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/components_command.py +8 -9
  9. nf_core-3.4.0/nf_core/components/components_completion.py +37 -0
  10. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/components_differ.py +12 -13
  11. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/components_test.py +7 -9
  12. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/components_utils.py +5 -6
  13. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/create.py +10 -11
  14. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/info.py +12 -13
  15. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/install.py +7 -8
  16. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/lint/__init__.py +22 -15
  17. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/list.py +5 -7
  18. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/nfcore_component.py +16 -16
  19. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/module-template/tests/main.nf.test.j2 +12 -7
  20. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/bump_versions.py +31 -14
  21. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/__init__.py +5 -8
  22. nf_core-3.4.0/nf_core/modules/lint/environment_yml.py +219 -0
  23. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/main_nf.py +155 -48
  24. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/meta_yml.py +22 -7
  25. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_changes.py +2 -0
  26. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_deprecations.py +10 -0
  27. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_patch.py +18 -6
  28. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_tests.py +27 -35
  29. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_todos.py +2 -2
  30. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/lint/module_version.py +7 -5
  31. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/list.py +3 -4
  32. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/modules_json.py +13 -14
  33. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/modules_repo.py +2 -3
  34. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/modules_utils.py +20 -2
  35. nf_core-3.4.0/nf_core/pipeline-template/.devcontainer/devcontainer.json +11 -0
  36. nf_core-3.4.0/nf_core/pipeline-template/.devcontainer/setup.sh +4 -0
  37. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/actions/nf-test/action.yml +4 -2
  38. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/awsfulltest.yml +6 -6
  39. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/awstest.yml +6 -6
  40. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/clean-up.yml +1 -1
  41. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/download_pipeline.yml +3 -3
  42. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/fix_linting.yml +8 -8
  43. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/linting.yml +7 -7
  44. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/linting_comment.yml +1 -1
  45. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/nf-test.yml +5 -4
  46. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/release-announcements.yml +7 -0
  47. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/template-version-comment.yml +1 -1
  48. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.pre-commit-config.yaml +1 -1
  49. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.prettierignore +1 -0
  50. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/README.md +1 -1
  51. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/docs/usage.md +1 -1
  52. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/main.nf +4 -1
  53. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml +1 -1
  54. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf +2 -2
  55. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test.snap +9 -9
  56. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules.json +4 -4
  57. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/nextflow.config +20 -32
  58. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/nextflow_schema.json +13 -1
  59. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf +33 -2
  60. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfschema_plugin/main.nf +34 -6
  61. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test +56 -0
  62. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config +2 -2
  63. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/tests/.nftignore +2 -1
  64. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/tests/default.nf.test +0 -2
  65. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/bump_version.py +5 -4
  66. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/create.py +6 -9
  67. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/template_features.yml +1 -18
  68. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/utils.py +2 -2
  69. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create_logo.py +2 -3
  70. nf_core-3.4.0/nf_core/pipelines/download/__init__.py +1 -0
  71. nf_core-3.4.0/nf_core/pipelines/download/container_fetcher.py +496 -0
  72. nf_core-3.4.0/nf_core/pipelines/download/docker.py +441 -0
  73. nf_core-3.4.0/nf_core/pipelines/download/download.py +744 -0
  74. nf_core-3.4.0/nf_core/pipelines/download/singularity.py +911 -0
  75. nf_core-3.4.0/nf_core/pipelines/download/utils.py +102 -0
  76. nf_core-3.4.0/nf_core/pipelines/download/workflow_repo.py +300 -0
  77. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/__init__.py +4 -5
  78. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/files_exist.py +1 -2
  79. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/files_unchanged.py +3 -4
  80. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/modules_json.py +1 -2
  81. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/multiqc_config.py +10 -2
  82. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/nextflow_config.py +16 -23
  83. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/nf_test_content.py +1 -2
  84. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/pipeline_if_empty_null.py +11 -11
  85. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/readme.py +1 -1
  86. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint_utils.py +2 -3
  87. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/list.py +20 -2
  88. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/params_file.py +4 -4
  89. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/rocrate.py +12 -13
  90. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/schema.py +4 -4
  91. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/sync.py +6 -6
  92. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflow-template/tests/main.nf.test.j2 +5 -4
  93. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/__init__.py +0 -1
  94. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/main_nf.py +39 -13
  95. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/meta_yml.py +28 -9
  96. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/subworkflow_changes.py +18 -1
  97. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/subworkflow_if_empty_null.py +6 -2
  98. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/subworkflow_tests.py +27 -35
  99. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/subworkflow_todos.py +2 -2
  100. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/lint/subworkflow_version.py +18 -5
  101. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/list.py +3 -4
  102. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/synced_repo.py +3 -8
  103. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/test_datasets/list.py +13 -17
  104. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/test_datasets/search.py +7 -2
  105. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/test_datasets/test_datasets_utils.py +1 -2
  106. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/utils.py +151 -74
  107. {nf_core-3.3.2 → nf_core-3.4.0/nf_core.egg-info}/PKG-INFO +8 -8
  108. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/SOURCES.txt +32 -7
  109. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/requires.txt +3 -3
  110. {nf_core-3.3.2 → nf_core-3.4.0}/pyproject.toml +2 -2
  111. {nf_core-3.3.2 → nf_core-3.4.0}/requirements.txt +3 -3
  112. {nf_core-3.3.2 → nf_core-3.4.0}/setup.py +2 -2
  113. nf_core-3.4.0/tests/components/test_completion.py +69 -0
  114. {nf_core-3.3.2 → nf_core-3.4.0}/tests/components/test_components_generate_snapshot.py +1 -1
  115. nf_core-3.4.0/tests/modules/lint/test_environment_yml.py +328 -0
  116. nf_core-3.4.0/tests/modules/lint/test_lint_utils.py +35 -0
  117. nf_core-3.4.0/tests/modules/lint/test_main_nf.py +133 -0
  118. nf_core-3.4.0/tests/modules/lint/test_meta_yml.py +70 -0
  119. nf_core-3.4.0/tests/modules/lint/test_module_changes.py +72 -0
  120. nf_core-3.4.0/tests/modules/lint/test_module_deprecations.py +65 -0
  121. nf_core-3.4.0/tests/modules/lint/test_module_lint_integration.py +42 -0
  122. nf_core-3.4.0/tests/modules/lint/test_module_lint_local.py +57 -0
  123. nf_core-3.4.0/tests/modules/lint/test_module_lint_remotes.py +41 -0
  124. nf_core-3.4.0/tests/modules/lint/test_module_tests.py +215 -0
  125. nf_core-3.4.0/tests/modules/lint/test_module_todos.py +100 -0
  126. nf_core-3.4.0/tests/modules/lint/test_module_version.py +54 -0
  127. nf_core-3.4.0/tests/modules/lint/test_patch.py +60 -0
  128. nf_core-3.4.0/tests/modules/test_bump_versions.py +109 -0
  129. nf_core-3.4.0/tests/modules/test_modules_utils.py +84 -0
  130. nf_core-3.4.0/tests/pipelines/download/test_container.py +127 -0
  131. nf_core-3.4.0/tests/pipelines/download/test_docker.py +230 -0
  132. nf_core-3.4.0/tests/pipelines/download/test_download.py +481 -0
  133. nf_core-3.4.0/tests/pipelines/download/test_singularity.py +841 -0
  134. nf_core-3.4.0/tests/pipelines/download/test_utils.py +82 -0
  135. nf_core-3.4.0/tests/pipelines/lint/__init__.py +0 -0
  136. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_bump_version.py +42 -0
  137. nf_core-3.4.0/tests/pipelines/test_completion.py +37 -0
  138. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_sync.py +3 -4
  139. nf_core-3.4.0/tests/subworkflows/__init__.py +0 -0
  140. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_lint.py +54 -0
  141. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_patch.py +2 -2
  142. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_cli.py +9 -2
  143. nf_core-3.4.0/tests/test_datasets/__init__.py +0 -0
  144. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_modules.py +1 -0
  145. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_utils.py +12 -4
  146. {nf_core-3.3.2 → nf_core-3.4.0}/tests/utils.py +2 -1
  147. nf_core-3.3.2/nf_core/modules/lint/environment_yml.py +0 -122
  148. nf_core-3.3.2/nf_core/pipeline-template/.devcontainer/devcontainer.json +0 -20
  149. nf_core-3.3.2/nf_core/pipeline-template/.gitpod.yml +0 -10
  150. nf_core-3.3.2/nf_core/pipeline-template/modules/nf-core/multiqc/tests/tags.yml +0 -2
  151. nf_core-3.3.2/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/tags.yml +0 -2
  152. nf_core-3.3.2/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/tags.yml +0 -2
  153. nf_core-3.3.2/nf_core/pipelines/download.py +0 -1990
  154. nf_core-3.3.2/tests/modules/test_bump_versions.py +0 -50
  155. nf_core-3.3.2/tests/modules/test_lint.py +0 -732
  156. nf_core-3.3.2/tests/modules/test_modules_utils.py +0 -20
  157. nf_core-3.3.2/tests/pipelines/test_download.py +0 -1053
  158. {nf_core-3.3.2 → nf_core-3.4.0}/LICENSE +0 -0
  159. {nf_core-3.3.2 → nf_core-3.4.0}/MANIFEST.in +0 -0
  160. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/.pre-commit-prettier-config.yaml +0 -0
  161. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/__init__.py +0 -0
  162. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/assets/logo/MavenPro-Bold.ttf +0 -0
  163. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/assets/logo/nf-core-repo-logo-base-darkbg.png +0 -0
  164. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/assets/logo/nf-core-repo-logo-base-lightbg.png +0 -0
  165. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/assets/logo/placeholder_logo.svg +0 -0
  166. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/__init__.py +0 -0
  167. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/constants.py +0 -0
  168. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/patch.py +0 -0
  169. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/remove.py +0 -0
  170. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/components/update.py +0 -0
  171. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/module-template/environment.yml +0 -0
  172. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/module-template/main.nf +0 -0
  173. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/module-template/meta.yml +0 -0
  174. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/__init__.py +0 -0
  175. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/create.py +0 -0
  176. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/info.py +0 -0
  177. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/install.py +0 -0
  178. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/patch.py +0 -0
  179. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/remove.py +0 -0
  180. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/modules/update.py +0 -0
  181. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.gitattributes +0 -0
  182. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/.dockstore.yml +0 -0
  183. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/CONTRIBUTING.md +0 -0
  184. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  185. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/config.yml +0 -0
  186. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  187. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  188. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/actions/get-shards/action.yml +0 -0
  189. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.github/workflows/branch.yml +0 -0
  190. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.gitignore +0 -0
  191. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.nf-core.yml +0 -0
  192. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.prettierrc.yml +0 -0
  193. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/.vscode/settings.json +0 -0
  194. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/CHANGELOG.md +0 -0
  195. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/CITATIONS.md +0 -0
  196. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/CODE_OF_CONDUCT.md +0 -0
  197. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/LICENSE +0 -0
  198. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/adaptivecard.json +0 -0
  199. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/email_template.html +0 -0
  200. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/email_template.txt +0 -0
  201. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/methods_description_template.yml +0 -0
  202. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/multiqc_config.yml +0 -0
  203. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/samplesheet.csv +0 -0
  204. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/schema_input.json +0 -0
  205. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/sendmail_template.txt +0 -0
  206. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/assets/slackreport.json +0 -0
  207. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/base.config +0 -0
  208. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/igenomes.config +0 -0
  209. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/igenomes_ignored.config +0 -0
  210. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/modules.config +0 -0
  211. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/test.config +0 -0
  212. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/conf/test_full.config +0 -0
  213. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/docs/README.md +0 -0
  214. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/docs/output.md +0 -0
  215. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/fastqc/environment.yml +0 -0
  216. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/fastqc/main.nf +0 -0
  217. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/fastqc/meta.yml +0 -0
  218. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/fastqc/tests/main.nf.test +0 -0
  219. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/fastqc/tests/main.nf.test.snap +0 -0
  220. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/meta.yml +0 -0
  221. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test +0 -0
  222. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/modules/nf-core/multiqc/tests/nextflow.config +0 -0
  223. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/nf-test.config +0 -0
  224. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/main.nf +0 -0
  225. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/meta.yml +0 -0
  226. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test +0 -0
  227. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test.snap +0 -0
  228. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test +0 -0
  229. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/nextflow.config +0 -0
  230. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/main.nf +0 -0
  231. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/meta.yml +0 -0
  232. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test +0 -0
  233. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap +0 -0
  234. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test +0 -0
  235. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap +0 -0
  236. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/nextflow.config +0 -0
  237. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfschema_plugin/meta.yml +0 -0
  238. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow_schema.json +0 -0
  239. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/tests/nextflow.config +0 -0
  240. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/tower.yml +0 -0
  241. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipeline-template/workflows/pipeline.nf +0 -0
  242. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/__init__.py +0 -0
  243. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/__init__.py +0 -0
  244. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/basicdetails.py +0 -0
  245. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/create.tcss +0 -0
  246. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/custompipeline.py +0 -0
  247. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/finaldetails.py +0 -0
  248. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/githubexit.py +0 -0
  249. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/githubrepo.py +0 -0
  250. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/githubrepoquestion.py +0 -0
  251. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/loggingscreen.py +0 -0
  252. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/nfcorepipeline.py +0 -0
  253. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/pipelinetype.py +0 -0
  254. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/create/welcome.py +0 -0
  255. {nf_core-3.3.2/nf_core/test_datasets → nf_core-3.4.0/nf_core/pipelines/download/load_scripts}/__init__.py +0 -0
  256. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/launch.py +0 -0
  257. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/actions_awsfulltest.py +0 -0
  258. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/actions_awstest.py +0 -0
  259. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/actions_nf_test.py +0 -0
  260. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/actions_schema_validation.py +0 -0
  261. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/configs.py +0 -0
  262. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/included_configs.py +0 -0
  263. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/local_component_structure.py +0 -0
  264. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/merge_markers.py +0 -0
  265. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/modules_structure.py +0 -0
  266. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/nfcore_yml.py +0 -0
  267. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/pipeline_name_conventions.py +0 -0
  268. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/pipeline_todos.py +0 -0
  269. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/plugin_includes.py +0 -0
  270. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/rocrate_readme_sync.py +0 -0
  271. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/schema_description.py +0 -0
  272. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/schema_lint.py +0 -0
  273. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/schema_params.py +0 -0
  274. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/system_exit.py +0 -0
  275. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/template_strings.py +0 -0
  276. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/lint/version_consistency.py +0 -0
  277. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/pipelines/refgenie.py +0 -0
  278. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflow-template/main.nf +0 -0
  279. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflow-template/meta.yml +0 -0
  280. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/__init__.py +0 -0
  281. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/create.py +0 -0
  282. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/info.py +0 -0
  283. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/install.py +0 -0
  284. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/patch.py +0 -0
  285. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/remove.py +0 -0
  286. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core/subworkflows/update.py +0 -0
  287. {nf_core-3.3.2/tests → nf_core-3.4.0/nf_core/test_datasets}/__init__.py +0 -0
  288. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/dependency_links.txt +0 -0
  289. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/entry_points.txt +0 -0
  290. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/not-zip-safe +0 -0
  291. {nf_core-3.3.2 → nf_core-3.4.0}/nf_core.egg-info/top_level.txt +0 -0
  292. {nf_core-3.3.2 → nf_core-3.4.0}/setup.cfg +0 -0
  293. {nf_core-3.3.2/tests/components → nf_core-3.4.0/tests}/__init__.py +0 -0
  294. {nf_core-3.3.2/tests/modules → nf_core-3.4.0/tests/components}/__init__.py +0 -0
  295. {nf_core-3.3.2 → nf_core-3.4.0}/tests/components/test_components_snapshot_test.py +0 -0
  296. {nf_core-3.3.2 → nf_core-3.4.0}/tests/components/test_components_utils.py +0 -0
  297. {nf_core-3.3.2 → nf_core-3.4.0}/tests/conftest.py +0 -0
  298. {nf_core-3.3.2/tests/pipelines → nf_core-3.4.0/tests/modules}/__init__.py +0 -0
  299. {nf_core-3.3.2/tests/pipelines → nf_core-3.4.0/tests/modules}/lint/__init__.py +0 -0
  300. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_create.py +0 -0
  301. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_info.py +0 -0
  302. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_install.py +0 -0
  303. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_list.py +0 -0
  304. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_modules_json.py +0 -0
  305. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_patch.py +0 -0
  306. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_remove.py +0 -0
  307. {nf_core-3.3.2 → nf_core-3.4.0}/tests/modules/test_update.py +0 -0
  308. {nf_core-3.3.2/tests/subworkflows → nf_core-3.4.0/tests/pipelines}/__init__.py +0 -0
  309. {nf_core-3.3.2/tests/test_datasets → nf_core-3.4.0/tests/pipelines/download}/__init__.py +0 -0
  310. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_actions_awsfulltest.py +0 -0
  311. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_actions_awstest.py +0 -0
  312. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_actions_nf_test.py +0 -0
  313. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_actions_schema_validation.py +0 -0
  314. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_configs.py +0 -0
  315. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_files_exist.py +0 -0
  316. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_files_unchanged.py +0 -0
  317. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_if_empty_null.py +0 -0
  318. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_local_component_structure.py +0 -0
  319. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_merge_markers.py +0 -0
  320. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_modules_json.py +0 -0
  321. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_multiqc_config.py +0 -0
  322. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_nextflow_config.py +0 -0
  323. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_nf_test_content.py +0 -0
  324. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_nfcore_yml.py +0 -0
  325. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_plugin_includes.py +0 -0
  326. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_rocrate_readme_sync.py +0 -0
  327. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_template_strings.py +0 -0
  328. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/lint/test_version_consistency.py +0 -0
  329. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_create.py +0 -0
  330. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_create_app.py +0 -0
  331. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_create_logo.py +0 -0
  332. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_launch.py +0 -0
  333. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_lint.py +0 -0
  334. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_list.py +0 -0
  335. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_params_file.py +0 -0
  336. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_refgenie.py +0 -0
  337. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_rocrate.py +0 -0
  338. {nf_core-3.3.2 → nf_core-3.4.0}/tests/pipelines/test_schema.py +0 -0
  339. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_create.py +0 -0
  340. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_info.py +0 -0
  341. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_install.py +0 -0
  342. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_list.py +0 -0
  343. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_remove.py +0 -0
  344. {nf_core-3.3.2 → nf_core-3.4.0}/tests/subworkflows/test_update.py +0 -0
  345. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_components.py +0 -0
  346. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_datasets/test_test_datasets_search.py +0 -0
  347. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_datasets/test_test_datasets_utils.py +0 -0
  348. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_lint_utils.py +0 -0
  349. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_pipelines.py +0 -0
  350. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_subworkflows.py +0 -0
  351. {nf_core-3.3.2 → nf_core-3.4.0}/tests/test_test_utils.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nf-core
3
- Version: 3.3.2
3
+ Version: 3.4.0
4
4
  Summary: Helper tools for use with nf-core Nextflow pipelines.
5
5
  Home-page: https://github.com/nf-core/tools
6
6
  Author: Phil Ewels
7
7
  Author-email: phil.ewels@scilifelab.se
8
8
  License: MIT
9
9
  Keywords: nf-core,nextflow,bioinformatics,workflow,pipeline,biology,sequencing,NGS,next generation sequencing
10
- Requires-Python: >=3.9, <4
10
+ Requires-Python: >=3.10, <4
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  Requires-Dist: click
@@ -20,19 +20,19 @@ Requires-Dist: markdown>=3.3
20
20
  Requires-Dist: packaging
21
21
  Requires-Dist: pillow
22
22
  Requires-Dist: pre-commit
23
- Requires-Dist: prompt_toolkit<=3.0.51
23
+ Requires-Dist: prompt_toolkit<=3.0.52
24
24
  Requires-Dist: pydantic>=2.2.1
25
25
  Requires-Dist: pyyaml
26
26
  Requires-Dist: questionary>=2.0.1
27
27
  Requires-Dist: refgenie
28
28
  Requires-Dist: requests
29
29
  Requires-Dist: requests_cache
30
- Requires-Dist: rich-click==1.8.*
30
+ Requires-Dist: rich-click==1.9.*
31
31
  Requires-Dist: rich>=13.3.1
32
32
  Requires-Dist: rocrate
33
33
  Requires-Dist: repo2rocrate
34
34
  Requires-Dist: tabulate
35
- Requires-Dist: textual==3.5.0
35
+ Requires-Dist: textual==6.2.1
36
36
  Requires-Dist: trogon
37
37
  Requires-Dist: pdiff
38
38
  Requires-Dist: ruamel.yaml
@@ -50,8 +50,8 @@ Dynamic: summary
50
50
 
51
51
  <h1>
52
52
  <picture>
53
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nf-core/tools/docs/images/nfcore-tools_logo_dark.png">
54
- <img alt="nf-core/tools" src="https://raw.githubusercontent.com/nf-core/tools/docs/images/nfcore-tools_logo_light.png">
53
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nf-core/tools/main/docs/images/nfcore-tools_logo_dark.png">
54
+ <img alt="nf-core/tools" src="https://raw.githubusercontent.com/nf-core/tools/main/docs/images/nfcore-tools_logo_light.png">
55
55
  </picture>
56
56
  </h1><!-- omit in toc -->
57
57
 
@@ -85,7 +85,7 @@ conda install nf-core
85
85
  Alternatively, you can create a new environment with both nf-core/tools and nextflow:
86
86
 
87
87
  ```bash
88
- conda create --name nf-core python=3.13 nf-core nextflow
88
+ conda create --name nf-core python=3.14 nf-core nextflow
89
89
  conda activate nf-core
90
90
  ```
91
91
 
@@ -1,7 +1,7 @@
1
1
  <h1>
2
2
  <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nf-core/tools/docs/images/nfcore-tools_logo_dark.png">
4
- <img alt="nf-core/tools" src="https://raw.githubusercontent.com/nf-core/tools/docs/images/nfcore-tools_logo_light.png">
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nf-core/tools/main/docs/images/nfcore-tools_logo_dark.png">
4
+ <img alt="nf-core/tools" src="https://raw.githubusercontent.com/nf-core/tools/main/docs/images/nfcore-tools_logo_light.png">
5
5
  </picture>
6
6
  </h1><!-- omit in toc -->
7
7
 
@@ -35,7 +35,7 @@ conda install nf-core
35
35
  Alternatively, you can create a new environment with both nf-core/tools and nextflow:
36
36
 
37
37
  ```bash
38
- conda create --name nf-core python=3.13 nf-core nextflow
38
+ conda create --name nf-core python=3.14 nf-core nextflow
39
39
  conda activate nf-core
40
40
  ```
41
41
 
@@ -11,6 +11,7 @@ import rich.console
11
11
  import rich.logging
12
12
  import rich.traceback
13
13
  import rich_click as click
14
+ import rich_click.rich_click as rc
14
15
  from trogon import tui
15
16
 
16
17
  from nf_core import __version__
@@ -59,8 +60,10 @@ from nf_core.commands_test_datasets import (
59
60
  test_datasets_list_remote,
60
61
  test_datasets_search,
61
62
  )
63
+ from nf_core.components.components_completion import autocomplete_modules, autocomplete_subworkflows
62
64
  from nf_core.components.constants import NF_CORE_MODULES_REMOTE
63
- from nf_core.pipelines.download import DownloadError
65
+ from nf_core.pipelines.download.download import DownloadError
66
+ from nf_core.pipelines.list import autocomplete_pipelines
64
67
  from nf_core.utils import check_if_outdated, nfcore_logo, rich_force_colors, setup_nfcore_dir
65
68
 
66
69
  # Set up logging as the root logger
@@ -71,51 +74,10 @@ log = logging.getLogger()
71
74
  setup_nfcore_dir()
72
75
 
73
76
  # Set up nicer formatting of click cli help messages
74
- click.rich_click.MAX_WIDTH = 100
75
- click.rich_click.USE_RICH_MARKUP = True
76
- click.rich_click.COMMAND_GROUPS = {
77
- "nf-core": [
78
- {
79
- "name": "Commands",
80
- "commands": ["pipelines", "modules", "subworkflows", "test-datasets", "interface"],
81
- },
82
- ],
83
- "nf-core pipelines": [
84
- {
85
- "name": "For users",
86
- "commands": ["list", "launch", "download", "create-params-file"],
87
- },
88
- {
89
- "name": "For developers",
90
- "commands": ["create", "lint", "bump-version", "sync", "schema", "rocrate", "create-logo"],
91
- },
92
- ],
93
- "nf-core modules": [
94
- {
95
- "name": "For pipelines",
96
- "commands": ["list", "info", "install", "update", "remove", "patch"],
97
- },
98
- {
99
- "name": "Developing new modules",
100
- "commands": ["create", "lint", "test", "bump-versions"],
101
- },
102
- ],
103
- "nf-core subworkflows": [
104
- {
105
- "name": "For pipelines",
106
- "commands": ["list", "info", "install", "update", "remove"],
107
- },
108
- {
109
- "name": "Developing new subworkflows",
110
- "commands": ["create", "lint", "test"],
111
- },
112
- ],
113
- "nf-core pipelines schema": [{"name": "Schema commands", "commands": ["validate", "build", "lint", "docs"]}],
114
- "nf-core test-datasets": [{"name": "For developers", "commands": ["search", "list", "list-branches"]}],
115
- }
116
- click.rich_click.OPTION_GROUPS = {
117
- "nf-core modules list local": [{"options": ["--dir", "--json", "--help"]}],
118
- }
77
+ rc.MAX_WIDTH = 100
78
+ rc.USE_RICH_MARKUP = True
79
+ rc.COMMANDS_BEFORE_OPTIONS = True
80
+
119
81
 
120
82
  # Set up rich stderr console
121
83
  stderr = rich.console.Console(stderr=True, force_terminal=rich_force_colors())
@@ -147,17 +109,6 @@ def normalize_case(ctx, param, component_name):
147
109
  return component_name.casefold()
148
110
 
149
111
 
150
- # Define a custom click group class to sort options and commands in the help message
151
- # TODO: Remove this class and use COMMANDS_BEFORE_OPTIONS when rich-click is updated
152
- # See https://github.com/ewels/rich-click/issues/200 for more information
153
- class CustomRichGroup(click.RichGroup):
154
- def format_options(self, ctx, formatter) -> None:
155
- from rich_click.rich_help_rendering import get_rich_options
156
-
157
- self.format_commands(ctx, formatter)
158
- get_rich_options(self, ctx, formatter)
159
-
160
-
161
112
  def run_nf_core():
162
113
  # print nf-core header if environment variable is not set
163
114
  if os.environ.get("_NF_CORE_COMPLETE") is None:
@@ -183,11 +134,8 @@ def run_nf_core():
183
134
  nf_core_cli(auto_envvar_prefix="NFCORE")
184
135
 
185
136
 
186
- @tui(
187
- command="interface",
188
- help="Launch the nf-core interface",
189
- )
190
- @click.group(context_settings=dict(help_option_names=["-h", "--help"]), cls=CustomRichGroup)
137
+ @tui(command="interface", help="Launch the nf-core interface")
138
+ @click.group(context_settings=dict(help_option_names=["-h", "--help"]))
191
139
  @click.version_option(__version__)
192
140
  @click.option(
193
141
  "-v",
@@ -199,6 +147,12 @@ def run_nf_core():
199
147
  @click.option("--hide-progress", is_flag=True, default=False, help="Don't show progress bars.")
200
148
  @click.option("-l", "--log-file", help="Save a verbose log to a file.", metavar="<filename>")
201
149
  @click.pass_context
150
+ @click.rich_config(
151
+ {
152
+ "theme": "default-nu",
153
+ "options_table_column_types": ["opt_long", "opt_short", "help"],
154
+ }
155
+ )
202
156
  def nf_core_cli(ctx, verbose, hide_progress, log_file):
203
157
  """
204
158
  nf-core/tools provides a set of helper tools for use with nf-core Nextflow pipelines.
@@ -237,7 +191,11 @@ def nf_core_cli(ctx, verbose, hide_progress, log_file):
237
191
 
238
192
 
239
193
  # nf-core pipelines subcommands
240
- @nf_core_cli.group()
194
+ @nf_core_cli.group(aliases=["p", "pipeline"])
195
+ @click.command_panel("For users", commands=["download", "create-params-file", "launch", "list"])
196
+ @click.command_panel(
197
+ "For developers", commands=["bump-version", "create", "create-logo", "lint", "rocrate", "schema", "sync"]
198
+ )
241
199
  @click.pass_context
242
200
  def pipelines(ctx):
243
201
  """
@@ -354,7 +312,12 @@ def command_pipelines_lint(
354
312
 
355
313
  # nf-core pipelines download
356
314
  @pipelines.command("download")
357
- @click.argument("pipeline", required=False, metavar="<pipeline name>")
315
+ @click.argument(
316
+ "pipeline",
317
+ required=False,
318
+ metavar="<pipeline name>",
319
+ shell_complete=autocomplete_pipelines,
320
+ )
358
321
  @click.option(
359
322
  "-r",
360
323
  "--revision",
@@ -393,33 +356,33 @@ def command_pipelines_lint(
393
356
  @click.option(
394
357
  "-s",
395
358
  "--container-system",
396
- type=click.Choice(["none", "singularity"]),
359
+ type=click.Choice(["none", "singularity", "docker"]),
397
360
  help="Download container images of required software.",
398
361
  )
399
362
  @click.option(
400
363
  "-l",
401
364
  "--container-library",
402
365
  multiple=True,
403
- help="Container registry/library or mirror to pull images from.",
366
+ help="Container registry/library or mirror to pull images from. Not available for Docker containers.",
404
367
  )
405
368
  @click.option(
406
369
  "-u",
407
370
  "--container-cache-utilisation",
408
371
  type=click.Choice(["amend", "copy", "remote"]),
409
- help="Utilise a `singularity.cacheDir` in the download process, if applicable.",
372
+ help="Utilise a `singularity.cacheDir` in the download process, if applicable. Not available for Docker containers.",
410
373
  )
411
374
  @click.option(
412
375
  "-i",
413
376
  "--container-cache-index",
414
377
  type=str,
415
- help="List of images already available in a remote `singularity.cacheDir`.",
378
+ help="List of images already available in a remote `singularity.cacheDir`. Not available for Docker containers.",
416
379
  )
417
380
  @click.option(
418
381
  "-d",
419
382
  "--parallel-downloads",
420
383
  type=int,
421
384
  default=4,
422
- help="Number of parallel image downloads",
385
+ help="Number of allowed parallel tasks",
423
386
  )
424
387
  @click.pass_context
425
388
  def command_pipelines_download(
@@ -461,7 +424,12 @@ def command_pipelines_download(
461
424
 
462
425
  # nf-core pipelines create-params-file
463
426
  @pipelines.command("create-params-file")
464
- @click.argument("pipeline", required=False, metavar="<pipeline name>")
427
+ @click.argument(
428
+ "pipeline",
429
+ required=False,
430
+ metavar="<pipeline name>",
431
+ shell_complete=autocomplete_pipelines,
432
+ )
465
433
  @click.option("-r", "--revision", help="Release/branch/SHA of the pipeline (if remote)")
466
434
  @click.option(
467
435
  "-o",
@@ -489,7 +457,12 @@ def command_pipelines_create_params_file(ctx, pipeline, revision, output, force,
489
457
 
490
458
  # nf-core pipelines launch
491
459
  @pipelines.command("launch")
492
- @click.argument("pipeline", required=False, metavar="<pipeline name>")
460
+ @click.argument(
461
+ "pipeline",
462
+ required=False,
463
+ metavar="<pipeline name>",
464
+ shell_complete=autocomplete_pipelines,
465
+ )
493
466
  @click.option("-r", "--revision", help="Release/branch/SHA of the project to run (if remote)")
494
467
  @click.option("-i", "--id", help="ID for web-gui launch parameter set")
495
468
  @click.option(
@@ -745,7 +718,12 @@ def pipeline_schema():
745
718
  default=".",
746
719
  help=r"Pipeline directory. [dim]\[default: current working directory][/]",
747
720
  )
748
- @click.argument("pipeline", required=True, metavar="<pipeline name>")
721
+ @click.argument(
722
+ "pipeline",
723
+ required=False,
724
+ metavar="<pipeline name>",
725
+ shell_complete=autocomplete_pipelines,
726
+ )
749
727
  @click.argument("params", type=click.Path(exists=True), required=True, metavar="<JSON params file>")
750
728
  def command_pipelines_schema_validate(directory, pipeline, params):
751
729
  """
@@ -862,7 +840,7 @@ def command_pipelines_schema_docs(directory, schema_file, output, format, force,
862
840
 
863
841
 
864
842
  # nf-core modules subcommands
865
- @nf_core_cli.group()
843
+ @nf_core_cli.group(aliases=["m", "module"])
866
844
  @click.option(
867
845
  "-g",
868
846
  "--git-remote",
@@ -884,6 +862,8 @@ def command_pipelines_schema_docs(directory, schema_file, output, format, force,
884
862
  default=False,
885
863
  help="Do not pull in latest changes to local clone of modules repository.",
886
864
  )
865
+ @click.command_panel("For pipeline development", commands=["list", "info", "install", "update", "remove", "patch"])
866
+ @click.command_panel("For module development", commands=["create", "lint", "test", "bump-versions"])
887
867
  @click.pass_context
888
868
  def modules(ctx, git_remote, branch, no_pull):
889
869
  """
@@ -944,7 +924,14 @@ def command_modules_list_local(ctx, keywords, json, directory): # pylint: disab
944
924
  # nf-core modules install
945
925
  @modules.command("install")
946
926
  @click.pass_context
947
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
927
+ @click.argument(
928
+ "tool",
929
+ type=str,
930
+ callback=normalize_case,
931
+ required=False,
932
+ metavar="<tool> or <tool/subtool>",
933
+ shell_complete=autocomplete_modules,
934
+ )
948
935
  @click.option(
949
936
  "-d",
950
937
  "--dir",
@@ -978,7 +965,14 @@ def command_modules_install(ctx, tool, directory, prompt, force, sha):
978
965
  # nf-core modules update
979
966
  @modules.command("update")
980
967
  @click.pass_context
981
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
968
+ @click.argument(
969
+ "tool",
970
+ type=str,
971
+ callback=normalize_case,
972
+ required=False,
973
+ metavar="<tool> or <tool/subtool>",
974
+ shell_complete=autocomplete_modules,
975
+ )
982
976
  @click.option(
983
977
  "-d",
984
978
  "--dir",
@@ -1055,7 +1049,14 @@ def command_modules_update(
1055
1049
  # nf-core modules patch
1056
1050
  @modules.command("patch")
1057
1051
  @click.pass_context
1058
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1052
+ @click.argument(
1053
+ "tool",
1054
+ type=str,
1055
+ callback=normalize_case,
1056
+ required=False,
1057
+ metavar="<tool> or <tool/subtool>",
1058
+ shell_complete=autocomplete_modules,
1059
+ )
1059
1060
  @click.option(
1060
1061
  "-d",
1061
1062
  "--dir",
@@ -1075,7 +1076,14 @@ def command_modules_patch(ctx, tool, directory, remove):
1075
1076
  # nf-core modules remove
1076
1077
  @modules.command("remove")
1077
1078
  @click.pass_context
1078
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1079
+ @click.argument(
1080
+ "tool",
1081
+ type=str,
1082
+ callback=normalize_case,
1083
+ required=False,
1084
+ metavar="<tool> or <tool/subtool>",
1085
+ shell_complete=autocomplete_modules,
1086
+ )
1079
1087
  @click.option(
1080
1088
  "-d",
1081
1089
  "--dir",
@@ -1194,7 +1202,14 @@ def command_modules_create(
1194
1202
  # nf-core modules test
1195
1203
  @modules.command("test")
1196
1204
  @click.pass_context
1197
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1205
+ @click.argument(
1206
+ "tool",
1207
+ type=str,
1208
+ callback=normalize_case,
1209
+ required=False,
1210
+ metavar="<tool> or <tool/subtool>",
1211
+ shell_complete=autocomplete_modules,
1212
+ )
1198
1213
  @click.option(
1199
1214
  "-v",
1200
1215
  "--verbose",
@@ -1249,7 +1264,14 @@ def command_modules_test(ctx, tool, directory, no_prompts, update, once, profile
1249
1264
  # nf-core modules lint
1250
1265
  @modules.command("lint")
1251
1266
  @click.pass_context
1252
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1267
+ @click.argument(
1268
+ "tool",
1269
+ type=str,
1270
+ callback=normalize_case,
1271
+ required=False,
1272
+ metavar="<tool> or <tool/subtool>",
1273
+ shell_complete=autocomplete_modules,
1274
+ )
1253
1275
  @click.option(
1254
1276
  "-d",
1255
1277
  "--dir",
@@ -1303,7 +1325,14 @@ def command_modules_lint(
1303
1325
  # nf-core modules info
1304
1326
  @modules.command("info")
1305
1327
  @click.pass_context
1306
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1328
+ @click.argument(
1329
+ "tool",
1330
+ type=str,
1331
+ callback=normalize_case,
1332
+ required=False,
1333
+ metavar="<tool> or <tool/subtool>",
1334
+ shell_complete=autocomplete_modules,
1335
+ )
1307
1336
  @click.option(
1308
1337
  "-d",
1309
1338
  "--dir",
@@ -1322,7 +1351,14 @@ def command_modules_info(ctx, tool, directory):
1322
1351
  # nf-core modules bump-versions
1323
1352
  @modules.command("bump-versions")
1324
1353
  @click.pass_context
1325
- @click.argument("tool", type=str, callback=normalize_case, required=False, metavar="<tool> or <tool/subtool>")
1354
+ @click.argument(
1355
+ "tool",
1356
+ type=str,
1357
+ callback=normalize_case,
1358
+ required=False,
1359
+ metavar="<tool> or <tool/subtool>. Module to bump versions for. If <tool> is provided and <tool/subtool> exists, all subtools will be bumped.",
1360
+ shell_complete=autocomplete_modules,
1361
+ )
1326
1362
  @click.option(
1327
1363
  "-d",
1328
1364
  "--dir",
@@ -1333,16 +1369,17 @@ def command_modules_info(ctx, tool, directory):
1333
1369
  )
1334
1370
  @click.option("-a", "--all", is_flag=True, help="Run on all modules")
1335
1371
  @click.option("-s", "--show-all", is_flag=True, help="Show up-to-date modules in results too")
1336
- def command_modules_bump_versions(ctx, tool, directory, all, show_all):
1372
+ @click.option("-r", "--dry-run", is_flag=True, help="Dry run the command")
1373
+ def command_modules_bump_versions(ctx, tool, directory, all, show_all, dry_run):
1337
1374
  """
1338
1375
  Bump versions for one or more modules in a clone of
1339
1376
  the nf-core/modules repo.
1340
1377
  """
1341
- modules_bump_versions(ctx, tool, directory, all, show_all)
1378
+ modules_bump_versions(ctx, tool, directory, all, show_all, dry_run)
1342
1379
 
1343
1380
 
1344
1381
  # nf-core subworkflows click command
1345
- @nf_core_cli.group()
1382
+ @nf_core_cli.group(aliases=["s", "swf", "subworkflow"])
1346
1383
  @click.option(
1347
1384
  "-g",
1348
1385
  "--git-remote",
@@ -1364,6 +1401,8 @@ def command_modules_bump_versions(ctx, tool, directory, all, show_all):
1364
1401
  default=False,
1365
1402
  help="Do not pull in latest changes to local clone of modules repository.",
1366
1403
  )
1404
+ @click.command_panel("For pipeline development", commands=["list", "info", "install", "update", "remove", "patch"])
1405
+ @click.command_panel("For module development", commands=["create", "lint", "test", "bump-versions"])
1367
1406
  @click.pass_context
1368
1407
  def subworkflows(ctx, git_remote, branch, no_pull):
1369
1408
  """
@@ -1414,7 +1453,14 @@ def command_subworkflows_create(ctx, subworkflow, directory, author, force, migr
1414
1453
  # nf-core subworkflows test
1415
1454
  @subworkflows.command("test")
1416
1455
  @click.pass_context
1417
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1456
+ @click.argument(
1457
+ "subworkflow",
1458
+ type=str,
1459
+ callback=normalize_case,
1460
+ required=False,
1461
+ metavar="subworkflow name",
1462
+ shell_complete=autocomplete_subworkflows,
1463
+ )
1418
1464
  @click.option(
1419
1465
  "-d",
1420
1466
  "--dir",
@@ -1502,7 +1548,14 @@ def command_subworkflows_list_local(ctx, keywords, json, directory): # pylint:
1502
1548
  # nf-core subworkflows lint
1503
1549
  @subworkflows.command("lint")
1504
1550
  @click.pass_context
1505
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1551
+ @click.argument(
1552
+ "subworkflow",
1553
+ type=str,
1554
+ callback=normalize_case,
1555
+ required=False,
1556
+ metavar="subworkflow name",
1557
+ shell_complete=autocomplete_subworkflows,
1558
+ )
1506
1559
  @click.option(
1507
1560
  "-d",
1508
1561
  "--dir",
@@ -1551,7 +1604,14 @@ def command_subworkflows_lint(
1551
1604
  # nf-core subworkflows info
1552
1605
  @subworkflows.command("info")
1553
1606
  @click.pass_context
1554
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1607
+ @click.argument(
1608
+ "subworkflow",
1609
+ type=str,
1610
+ callback=normalize_case,
1611
+ required=False,
1612
+ metavar="subworkflow name",
1613
+ shell_complete=autocomplete_subworkflows,
1614
+ )
1555
1615
  @click.option(
1556
1616
  "-d",
1557
1617
  "--dir",
@@ -1570,7 +1630,14 @@ def command_subworkflows_info(ctx, subworkflow, directory):
1570
1630
  # nf-core subworkflows install
1571
1631
  @subworkflows.command("install")
1572
1632
  @click.pass_context
1573
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1633
+ @click.argument(
1634
+ "subworkflow",
1635
+ type=str,
1636
+ callback=normalize_case,
1637
+ required=False,
1638
+ metavar="subworkflow name",
1639
+ shell_complete=autocomplete_subworkflows,
1640
+ )
1574
1641
  @click.option(
1575
1642
  "-d",
1576
1643
  "--dir",
@@ -1610,7 +1677,14 @@ def command_subworkflows_install(ctx, subworkflow, directory, prompt, force, sha
1610
1677
  # nf-core subworkflows patch
1611
1678
  @subworkflows.command("patch")
1612
1679
  @click.pass_context
1613
- @click.argument("tool", type=str, required=False, metavar="<tool> or <tool/subtool>")
1680
+ @click.argument(
1681
+ "subworkflow",
1682
+ type=str,
1683
+ callback=normalize_case,
1684
+ required=False,
1685
+ metavar="subworkflow name",
1686
+ shell_complete=autocomplete_subworkflows,
1687
+ )
1614
1688
  @click.option(
1615
1689
  "-d",
1616
1690
  "--dir",
@@ -1619,7 +1693,7 @@ def command_subworkflows_install(ctx, subworkflow, directory, prompt, force, sha
1619
1693
  help=r"Pipeline directory. [dim]\[default: current working directory][/]",
1620
1694
  )
1621
1695
  @click.option("-r", "--remove", is_flag=True, default=False, help="Remove an existent patch file and regenerate it.")
1622
- def subworkflows_patch(ctx, tool, dir, remove):
1696
+ def subworkflows_patch(ctx, subworkflow, dir, remove):
1623
1697
  """
1624
1698
  Create a patch file for minor changes in a subworkflow
1625
1699
 
@@ -1636,9 +1710,9 @@ def subworkflows_patch(ctx, tool, dir, remove):
1636
1710
  ctx.obj["modules_repo_no_pull"],
1637
1711
  )
1638
1712
  if remove:
1639
- subworkflow_patch.remove(tool)
1713
+ subworkflow_patch.remove(subworkflow)
1640
1714
  else:
1641
- subworkflow_patch.patch(tool)
1715
+ subworkflow_patch.patch(subworkflow)
1642
1716
  except (UserWarning, LookupError) as e:
1643
1717
  log.error(e)
1644
1718
  sys.exit(1)
@@ -1647,7 +1721,14 @@ def subworkflows_patch(ctx, tool, dir, remove):
1647
1721
  # nf-core subworkflows remove
1648
1722
  @subworkflows.command("remove")
1649
1723
  @click.pass_context
1650
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1724
+ @click.argument(
1725
+ "subworkflow",
1726
+ type=str,
1727
+ callback=normalize_case,
1728
+ required=False,
1729
+ metavar="subworkflow name",
1730
+ shell_complete=autocomplete_subworkflows,
1731
+ )
1651
1732
  @click.option(
1652
1733
  "-d",
1653
1734
  "--dir",
@@ -1666,7 +1747,14 @@ def command_subworkflows_remove(ctx, directory, subworkflow):
1666
1747
  # nf-core subworkflows update
1667
1748
  @subworkflows.command("update")
1668
1749
  @click.pass_context
1669
- @click.argument("subworkflow", type=str, callback=normalize_case, required=False, metavar="subworkflow name")
1750
+ @click.argument(
1751
+ "subworkflow",
1752
+ type=str,
1753
+ callback=normalize_case,
1754
+ required=False,
1755
+ metavar="subworkflow name",
1756
+ shell_complete=autocomplete_subworkflows,
1757
+ )
1670
1758
  @click.option(
1671
1759
  "-d",
1672
1760
  "--dir",
@@ -1750,7 +1838,7 @@ def command_subworkflows_update(
1750
1838
 
1751
1839
 
1752
1840
  # nf-core test-dataset subcommands
1753
- @nf_core_cli.group()
1841
+ @nf_core_cli.group(aliases=["tds"])
1754
1842
  @click.pass_context
1755
1843
  def test_datasets(ctx):
1756
1844
  """
@@ -1777,7 +1865,7 @@ def test_datasets(ctx):
1777
1865
  "--generate-dl-url",
1778
1866
  is_flag=True,
1779
1867
  default=False,
1780
- help="Auto-generate a github url for downloading the test data file based on the branch and query result",
1868
+ help="Auto-generate a github url for downloading the test data file based on the branch and query result. Only applicable when not using -p / --generate-nf-path",
1781
1869
  )
1782
1870
  @click.argument("query", required=False)
1783
1871
  def command_test_dataset_search(ctx, branch, generate_nf_path, generate_dl_url, query):
@@ -1804,7 +1892,7 @@ def command_test_dataset_search(ctx, branch, generate_nf_path, generate_dl_url,
1804
1892
  "--generate-dl-url",
1805
1893
  is_flag=True,
1806
1894
  default=False,
1807
- help="Auto-generate a github url for downloading the test data file based on the branch and query result",
1895
+ help="Auto-generate a github url for downloading the test data file based on the branch and query result. Only applicable when not using -p / --generate-nf-path",
1808
1896
  )
1809
1897
  def command_test_dataset_list_remote(ctx, branch, generate_nf_path, generate_dl_url):
1810
1898
  """
@@ -2232,7 +2320,7 @@ def command_create_params_file(pipeline, revision, output, force, show_hidden):
2232
2320
  @click.option(
2233
2321
  "-s",
2234
2322
  "--container-system",
2235
- type=click.Choice(["none", "singularity"]),
2323
+ type=click.Choice(["none", "singularity", "docker"]),
2236
2324
  help="Download container images of required software.",
2237
2325
  )
2238
2326
  @click.option(
@@ -183,7 +183,7 @@ def modules_create(
183
183
  'modules/local/tool_subtool.nf'
184
184
 
185
185
  If the specified directory is a clone of nf-core/modules, it creates or modifies files
186
- in 'modules/', 'tests/modules' and 'tests/config/pytest_modules.yml'
186
+ in 'modules/' and 'tests/modules'
187
187
  """
188
188
  # Combine two bool flags into one variable
189
189
  has_meta = None
@@ -334,7 +334,7 @@ def modules_info(ctx, tool, directory):
334
334
  sys.exit(1)
335
335
 
336
336
 
337
- def modules_bump_versions(ctx, tool, directory, all, show_all):
337
+ def modules_bump_versions(ctx, tool, directory, all, show_all, dry_run):
338
338
  """
339
339
  Bump versions for one or more modules in a clone of
340
340
  the nf-core/modules repo.
@@ -349,7 +349,7 @@ def modules_bump_versions(ctx, tool, directory, all, show_all):
349
349
  ctx.obj["modules_repo_branch"],
350
350
  ctx.obj["modules_repo_no_pull"],
351
351
  )
352
- version_bumper.bump_versions(module=tool, all_modules=all, show_uptodate=show_all)
352
+ version_bumper.bump_versions(module=tool, all_modules=all, show_up_to_date=show_all, dry_run=dry_run)
353
353
  except ModuleExceptionError as e:
354
354
  log.error(e)
355
355
  sys.exit(1)