toil 8.2.0__tar.gz → 9.0.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 (605) hide show
  1. {toil-8.2.0 → toil-9.0.0}/.gitlab-ci.yml +21 -26
  2. {toil-8.2.0 → toil-9.0.0}/Makefile +8 -7
  3. {toil-8.2.0 → toil-9.0.0}/PKG-INFO +23 -23
  4. {toil-8.2.0 → toil-9.0.0}/docker/Dockerfile.py +31 -12
  5. {toil-8.2.0 → toil-9.0.0}/docs/cwl/conformance.rst +12 -0
  6. {toil-8.2.0 → toil-9.0.0}/docs/cwl/running.rst +2 -2
  7. {toil-8.2.0 → toil-9.0.0}/docs/gettingStarted/quickStart.rst +65 -2
  8. {toil-8.2.0 → toil-9.0.0}/docs/running/cliOptions.rst +2 -1
  9. {toil-8.2.0 → toil-9.0.0}/docs/wdl/running.rst +34 -0
  10. {toil-8.2.0 → toil-9.0.0}/requirements-aws.txt +1 -1
  11. {toil-8.2.0 → toil-9.0.0}/requirements-cwl.txt +1 -1
  12. {toil-8.2.0 → toil-9.0.0}/requirements-dev.txt +2 -1
  13. toil-9.0.0/requirements-server.txt +8 -0
  14. {toil-8.2.0 → toil-9.0.0}/requirements-wdl.txt +1 -1
  15. {toil-8.2.0 → toil-9.0.0}/setup.cfg +1 -0
  16. toil-9.0.0/src/toil/batchSystems/registry.py +136 -0
  17. {toil-8.2.0 → toil-9.0.0}/src/toil/common.py +20 -1
  18. {toil-8.2.0 → toil-9.0.0}/src/toil/cwl/cwltoil.py +80 -37
  19. {toil-8.2.0 → toil-9.0.0}/src/toil/cwl/utils.py +103 -3
  20. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/abstractJobStore.py +11 -236
  21. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/aws/jobStore.py +2 -1
  22. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/fileJobStore.py +2 -1
  23. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/googleJobStore.py +7 -4
  24. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/accelerators.py +1 -1
  25. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/generatedEC2Lists.py +81 -19
  26. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/misc.py +1 -1
  27. toil-9.0.0/src/toil/lib/plugins.py +106 -0
  28. toil-9.0.0/src/toil/lib/url.py +320 -0
  29. {toil-8.2.0 → toil-9.0.0}/src/toil/options/cwl.py +13 -1
  30. {toil-8.2.0 → toil-9.0.0}/src/toil/options/runner.py +17 -10
  31. {toil-8.2.0 → toil-9.0.0}/src/toil/options/wdl.py +12 -1
  32. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/aws/awsProvisioner.py +25 -2
  33. {toil-8.2.0 → toil-9.0.0}/src/toil/server/app.py +12 -6
  34. {toil-8.2.0 → toil-9.0.0}/src/toil/server/cli/wes_cwl_runner.py +2 -2
  35. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wes/abstract_backend.py +21 -43
  36. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wes/toil_backend.py +2 -2
  37. {toil-8.2.0 → toil-9.0.0}/src/toil/test/__init__.py +2 -2
  38. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/batchSystemTest.py +2 -9
  39. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/batch_system_plugin_test.py +7 -0
  40. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/cwlTest.py +181 -8
  41. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scriptsTest.py +2 -1
  42. toil-9.0.0/src/toil/test/lib/test_url.py +69 -0
  43. toil-9.0.0/src/toil/test/lib/url_plugin_test.py +105 -0
  44. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/aws/awsProvisionerTest.py +1 -1
  45. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/clusterTest.py +15 -2
  46. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/gceProvisionerTest.py +1 -1
  47. {toil-8.2.0 → toil-9.0.0}/src/toil/test/server/serverTest.py +78 -36
  48. toil-9.0.0/src/toil/test/wdl/md5sum/md5sum-gs.json +1 -0
  49. toil-9.0.0/src/toil/test/wdl/testfiles/read_file.wdl +18 -0
  50. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/url_to_optional_file.wdl +2 -1
  51. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdltoil_test.py +74 -125
  52. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilSshCluster.py +23 -0
  53. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilUpdateEC2Instances.py +1 -0
  54. toil-9.0.0/src/toil/version.py +14 -0
  55. {toil-8.2.0 → toil-9.0.0}/src/toil/wdl/wdltoil.py +182 -314
  56. {toil-8.2.0 → toil-9.0.0}/src/toil/worker.py +11 -6
  57. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/PKG-INFO +23 -23
  58. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/SOURCES.txt +5 -0
  59. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/requires.txt +22 -22
  60. {toil-8.2.0 → toil-9.0.0}/version_template.py +1 -1
  61. toil-8.2.0/requirements-server.txt +0 -8
  62. toil-8.2.0/src/toil/batchSystems/registry.py +0 -239
  63. toil-8.2.0/src/toil/test/wdl/md5sum/md5sum-gs.json +0 -1
  64. toil-8.2.0/src/toil/version.py +0 -14
  65. {toil-8.2.0 → toil-9.0.0}/.git-blame-ignore-revs +0 -0
  66. {toil-8.2.0 → toil-9.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  67. {toil-8.2.0 → toil-9.0.0}/.github/dependabot.yml +0 -0
  68. {toil-8.2.0 → toil-9.0.0}/.github/workflows/codeql-analysis.yml +0 -0
  69. {toil-8.2.0 → toil-9.0.0}/.gitignore +0 -0
  70. {toil-8.2.0 → toil-9.0.0}/.readthedocs.yaml +0 -0
  71. {toil-8.2.0 → toil-9.0.0}/CODE_OF_CONDUCT.md +0 -0
  72. {toil-8.2.0 → toil-9.0.0}/CONTRIBUTING.md +0 -0
  73. {toil-8.2.0 → toil-9.0.0}/LICENSE +0 -0
  74. {toil-8.2.0 → toil-9.0.0}/MANIFEST.in +0 -0
  75. {toil-8.2.0 → toil-9.0.0}/README.rst +0 -0
  76. {toil-8.2.0 → toil-9.0.0}/ROADMAP.md +0 -0
  77. {toil-8.2.0 → toil-9.0.0}/attic/README.md +0 -0
  78. {toil-8.2.0 → toil-9.0.0}/attic/absolute_imports.py +0 -0
  79. {toil-8.2.0 → toil-9.0.0}/attic/jobTreeSlides.pdf +0 -0
  80. {toil-8.2.0 → toil-9.0.0}/attic/toil-sort-example.py +0 -0
  81. {toil-8.2.0 → toil-9.0.0}/common.mk +0 -0
  82. {toil-8.2.0 → toil-9.0.0}/contrib/admin/buildkit-deployment.yml +0 -0
  83. {toil-8.2.0 → toil-9.0.0}/contrib/admin/cleanup_aws_resources.py +0 -0
  84. {toil-8.2.0 → toil-9.0.0}/contrib/admin/mypy-with-ignore.py +0 -0
  85. {toil-8.2.0 → toil-9.0.0}/contrib/admin/remove_trailing_whitespace.py +0 -0
  86. {toil-8.2.0 → toil-9.0.0}/contrib/admin/test-pr +0 -0
  87. {toil-8.2.0 → toil-9.0.0}/contrib/admin/wheel-of-issues +0 -0
  88. {toil-8.2.0 → toil-9.0.0}/contrib/assets/toil-slug-logo-wordmark-2022.svg +0 -0
  89. {toil-8.2.0 → toil-9.0.0}/contrib/hooks/lib.py +0 -0
  90. {toil-8.2.0 → toil-9.0.0}/contrib/hooks/mypy-after-commit.py +0 -0
  91. {toil-8.2.0 → toil-9.0.0}/contrib/hooks/mypy-before-push.py +0 -0
  92. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/configargparse/__init__.pyi +0 -0
  93. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/configargparse/configargparse.pyi +0 -0
  94. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/dill/__init__.pyi +0 -0
  95. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/dill/_dill.pyi +0 -0
  96. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/__init__.pyi +0 -0
  97. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/__init__.pyi +0 -0
  98. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/annotations.pyi +0 -0
  99. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/callables.pyi +0 -0
  100. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/listener.pyi +0 -0
  101. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/notificationmgr.pyi +0 -0
  102. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/publisher.pyi +0 -0
  103. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicargspec.pyi +0 -0
  104. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicdefnprovider.pyi +0 -0
  105. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicexc.pyi +0 -0
  106. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicmgr.pyi +0 -0
  107. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicobj.pyi +0 -0
  108. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topictreetraverser.pyi +0 -0
  109. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/topicutils.pyi +0 -0
  110. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/core/weakmethod.pyi +0 -0
  111. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/pub.pyi +0 -0
  112. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/__init__.pyi +0 -0
  113. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/exchandling.pyi +0 -0
  114. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/misc.pyi +0 -0
  115. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/notification.pyi +0 -0
  116. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/topictreeprinter.pyi +0 -0
  117. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/pubsub/utils/xmltopicdefnprovider.pyi +0 -0
  118. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/tes/__init__.py +0 -0
  119. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/tes/client.pyi +0 -0
  120. {toil-8.2.0 → toil-9.0.0}/contrib/mypy-stubs/tes/models.pyi +0 -0
  121. {toil-8.2.0 → toil-9.0.0}/contrib/pod-murder-bot/murder.yaml +0 -0
  122. {toil-8.2.0 → toil-9.0.0}/contrib/pod-murder-bot/podKiller.sh +0 -0
  123. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/check_out.sh +0 -0
  124. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/docker-compose.yml +0 -0
  125. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/expected_out_basic.txt +0 -0
  126. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/expected_out_sort.txt +0 -0
  127. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/fileToSort.txt +0 -0
  128. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/slurm.conf +0 -0
  129. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/slurm_test.sh +0 -0
  130. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/sort.py +0 -0
  131. {toil-8.2.0 → toil-9.0.0}/contrib/slurm-test/toil_workflow.py +0 -0
  132. {toil-8.2.0 → toil-9.0.0}/contrib/toil-ci-prebake/Dockerfile +0 -0
  133. {toil-8.2.0 → toil-9.0.0}/contrib/toil-cwl-runner/README.rst +0 -0
  134. {toil-8.2.0 → toil-9.0.0}/contrib/toil-cwl-runner/pyproject.toml +0 -0
  135. {toil-8.2.0 → toil-9.0.0}/contrib/toil-cwl-runner/setup.cfg +0 -0
  136. {toil-8.2.0 → toil-9.0.0}/dashboard/grafana/Dockerfile +0 -0
  137. {toil-8.2.0 → toil-9.0.0}/dashboard/grafana/toil_dashboard.json +0 -0
  138. {toil-8.2.0 → toil-9.0.0}/dashboard/mtail/Dockerfile +0 -0
  139. {toil-8.2.0 → toil-9.0.0}/dashboard/mtail/toil.mtail +0 -0
  140. {toil-8.2.0 → toil-9.0.0}/dashboard/prometheus/Dockerfile +0 -0
  141. {toil-8.2.0 → toil-9.0.0}/dashboard/prometheus/prometheus.yml +0 -0
  142. {toil-8.2.0 → toil-9.0.0}/dashboard/prometheus/run.sh +0 -0
  143. {toil-8.2.0 → toil-9.0.0}/docker/customDockerInit.sh +0 -0
  144. {toil-8.2.0 → toil-9.0.0}/docker/extra-debs.tsv +0 -0
  145. {toil-8.2.0 → toil-9.0.0}/docker/singularity-wrapper.sh +0 -0
  146. {toil-8.2.0 → toil-9.0.0}/docker/waitForKey.sh +0 -0
  147. {toil-8.2.0 → toil-9.0.0}/docs/Makefile +0 -0
  148. {toil-8.2.0 → toil-9.0.0}/docs/_static/favicon.ico +0 -0
  149. {toil-8.2.0 → toil-9.0.0}/docs/_static/logo.jpeg +0 -0
  150. {toil-8.2.0 → toil-9.0.0}/docs/_static/shortcut.png +0 -0
  151. {toil-8.2.0 → toil-9.0.0}/docs/appendices/architecture.rst +0 -0
  152. {toil-8.2.0 → toil-9.0.0}/docs/appendices/aws_min_permissions.rst +0 -0
  153. {toil-8.2.0 → toil-9.0.0}/docs/appendices/caching_benefits.png +0 -0
  154. {toil-8.2.0 → toil-9.0.0}/docs/appendices/deploy.rst +0 -0
  155. {toil-8.2.0 → toil-9.0.0}/docs/appendices/environment_vars.rst +0 -0
  156. {toil-8.2.0 → toil-9.0.0}/docs/appendices/toil_architecture.png +0 -0
  157. {toil-8.2.0 → toil-9.0.0}/docs/conf.py +0 -0
  158. {toil-8.2.0 → toil-9.0.0}/docs/contributing/checklists.rst +0 -0
  159. {toil-8.2.0 → toil-9.0.0}/docs/contributing/contributing.rst +0 -0
  160. {toil-8.2.0 → toil-9.0.0}/docs/cwl/introduction.rst +0 -0
  161. {toil-8.2.0 → toil-9.0.0}/docs/gettingStarted/googleScreenShot.png +0 -0
  162. {toil-8.2.0 → toil-9.0.0}/docs/gettingStarted/googleScreenShot2.png +0 -0
  163. {toil-8.2.0 → toil-9.0.0}/docs/gettingStarted/install.rst +0 -0
  164. {toil-8.2.0 → toil-9.0.0}/docs/index.rst +0 -0
  165. {toil-8.2.0 → toil-9.0.0}/docs/python/developing.rst +0 -0
  166. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPI.rst +0 -0
  167. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIBatchsystem.rst +0 -0
  168. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIExceptions.rst +0 -0
  169. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIFilestore.rst +0 -0
  170. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIJobFunctions.rst +0 -0
  171. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIJobstore.rst +0 -0
  172. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIMethods.rst +0 -0
  173. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIRunner.rst +0 -0
  174. {toil-8.2.0 → toil-9.0.0}/docs/python/toilAPIService.rst +0 -0
  175. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/amazon.rst +0 -0
  176. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/amazonaddkeypair.png +0 -0
  177. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/cloud.rst +0 -0
  178. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/clusterUtils.rst +0 -0
  179. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/dashboard_screenshot.png +0 -0
  180. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/gce.rst +0 -0
  181. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/googleScreenShot.png +0 -0
  182. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/googleScreenShot2.png +0 -0
  183. {toil-8.2.0 → toil-9.0.0}/docs/running/cloud/kubernetes.rst +0 -0
  184. {toil-8.2.0 → toil-9.0.0}/docs/running/debugging.rst +0 -0
  185. {toil-8.2.0 → toil-9.0.0}/docs/running/hpcEnvironments.rst +0 -0
  186. {toil-8.2.0 → toil-9.0.0}/docs/running/introduction.rst +0 -0
  187. {toil-8.2.0 → toil-9.0.0}/docs/running/server/docker-compose.yml +0 -0
  188. {toil-8.2.0 → toil-9.0.0}/docs/running/server/wes.rst +0 -0
  189. {toil-8.2.0 → toil-9.0.0}/docs/running/utils.rst +0 -0
  190. {toil-8.2.0 → toil-9.0.0}/docs/vendor/sphinxcontrib/__init__.py +0 -0
  191. {toil-8.2.0 → toil-9.0.0}/docs/vendor/sphinxcontrib/fulltoc.py +0 -0
  192. {toil-8.2.0 → toil-9.0.0}/docs/wdl/conformance.rst +0 -0
  193. {toil-8.2.0 → toil-9.0.0}/docs/wdl/developing.rst +0 -0
  194. {toil-8.2.0 → toil-9.0.0}/docs/wdl/introduction.rst +0 -0
  195. {toil-8.2.0 → toil-9.0.0}/docs/wdl/tutorial.rst +0 -0
  196. {toil-8.2.0 → toil-9.0.0}/pyproject.toml +0 -0
  197. {toil-8.2.0 → toil-9.0.0}/requirements-encryption.txt +0 -0
  198. {toil-8.2.0 → toil-9.0.0}/requirements-google.txt +0 -0
  199. {toil-8.2.0 → toil-9.0.0}/requirements-htcondor.txt +0 -0
  200. {toil-8.2.0 → toil-9.0.0}/requirements-kubernetes.txt +0 -0
  201. {toil-8.2.0 → toil-9.0.0}/requirements-mesos.txt +0 -0
  202. {toil-8.2.0 → toil-9.0.0}/requirements.txt +0 -0
  203. {toil-8.2.0 → toil-9.0.0}/setup.py +0 -0
  204. {toil-8.2.0 → toil-9.0.0}/setup_gitlab_docker.py +0 -0
  205. {toil-8.2.0 → toil-9.0.0}/setup_gitlab_ssh.py +0 -0
  206. {toil-8.2.0 → toil-9.0.0}/src/toil/__init__.py +0 -0
  207. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/__init__.py +0 -0
  208. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/abstractBatchSystem.py +0 -0
  209. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/abstractGridEngineBatchSystem.py +0 -0
  210. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/awsBatch.py +0 -0
  211. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/cleanup_support.py +0 -0
  212. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/contained_executor.py +0 -0
  213. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/gridengine.py +0 -0
  214. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/htcondor.py +0 -0
  215. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/kubernetes.py +0 -0
  216. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/local_support.py +0 -0
  217. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/lsf.py +0 -0
  218. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/lsfHelper.py +0 -0
  219. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/mesos/__init__.py +0 -0
  220. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/mesos/batchSystem.py +0 -0
  221. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/mesos/conftest.py +0 -0
  222. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/mesos/executor.py +0 -0
  223. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/mesos/test/__init__.py +0 -0
  224. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/options.py +0 -0
  225. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/singleMachine.py +0 -0
  226. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/slurm.py +0 -0
  227. {toil-8.2.0 → toil-9.0.0}/src/toil/batchSystems/torque.py +0 -0
  228. {toil-8.2.0 → toil-9.0.0}/src/toil/bus.py +0 -0
  229. {toil-8.2.0 → toil-9.0.0}/src/toil/cwl/__init__.py +0 -0
  230. {toil-8.2.0 → toil-9.0.0}/src/toil/cwl/conftest.py +0 -0
  231. {toil-8.2.0 → toil-9.0.0}/src/toil/deferred.py +0 -0
  232. {toil-8.2.0 → toil-9.0.0}/src/toil/exceptions.py +0 -0
  233. {toil-8.2.0 → toil-9.0.0}/src/toil/fileStores/__init__.py +0 -0
  234. {toil-8.2.0 → toil-9.0.0}/src/toil/fileStores/abstractFileStore.py +0 -0
  235. {toil-8.2.0 → toil-9.0.0}/src/toil/fileStores/cachingFileStore.py +0 -0
  236. {toil-8.2.0 → toil-9.0.0}/src/toil/fileStores/nonCachingFileStore.py +0 -0
  237. {toil-8.2.0 → toil-9.0.0}/src/toil/job.py +0 -0
  238. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/__init__.py +0 -0
  239. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/aws/__init__.py +0 -0
  240. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/aws/utils.py +0 -0
  241. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/conftest.py +0 -0
  242. {toil-8.2.0 → toil-9.0.0}/src/toil/jobStores/utils.py +0 -0
  243. {toil-8.2.0 → toil-9.0.0}/src/toil/leader.py +0 -0
  244. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/__init__.py +0 -0
  245. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/__init__.py +0 -0
  246. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/ami.py +0 -0
  247. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/iam.py +0 -0
  248. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/s3.py +0 -0
  249. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/session.py +0 -0
  250. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/utils.py +0 -0
  251. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/aws/utils.py.orig +0 -0
  252. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/bioio.py +0 -0
  253. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/compatibility.py +0 -0
  254. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/conversions.py +0 -0
  255. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/docker.py +0 -0
  256. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/dockstore.py +0 -0
  257. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/ec2.py +0 -0
  258. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/ec2nodes.py +0 -0
  259. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/encryption/__init__.py +0 -0
  260. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/encryption/_dummy.py +0 -0
  261. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/encryption/_nacl.py +0 -0
  262. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/encryption/conftest.py +0 -0
  263. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/exceptions.py +0 -0
  264. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/expando.py +0 -0
  265. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/ftp_utils.py +0 -0
  266. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/history.py +0 -0
  267. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/history_submission.py +0 -0
  268. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/humanize.py +0 -0
  269. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/io.py +0 -0
  270. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/iterables.py +0 -0
  271. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/memoize.py +0 -0
  272. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/objects.py +0 -0
  273. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/resources.py +0 -0
  274. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/retry.py +0 -0
  275. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/threading.py +0 -0
  276. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/throttle.py +0 -0
  277. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/trs.py +0 -0
  278. {toil-8.2.0 → toil-9.0.0}/src/toil/lib/web.py +0 -0
  279. {toil-8.2.0 → toil-9.0.0}/src/toil/options/__init__.py +0 -0
  280. {toil-8.2.0 → toil-9.0.0}/src/toil/options/common.py +0 -0
  281. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/__init__.py +0 -0
  282. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/abstractProvisioner.py +0 -0
  283. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/aws/__init__.py +0 -0
  284. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/clusterScaler.py +0 -0
  285. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/gceProvisioner.py +0 -0
  286. {toil-8.2.0 → toil-9.0.0}/src/toil/provisioners/node.py +0 -0
  287. {toil-8.2.0 → toil-9.0.0}/src/toil/realtimeLogger.py +0 -0
  288. {toil-8.2.0 → toil-9.0.0}/src/toil/resource.py +0 -0
  289. {toil-8.2.0 → toil-9.0.0}/src/toil/server/__init__.py +0 -0
  290. {toil-8.2.0 → toil-9.0.0}/src/toil/server/api_spec/LICENSE +0 -0
  291. {toil-8.2.0 → toil-9.0.0}/src/toil/server/api_spec/README.rst +0 -0
  292. {toil-8.2.0 → toil-9.0.0}/src/toil/server/api_spec/__init__.py +0 -0
  293. {toil-8.2.0 → toil-9.0.0}/src/toil/server/api_spec/workflow_execution_service.swagger.yaml +0 -0
  294. {toil-8.2.0 → toil-9.0.0}/src/toil/server/celery_app.py +0 -0
  295. {toil-8.2.0 → toil-9.0.0}/src/toil/server/cli/__init__.py +0 -0
  296. {toil-8.2.0 → toil-9.0.0}/src/toil/server/utils.py +0 -0
  297. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wes/__init__.py +0 -0
  298. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wes/amazon_wes_utils.py +0 -0
  299. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wes/tasks.py +0 -0
  300. {toil-8.2.0 → toil-9.0.0}/src/toil/server/wsgi_app.py +0 -0
  301. {toil-8.2.0 → toil-9.0.0}/src/toil/serviceManager.py +0 -0
  302. {toil-8.2.0 → toil-9.0.0}/src/toil/statsAndLogging.py +0 -0
  303. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/__init__.py +0 -0
  304. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/test_gridengine.py +0 -0
  305. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/test_lsf_helper.py +0 -0
  306. {toil-8.2.0 → toil-9.0.0}/src/toil/test/batchSystems/test_slurm.py +0 -0
  307. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cactus/__init__.py +0 -0
  308. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cactus/pestis.tar.gz +0 -0
  309. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cactus/test_cactus_integration.py +0 -0
  310. {toil-8.2.0 → toil-9.0.0}/src/toil/test/conftest.py +0 -0
  311. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/2.fasta +0 -0
  312. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/2.fastq +0 -0
  313. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/__init__.py +0 -0
  314. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/alwaysfails.cwl +0 -0
  315. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/colon_test_output.cwl +0 -0
  316. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/colon_test_output_job.yaml +0 -0
  317. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/conditional_wf.cwl +0 -0
  318. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/conditional_wf.yaml +0 -0
  319. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/conftest.py +0 -0
  320. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/directory/directory/file.txt +0 -0
  321. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/directory_from_directory.cwl +0 -0
  322. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download.cwl +0 -0
  323. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_directory.cwl +0 -0
  324. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_directory_file.json +0 -0
  325. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_directory_s3.json +0 -0
  326. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_file.json +0 -0
  327. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_http.json +0 -0
  328. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_https.json +0 -0
  329. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_s3.json +0 -0
  330. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_subdirectory.cwl +0 -0
  331. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_subdirectory_file.json +0 -0
  332. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/download_subdirectory_s3.json +0 -0
  333. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/echo-stderr.cwl +0 -0
  334. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/echo-stdout-log-dir.cwl +0 -0
  335. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/echo.cwl +0 -0
  336. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/echo_string.cwl +0 -0
  337. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/echo_string_scatter_capture_stdout.cwl +0 -0
  338. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/empty.json +0 -0
  339. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/file_from_directory.cwl +0 -0
  340. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/glob_dir.cwl +0 -0
  341. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/load_contents.cwl +0 -0
  342. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/measure_default_memory.cwl +0 -0
  343. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/mock_mpi/fake_mpi.yml +0 -0
  344. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/mock_mpi/fake_mpi_run.py +0 -0
  345. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/mpi_simple.cwl +0 -0
  346. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/not_run_required_input.cwl +0 -0
  347. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/nvidia_smi.cwl +0 -0
  348. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/optional-file-exists.json +0 -0
  349. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/optional-file-missing.json +0 -0
  350. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/optional-file.cwl +0 -0
  351. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/preemptible.cwl +0 -0
  352. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/preemptible_expression.cwl +0 -0
  353. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/preemptible_expression.json +0 -0
  354. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revsort-job-missing.json +0 -0
  355. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revsort-job.json +0 -0
  356. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revsort.cwl +0 -0
  357. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revsort2.cwl +0 -0
  358. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revtool.cwl +0 -0
  359. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/revtool2.cwl +0 -0
  360. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/s3_secondary_file.cwl +0 -0
  361. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/s3_secondary_file.json +0 -0
  362. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/scatter_duplicate_outputs.cwl +0 -0
  363. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/seqtk_seq.cwl +0 -0
  364. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/seqtk_seq_job.json +0 -0
  365. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/sorttool.cwl +0 -0
  366. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/stream.cwl +0 -0
  367. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/stream.json +0 -0
  368. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_detection.cwl +0 -0
  369. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_detection_at_root.cwl +0 -0
  370. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.cwl +0 -0
  371. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.dat +0 -0
  372. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f0 +0 -0
  373. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f1 +0 -0
  374. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f1i +0 -0
  375. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f2 +0 -0
  376. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f2_TSM0 +0 -0
  377. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f3 +0 -0
  378. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f3_TSM0 +0 -0
  379. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f4 +0 -0
  380. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f4_TSM0 +0 -0
  381. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f5 +0 -0
  382. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.info +0 -0
  383. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.lock +0 -0
  384. {toil-8.2.0 → toil-9.0.0}/src/toil/test/cwl/whale.txt +0 -0
  385. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/__init__.py +0 -0
  386. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/example_alwaysfail.py +0 -0
  387. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/example_alwaysfail_with_files.wdl +0 -0
  388. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/example_cachingbenchmark.py +0 -0
  389. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/stagingExampleFiles/in.txt +0 -0
  390. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/stagingExampleFiles/out.txt +0 -0
  391. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_arguments.py +0 -0
  392. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_debugging.patch +0 -0
  393. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_debugging_hangs.wdl +0 -0
  394. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_debugging_works.wdl +0 -0
  395. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_docker.py +0 -0
  396. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_dynamic.py +0 -0
  397. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_encapsulation.py +0 -0
  398. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_encapsulation2.py +0 -0
  399. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_helloworld.py +0 -0
  400. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_invokeworkflow.py +0 -0
  401. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_invokeworkflow2.py +0 -0
  402. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_jobfunctions.py +0 -0
  403. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_managing.py +0 -0
  404. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_managing2.py +0 -0
  405. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_multiplejobs.py +0 -0
  406. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_multiplejobs2.py +0 -0
  407. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_multiplejobs3.py +0 -0
  408. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_promises.py +0 -0
  409. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_promises2.py +0 -0
  410. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_quickstart.py +0 -0
  411. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_requirements.py +0 -0
  412. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_services.py +0 -0
  413. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_staging.py +0 -0
  414. {toil-8.2.0 → toil-9.0.0}/src/toil/test/docs/scripts/tutorial_stats.py +0 -0
  415. {toil-8.2.0 → toil-9.0.0}/src/toil/test/jobStores/__init__.py +0 -0
  416. {toil-8.2.0 → toil-9.0.0}/src/toil/test/jobStores/jobStoreTest.py +0 -0
  417. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/__init__.py +0 -0
  418. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/aws/__init__.py +0 -0
  419. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/aws/test_iam.py +0 -0
  420. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/aws/test_s3.py +0 -0
  421. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/aws/test_utils.py +0 -0
  422. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/dockerTest.py +0 -0
  423. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/test_conversions.py +0 -0
  424. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/test_ec2.py +0 -0
  425. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/test_history.py +0 -0
  426. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/test_misc.py +0 -0
  427. {toil-8.2.0 → toil-9.0.0}/src/toil/test/lib/test_trs.py +0 -0
  428. {toil-8.2.0 → toil-9.0.0}/src/toil/test/mesos/MesosDataStructuresTest.py +0 -0
  429. {toil-8.2.0 → toil-9.0.0}/src/toil/test/mesos/__init__.py +0 -0
  430. {toil-8.2.0 → toil-9.0.0}/src/toil/test/mesos/helloWorld.py +0 -0
  431. {toil-8.2.0 → toil-9.0.0}/src/toil/test/mesos/stress.py +0 -0
  432. {toil-8.2.0 → toil-9.0.0}/src/toil/test/options/__init__.py +0 -0
  433. {toil-8.2.0 → toil-9.0.0}/src/toil/test/options/options.py +0 -0
  434. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/__init__.py +0 -0
  435. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/aws/__init__.py +0 -0
  436. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/clusterScalerTest.py +0 -0
  437. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/provisionerTest.py +0 -0
  438. {toil-8.2.0 → toil-9.0.0}/src/toil/test/provisioners/restartScript.py +0 -0
  439. {toil-8.2.0 → toil-9.0.0}/src/toil/test/server/__init__.py +0 -0
  440. {toil-8.2.0 → toil-9.0.0}/src/toil/test/sort/__init__.py +0 -0
  441. {toil-8.2.0 → toil-9.0.0}/src/toil/test/sort/restart_sort.py +0 -0
  442. {toil-8.2.0 → toil-9.0.0}/src/toil/test/sort/sort.py +0 -0
  443. {toil-8.2.0 → toil-9.0.0}/src/toil/test/sort/sortTest.py +0 -0
  444. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/__init__.py +0 -0
  445. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/autoDeploymentTest.py +0 -0
  446. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/busTest.py +0 -0
  447. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/checkpointTest.py +0 -0
  448. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/deferredFunctionTest.py +0 -0
  449. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/dockerCheckTest.py +0 -0
  450. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/environmentTest.py +0 -0
  451. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/fileStoreTest.py +0 -0
  452. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/helloWorldTest.py +0 -0
  453. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/importExportFileTest.py +0 -0
  454. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/jobDescriptionTest.py +0 -0
  455. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/jobEncapsulationTest.py +0 -0
  456. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/jobFileStoreTest.py +0 -0
  457. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/jobServiceTest.py +0 -0
  458. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/jobTest.py +0 -0
  459. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/miscTests.py +0 -0
  460. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/promisedRequirementTest.py +0 -0
  461. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/promisesTest.py +0 -0
  462. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/realtimeLoggerTest.py +0 -0
  463. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/regularLogTest.py +0 -0
  464. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/resourceTest.py +0 -0
  465. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/restartDAGTest.py +0 -0
  466. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/resumabilityTest.py +0 -0
  467. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/retainTempDirTest.py +0 -0
  468. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/systemTest.py +0 -0
  469. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/threadingTest.py +0 -0
  470. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/toilContextManagerTest.py +0 -0
  471. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/userDefinedJobArgTypeTest.py +0 -0
  472. {toil-8.2.0 → toil-9.0.0}/src/toil/test/src/workerTest.py +0 -0
  473. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/ABCWorkflowDebug/B_file.txt +0 -0
  474. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/ABCWorkflowDebug/debugWorkflow.py +0 -0
  475. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/ABCWorkflowDebug/mkFile.py +0 -0
  476. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/ABCWorkflowDebug/sleep.cwl +0 -0
  477. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/ABCWorkflowDebug/sleep.yaml +0 -0
  478. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/__init__.py +0 -0
  479. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/toilDebugTest.py +0 -0
  480. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/toilKillTest.py +0 -0
  481. {toil-8.2.0 → toil-9.0.0}/src/toil/test/utils/utilsTest.py +0 -0
  482. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/__init__.py +0 -0
  483. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/lint_error.wdl +0 -0
  484. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/md5sum/empty_file.json +0 -0
  485. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/md5sum/md5sum.1.0.wdl +0 -0
  486. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/md5sum/md5sum.input +0 -0
  487. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/md5sum/md5sum.json +0 -0
  488. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/md5sum/md5sum.wdl +0 -0
  489. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/miniwdl_self_test/inputs-namespaced.json +0 -0
  490. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/miniwdl_self_test/inputs.json +0 -0
  491. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/miniwdl_self_test/self_test.wdl +0 -0
  492. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/as_map.json +0 -0
  493. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/as_map_as_input.wdl +0 -0
  494. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/as_pairs.json +0 -0
  495. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/as_pairs_as_input.wdl +0 -0
  496. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/ceil.json +0 -0
  497. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/ceil_as_command.wdl +0 -0
  498. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/ceil_as_input.wdl +0 -0
  499. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/collect_by_key.json +0 -0
  500. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/collect_by_key_as_input.wdl +0 -0
  501. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/cross.json +0 -0
  502. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/cross_as_input.wdl +0 -0
  503. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/flatten.json +0 -0
  504. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/flatten_as_input.wdl +0 -0
  505. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/floor.json +0 -0
  506. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/floor_as_command.wdl +0 -0
  507. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/floor_as_input.wdl +0 -0
  508. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/keys.json +0 -0
  509. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/keys_as_input.wdl +0 -0
  510. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/length.json +0 -0
  511. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/length_as_input.wdl +0 -0
  512. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/length_as_input_with_map.json +0 -0
  513. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/length_as_input_with_map.wdl +0 -0
  514. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/length_invalid.json +0 -0
  515. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/range.json +0 -0
  516. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/range_0.json +0 -0
  517. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/range_as_input.wdl +0 -0
  518. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/range_invalid.json +0 -0
  519. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_boolean.json +0 -0
  520. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_boolean_as_command.wdl +0 -0
  521. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_float.json +0 -0
  522. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_float_as_command.wdl +0 -0
  523. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_int.json +0 -0
  524. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_int_as_command.wdl +0 -0
  525. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_json.json +0 -0
  526. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_json_as_output.wdl +0 -0
  527. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_lines.json +0 -0
  528. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_lines_as_output.wdl +0 -0
  529. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_map.json +0 -0
  530. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_map_as_output.wdl +0 -0
  531. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_string.json +0 -0
  532. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_string_as_command.wdl +0 -0
  533. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_tsv.json +0 -0
  534. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/read_tsv_as_output.wdl +0 -0
  535. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/round.json +0 -0
  536. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/round_as_command.wdl +0 -0
  537. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/round_as_input.wdl +0 -0
  538. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/size.json +0 -0
  539. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/size_as_command.wdl +0 -0
  540. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/size_as_output.wdl +0 -0
  541. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/stderr.json +0 -0
  542. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/stderr_as_output.wdl +0 -0
  543. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/stdout.json +0 -0
  544. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/stdout_as_output.wdl +0 -0
  545. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/sub.json +0 -0
  546. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/sub_as_input.wdl +0 -0
  547. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/sub_as_input_with_file.wdl +0 -0
  548. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/transpose.json +0 -0
  549. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/transpose_as_input.wdl +0 -0
  550. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_json.json +0 -0
  551. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_json_as_command.wdl +0 -0
  552. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_lines.json +0 -0
  553. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_lines_as_command.wdl +0 -0
  554. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_map.json +0 -0
  555. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_map_as_command.wdl +0 -0
  556. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_tsv.json +0 -0
  557. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/write_tsv_as_command.wdl +0 -0
  558. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/zip.json +0 -0
  559. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/standard_library/zip_as_input.wdl +0 -0
  560. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/test.csv +0 -0
  561. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/test.tsv +0 -0
  562. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/croo.wdl +0 -0
  563. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/drop_files.wdl +0 -0
  564. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/drop_files_subworkflow.wdl +0 -0
  565. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/empty.txt +0 -0
  566. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/not_enough_outputs.wdl +0 -0
  567. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/random.wdl +0 -0
  568. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/string_file_coercion.json +0 -0
  569. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/string_file_coercion.wdl +0 -0
  570. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test.json +0 -0
  571. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_boolean.txt +0 -0
  572. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_float.txt +0 -0
  573. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_int.txt +0 -0
  574. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_lines.txt +0 -0
  575. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_map.txt +0 -0
  576. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/test_string.txt +0 -0
  577. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/url_to_file.wdl +0 -0
  578. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/vocab.json +0 -0
  579. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/vocab.wdl +0 -0
  580. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/testfiles/wait.wdl +0 -0
  581. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdl_specification/type_pair.json +0 -0
  582. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdl_specification/type_pair_basic.wdl +0 -0
  583. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdl_specification/type_pair_with_files.wdl +0 -0
  584. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdl_specification/v1_spec.json +0 -0
  585. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdl_specification/v1_spec_declaration.wdl +0 -0
  586. {toil-8.2.0 → toil-9.0.0}/src/toil/test/wdl/wdltoil_test_kubernetes.py +0 -0
  587. {toil-8.2.0 → toil-9.0.0}/src/toil/toilState.py +0 -0
  588. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/__init__.py +0 -0
  589. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilClean.py +0 -0
  590. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilConfig.py +0 -0
  591. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilDebugFile.py +0 -0
  592. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilDebugJob.py +0 -0
  593. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilDestroyCluster.py +0 -0
  594. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilKill.py +0 -0
  595. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilLaunchCluster.py +0 -0
  596. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilMain.py +0 -0
  597. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilRsyncCluster.py +0 -0
  598. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilServer.py +0 -0
  599. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilStats.py +0 -0
  600. {toil-8.2.0 → toil-9.0.0}/src/toil/utils/toilStatus.py +0 -0
  601. {toil-8.2.0 → toil-9.0.0}/src/toil/wdl/__init__.py +0 -0
  602. {toil-8.2.0 → toil-9.0.0}/src/toil/wdl/utils.py +0 -0
  603. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/dependency_links.txt +0 -0
  604. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/entry_points.txt +0 -0
  605. {toil-8.2.0 → toil-9.0.0}/src/toil.egg-info/top_level.txt +0 -0
@@ -208,8 +208,8 @@ py39_main:
208
208
  python3.9 -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all,htcondor]
209
209
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
210
210
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests"
211
- make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
212
- TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
211
+ make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils src/toil/test/server"
212
+ TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests="src/toil/test/lib"
213
213
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
214
214
 
215
215
  py310_appliance_build:
@@ -253,8 +253,8 @@ py310_main:
253
253
  python3.10 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 && pip install -U pip wheel && make prepare && pip install pycparser && make develop extras=[all,htcondor]
254
254
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
255
255
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests"
256
- make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
257
- TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
256
+ make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils src/toil/test/server"
257
+ TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests="src/toil/test/lib"
258
258
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
259
259
 
260
260
  py311_appliance_build:
@@ -298,8 +298,8 @@ py311_main:
298
298
  python3.11 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 && pip install -U pip wheel && make prepare && make develop extras=[all,htcondor]
299
299
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
300
300
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests"
301
- make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
302
- TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
301
+ make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils src/toil/test/server"
302
+ TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests="src/toil/test/lib"
303
303
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
304
304
 
305
305
  py312_appliance_build:
@@ -343,8 +343,8 @@ py312_main:
343
343
  python3.12 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12 && pip install -U pip wheel && make prepare && make develop extras=[all,htcondor]
344
344
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
345
345
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests"
346
- make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
347
- TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
346
+ make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils src/toil/test/server"
347
+ TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests="src/toil/test/lib"
348
348
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
349
349
 
350
350
  py313_appliance_build:
@@ -379,8 +379,8 @@ py313_main:
379
379
  python3.13 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.13 && pip install -U pip wheel && make prepare && make develop extras=[all]
380
380
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
381
381
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests"
382
- make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
383
- TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
382
+ make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils src/toil/test/server"
383
+ TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests="src/toil/test/lib"
384
384
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
385
385
 
386
386
 
@@ -420,7 +420,7 @@ cwl_v1.2:
420
420
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
421
421
  # Run CWL integration tests excluded from cwl_misc
422
422
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the tests excluded from cwl_misc"
423
- time make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k '(TestCWLWorkflow or cwl_small) and integrative'"
423
+ time make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k 'integrative and not conformance'"
424
424
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
425
425
  artifacts:
426
426
  reports:
@@ -545,7 +545,7 @@ cwl_misc:
545
545
  python setup_gitlab_docker.py # login to increase the docker.io rate limit
546
546
  echo -e "\e[0Ksection_end:`date +%s`:prepare\r\e[0K"
547
547
  echo -e "\e[0Ksection_start:`date +%s`:test\r\e[0KRun the miscellaneous CWL tests"
548
- make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k '(TestCWLWorkflow or cwl_small) and not integrative'"
548
+ make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k 'not integrative and not conformance'"
549
549
  echo -e "\e[0Ksection_end:`date +%s`:test\r\e[0K"
550
550
 
551
551
  #cwl_v1.2_kubernetes:
@@ -642,6 +642,12 @@ server_integration:
642
642
  - if: $CI_PIPELINE_SOURCE == "schedule"
643
643
  - if: $CI_COMMIT_TAG
644
644
  - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
645
+ - if: $CI_COMMIT_BRANCH
646
+ changes:
647
+ compare_to: 'refs/heads/master'
648
+ paths:
649
+ - 'src/toil/server/*'
650
+ - 'src/toil/test/server/*'
645
651
  stage: integration
646
652
  cache:
647
653
  key: cache-$MAIN_PYTHON_PKG
@@ -657,7 +663,7 @@ server_integration:
657
663
  - python setup_gitlab_ssh.py
658
664
  - chmod 400 /root/.ssh/id_rsa
659
665
  # Test server and its integration with AWS
660
- - make test threads="${TEST_THREADS}" tests="src/toil/test/server"
666
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/server -k 'integrative'"
661
667
 
662
668
  provisioner_integration:
663
669
  rules:
@@ -732,7 +738,7 @@ mesos:
732
738
  - export GOOGLE_APPLICATION_CREDENTIALS=$GOOGLE_CREDENTIALS
733
739
  - export TOIL_GOOGLE_KEYNAME=id_rsa
734
740
  - export TOIL_GOOGLE_PROJECTID=toil-dev
735
- - make test threads="${TEST_THREADS}" tests="src/toil/test/mesos/MesosDataStructuresTest.py::DataStructuresTest src/toil/test/batchSystems/batchSystemTest.py::MesosBatchSystemTest src/toil/test/sort/sortTest.py::SortTest::testAwsMesos src/toil/test/sort/sortTest.py::SortTest::testFileMesos src/toil/test/sort/sortTest.py::SortTest::testGoogleMesos src/toil/test/cwl/cwlTest.py::TestCWLv10::test_mesos_cwl_conformance src/toil/test/cwl/cwlTest.py::TestCWLv10::test_mesos_cwl_conformance_with_caching src/toil/test/src/promisedRequirementTest.py::TestMesosPromisedRequirements src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSStaticAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTestMultipleNodeTypes src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSRestartTest::testAutoScaledCluster"
741
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/mesos/MesosDataStructuresTest.py::DataStructuresTest src/toil/test/batchSystems/batchSystemTest.py::MesosBatchSystemTest src/toil/test/sort/sortTest.py::SortTest::testAwsMesos src/toil/test/sort/sortTest.py::SortTest::testFileMesos src/toil/test/sort/sortTest.py::SortTest::testGoogleMesos src/toil/test/cwl/cwlTest.py::TestCWLv10Conformance::test_mesos_cwl_conformance src/toil/test/cwl/cwlTest.py::TestCWLv10Conformance::test_mesos_cwl_conformance_with_caching src/toil/test/src/promisedRequirementTest.py::TestMesosPromisedRequirements src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSStaticAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTestMultipleNodeTypes src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSRestartTest::testAutoScaledCluster"
736
742
 
737
743
  batchsystem:
738
744
  rules:
@@ -780,15 +786,4 @@ cactus_integration:
780
786
  - chmod 400 /root/.ssh/id_rsa
781
787
  - make test threads="${TEST_THREADS}" tests=src/toil/test/cactus/test_cactus_integration.py
782
788
 
783
- # Plugin tests
784
- plugin:
785
- rules:
786
- - if: $CI_PIPELINE_SOURCE != "schedule"
787
- stage: integration
788
- cache:
789
- key: cache-$MAIN_PYTHON_PKG
790
- paths:
791
- - .cache/pip
792
- script:
793
- - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
794
- - make test threads="${TEST_THREADS}" tests=src/toil/test/batchSystems/batch_system_plugin_test.py
789
+
@@ -65,7 +65,7 @@ the appliance images to, for example:
65
65
  You might also want to build just for one architecture and load into your
66
66
  Docker daemon. We have a 'load_docker' target for this.
67
67
 
68
- make load_docker arch=amd64
68
+ make load_docker arch=linux/amd64
69
69
 
70
70
  If Docker is not installed, Docker-related targets tasks and tests will be skipped. The
71
71
  same can be achieved by setting TOIL_DOCKER_REGISTRY to an empty string.
@@ -129,7 +129,7 @@ develop: check_venv
129
129
 
130
130
  clean_develop: check_venv
131
131
  - rm -rf src/*.egg-info
132
- - rm src/toil/version.py
132
+ - rm -f src/toil/version.py
133
133
 
134
134
  uninstall:
135
135
  - pip uninstall -y toil
@@ -149,7 +149,7 @@ dist/$(sdist_name):
149
149
 
150
150
  clean_sdist:
151
151
  - rm -rf dist
152
- - rm src/toil/version.py
152
+ - rm -f src/toil/version.py
153
153
 
154
154
  download_cwl_spec:
155
155
  git clone https://github.com/common-workflow-language/cwl-v1.2.git src/toil/test/cwl/spec_v12 || true && cd src/toil/test/cwl/spec_v12 && git checkout 0d538a0dbc5518f3c6083ce4571926f65cb84f76
@@ -184,11 +184,12 @@ test_offline: check_venv check_build_reqs
184
184
  TOIL_HISTORY=0 \
185
185
  python -m pytest $(verbose) $(durations) $(threadopts) -m "$(marker)" $(logging) $(cov) $(tests) $(pytest_args)
186
186
 
187
- # This target will run about 1 minute of tests, and stop at the first failure
187
+ # This target will run about 1 minute of tests, and stop at the first failure.
188
+ # There can be more than one failure because of parallel execution.
188
189
  test_1min: check_venv check_build_reqs
189
- TOIL_SKIP_DOCKER=True \
190
+ TOIL_SKIP_DOCKER=False \
190
191
  TOIL_HISTORY=0 \
191
- python -m pytest $(verbose) $(durations) $(threadopts) -m "$(marker)" $(logging) --timeout=10 --maxfail=1 $(pytest_args) src/toil/test/batchSystems/batchSystemTest.py::SingleMachineBatchSystemTest::test_run_jobs src/toil/test/batchSystems/batchSystemTest.py::KubernetesBatchSystemBenchTest src/toil/test/server/serverTest.py::ToilWESServerBenchTest::test_get_service_info src/toil/test/cwl/cwlTest.py::TestCWLWorkflow::test_run_colon_output src/toil/test/jobStores/jobStoreTest.py::FileJobStoreTest::testUpdateBehavior
192
+ python -m pytest $(verbose) $(durations) $(threadopts) -m "$(marker)" $(logging) --timeout=30 --maxfail=1 $(pytest_args) src/toil/test/batchSystems/batchSystemTest.py::SingleMachineBatchSystemTest::test_run_jobs src/toil/test/batchSystems/batchSystemTest.py::KubernetesBatchSystemBenchTest src/toil/test/server/serverTest.py::ToilWESServerBenchTest::test_get_service_info src/toil/test/cwl/cwlTest.py::TestCWLWorkflow::test_run_colon_output src/toil/test/jobStores/jobStoreTest.py::FileJobStoreTest::testUpdateBehavior
192
193
 
193
194
  ifdef TOIL_DOCKER_REGISTRY
194
195
 
@@ -206,7 +207,7 @@ endef
206
207
 
207
208
  docker: toil_docker prometheus_docker grafana_docker mtail_docker
208
209
 
209
- toil_docker: docker/Dockerfile
210
+ toil_docker: docker/Dockerfile src/toil/version.py
210
211
  mkdir -p .docker_cache
211
212
  @set -ex \
212
213
  ; cd docker \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: toil
3
- Version: 8.2.0
3
+ Version: 9.0.0
4
4
  Summary: Pipeline management software for clusters.
5
5
  Home-page: https://github.com/DataBiosphere/toil
6
6
  Author: Benedict Paten and the Toil community
@@ -53,11 +53,11 @@ Requires-Dist: boto3-stubs[autoscaling,boto3,ec2,iam,s3,sdb,sts]<2,>=1.28.3.post
53
53
  Requires-Dist: mypy-boto3-iam<2,>=1.28.3.post2; extra == "aws"
54
54
  Requires-Dist: mypy-boto3-s3<2,>=1.28.3.post2; extra == "aws"
55
55
  Requires-Dist: moto<6,>=5.0.3; extra == "aws"
56
- Requires-Dist: ec2_metadata<3; extra == "aws"
56
+ Requires-Dist: ec2_metadata<3,>=2.14.0; extra == "aws"
57
57
  Provides-Extra: cwl
58
58
  Requires-Dist: cwltool==3.1.20250110105449; extra == "cwl"
59
59
  Requires-Dist: schema-salad<9,>=8.4.20230128170514; extra == "cwl"
60
- Requires-Dist: galaxy-tool-util<25; extra == "cwl"
60
+ Requires-Dist: galaxy-tool-util<26; extra == "cwl"
61
61
  Requires-Dist: galaxy-util<25; extra == "cwl"
62
62
  Requires-Dist: ruamel.yaml<=0.19,>=0.15; extra == "cwl"
63
63
  Requires-Dist: ruamel.yaml.clib>=0.2.6; extra == "cwl"
@@ -77,18 +77,18 @@ Requires-Dist: types-urllib3; extra == "kubernetes"
77
77
  Requires-Dist: types-PyYAML; extra == "kubernetes"
78
78
  Requires-Dist: idna>=2; extra == "kubernetes"
79
79
  Provides-Extra: wdl
80
- Requires-Dist: miniwdl==1.12.1; extra == "wdl"
80
+ Requires-Dist: miniwdl==1.13.0; extra == "wdl"
81
81
  Requires-Dist: wdlparse==0.1.0; extra == "wdl"
82
82
  Requires-Dist: graphlib-backport==1.0; python_version < "3.9" and extra == "wdl"
83
83
  Provides-Extra: server
84
- Requires-Dist: connexion[swagger-ui]<4,>=2.10.0; extra == "server"
85
- Requires-Dist: flask<2.3,>=2.0; extra == "server"
86
- Requires-Dist: werkzeug<4,>=2.0; extra == "server"
87
- Requires-Dist: flask-cors==5.0.1; extra == "server"
88
- Requires-Dist: gunicorn==23.0.0; extra == "server"
89
- Requires-Dist: celery<6,>=5.1.0; extra == "server"
90
- Requires-Dist: wes-service<5,>=4.0.0; extra == "server"
91
- Requires-Dist: ruamel.yaml<0.19,>=0.15; extra == "server"
84
+ Requires-Dist: connexion[swagger-ui]<4,>=3; extra == "server"
85
+ Requires-Dist: flask<4,>=3; extra == "server"
86
+ Requires-Dist: werkzeug<4,>=3; extra == "server"
87
+ Requires-Dist: flask-cors<6,>=5.0.1; extra == "server"
88
+ Requires-Dist: gunicorn<24,>=23.0.0; extra == "server"
89
+ Requires-Dist: celery<6,>=5.4.0; extra == "server"
90
+ Requires-Dist: wes-service<6,>=5.0.0; extra == "server"
91
+ Requires-Dist: ruamel.yaml<1,>=0.18.7; extra == "server"
92
92
  Provides-Extra: htcondor
93
93
  Requires-Dist: htcondor<25,>=23.6.0; sys_platform != "darwin" and extra == "htcondor"
94
94
  Provides-Extra: mesos
@@ -98,10 +98,10 @@ Requires-Dist: boto3-stubs[autoscaling,boto3,ec2,iam,s3,sdb,sts]<2,>=1.28.3.post
98
98
  Requires-Dist: mypy-boto3-iam<2,>=1.28.3.post2; extra == "all"
99
99
  Requires-Dist: mypy-boto3-s3<2,>=1.28.3.post2; extra == "all"
100
100
  Requires-Dist: moto<6,>=5.0.3; extra == "all"
101
- Requires-Dist: ec2_metadata<3; extra == "all"
101
+ Requires-Dist: ec2_metadata<3,>=2.14.0; extra == "all"
102
102
  Requires-Dist: cwltool==3.1.20250110105449; extra == "all"
103
103
  Requires-Dist: schema-salad<9,>=8.4.20230128170514; extra == "all"
104
- Requires-Dist: galaxy-tool-util<25; extra == "all"
104
+ Requires-Dist: galaxy-tool-util<26; extra == "all"
105
105
  Requires-Dist: galaxy-util<25; extra == "all"
106
106
  Requires-Dist: ruamel.yaml<=0.19,>=0.15; extra == "all"
107
107
  Requires-Dist: ruamel.yaml.clib>=0.2.6; extra == "all"
@@ -117,17 +117,17 @@ Requires-Dist: kubernetes-stubs==v22.6.0post1; extra == "all"
117
117
  Requires-Dist: types-urllib3; extra == "all"
118
118
  Requires-Dist: types-PyYAML; extra == "all"
119
119
  Requires-Dist: idna>=2; extra == "all"
120
- Requires-Dist: miniwdl==1.12.1; extra == "all"
120
+ Requires-Dist: miniwdl==1.13.0; extra == "all"
121
121
  Requires-Dist: wdlparse==0.1.0; extra == "all"
122
122
  Requires-Dist: graphlib-backport==1.0; python_version < "3.9" and extra == "all"
123
- Requires-Dist: connexion[swagger-ui]<4,>=2.10.0; extra == "all"
124
- Requires-Dist: flask<2.3,>=2.0; extra == "all"
125
- Requires-Dist: werkzeug<4,>=2.0; extra == "all"
126
- Requires-Dist: flask-cors==5.0.1; extra == "all"
127
- Requires-Dist: gunicorn==23.0.0; extra == "all"
128
- Requires-Dist: celery<6,>=5.1.0; extra == "all"
129
- Requires-Dist: wes-service<5,>=4.0.0; extra == "all"
130
- Requires-Dist: ruamel.yaml<0.19,>=0.15; extra == "all"
123
+ Requires-Dist: connexion[swagger-ui]<4,>=3; extra == "all"
124
+ Requires-Dist: flask<4,>=3; extra == "all"
125
+ Requires-Dist: werkzeug<4,>=3; extra == "all"
126
+ Requires-Dist: flask-cors<6,>=5.0.1; extra == "all"
127
+ Requires-Dist: gunicorn<24,>=23.0.0; extra == "all"
128
+ Requires-Dist: celery<6,>=5.4.0; extra == "all"
129
+ Requires-Dist: wes-service<6,>=5.0.0; extra == "all"
130
+ Requires-Dist: ruamel.yaml<1,>=0.18.7; extra == "all"
131
131
  Requires-Dist: pymesos<0.4,>=0.3.15; python_version < "3.11" and extra == "all"
132
132
  Dynamic: author
133
133
  Dynamic: author-email
@@ -72,6 +72,21 @@ dependencies = ' '.join(python_packages[python] +
72
72
  # Dependencies for singularity on kubernetes
73
73
  'tzdata'])
74
74
 
75
+ # pymesos's http-parser dependency can't build on Python later than 3.10, as
76
+ # released in 0.9.0. The upstream pymesos can, but we write it out of Toil's
77
+ # dependencies on later Python versions, since a working http-parser is not
78
+ # available in PyPI. So we need to manually inject a working http-parser, and
79
+ # pymesos, into the Docker images.
80
+ extra_mesos_python_modules = {
81
+ 'python3.9': [],
82
+ 'python3.10': [],
83
+ 'python3.11': ['http-parser@git+https://github.com/adamnovak/http-parser.git@5a63516597bb4c93a7ba178b1e4bab939da5afb3', 'pymesos==0.3.15'],
84
+ 'python3.12': ['http-parser@git+https://github.com/adamnovak/http-parser.git@5a63516597bb4c93a7ba178b1e4bab939da5afb3', 'pymesos==0.3.15'],
85
+ 'python3.13': ['http-parser@git+https://github.com/adamnovak/http-parser.git@5a63516597bb4c93a7ba178b1e4bab939da5afb3', 'pymesos==0.3.15']
86
+ }
87
+
88
+ extra_python_modules = " ".join(extra_mesos_python_modules[python])
89
+
75
90
 
76
91
  def heredoc(s):
77
92
  s = textwrap.dedent(s).format(**globals())
@@ -182,18 +197,22 @@ print(heredoc('''
182
197
  # The stock pip is too old and can't install from sdist with extras
183
198
  RUN curl -sS https://bootstrap.pypa.io/get-pip.py | {python}
184
199
 
185
- # Include virtualenv, as it is still the recommended way to deploy pipelines
186
- RUN {pip} install --upgrade virtualenv==20.25.1
200
+ # Include virtualenv, as it is still the recommended way to deploy
201
+ # pipelines.
202
+ #
203
+ # We need to --ignore-installed here to allow shadowing system packages
204
+ # from apt in /usr/lib/python3/dist-packages when the installed package
205
+ # needs newer versions. We just hope that doesn't break the Ubuntu system
206
+ # too badly when we're actually on the system Python, or if Toil needs to
207
+ # upgrade a distutils or setuptools dependency. On the deadsnakes Pythons,
208
+ # installations into the version-specific package directory won't be seen
209
+ # by the system Python which is a different version.
210
+ #
211
+ # TODO: Change to nested virtual environments and .pth files and teach Toil
212
+ # to just ship the user-level one for hot deploy.
213
+ RUN {pip} install --ignore-installed --upgrade 'virtualenv>=20.25.1,<21'
187
214
 
188
- # Install s3am (--never-download prevents silent upgrades to pip, wheel and setuptools)
189
- # Install setuptools within the virtual environment to properly access distutils due to PEP 632 and gh-95299 in Python 3.12 release notes
190
- # https://docs.python.org/3/whatsnew/3.12.html#summary-release-highlights
191
- RUN virtualenv --python {python} --never-download /home/s3am \
192
- && /home/s3am/bin/pip install setuptools \
193
- && /home/s3am/bin/pip install s3am==2.0 \
194
- && ln -s /home/s3am/bin/s3am /usr/local/bin/
195
-
196
- RUN {pip} install --upgrade setuptools==69.2.0
215
+ RUN {pip} install --ignore-installed --upgrade 'setuptools>=80,<81'
197
216
 
198
217
  # Fix for https://issues.apache.org/jira/browse/MESOS-3793
199
218
  ENV MESOS_LAUNCHER=posix
@@ -222,7 +241,7 @@ print(heredoc('''
222
241
 
223
242
  # This component changes most frequently and keeping it last maximizes Docker cache hits.
224
243
  COPY {sdistName} .
225
- RUN {pip} install {sdistName}[all]
244
+ RUN {pip} install --ignore-installed --upgrade {sdistName}[all] {extra_python_modules}
226
245
  RUN rm {sdistName}
227
246
 
228
247
  # We intentionally inherit the default ENTRYPOINT and CMD from the base image, to the effect
@@ -64,6 +64,8 @@ CWL 1.2 Optional Features
64
64
 
65
65
  .. |docker| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/docker.json%3Fjob=cwl_badge
66
66
 
67
+ .. |env_var| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/env_var.json%3Fjob=cwl_badge
68
+
67
69
  .. |expression_tool| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/expression_tool.json%3Fjob=cwl_badge
68
70
 
69
71
  .. |format_checking| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/format_checking.json%3Fjob=cwl_badge
@@ -82,16 +84,26 @@ CWL 1.2 Optional Features
82
84
 
83
85
  .. |multiple_input| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/multiple_input.json%3Fjob=cwl_badge
84
86
 
87
+ .. |multiple| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/multiple.json%3Fjob=cwl_badge
88
+
85
89
  .. |networkaccess| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/networkaccess.json%3Fjob=cwl_badge
86
90
 
91
+ .. |require| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/require.json%3Fjob=cwl_badge
92
+
87
93
  .. |resource| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/resource.json%3Fjob=cwl_badge
88
94
 
89
95
  .. |scatter| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/scatter.json%3Fjob=cwl_badge
90
96
 
91
97
  .. |schema_def| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/schema_def.json%3Fjob=cwl_badge
92
98
 
99
+ .. |secondary_files| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/secondary_files.json%3Fjob=cwl_badge
100
+
101
+ .. |shell_command| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/shell_command.json%3Fjob=cwl_badge
102
+
93
103
  .. |step_input| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/step_input.json%3Fjob=cwl_badge
94
104
 
105
+ .. |subworkflow| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/subworkflow.json%3Fjob=cwl_badge
106
+
95
107
  .. |timelimit| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/timelimit.json%3Fjob=cwl_badge
96
108
 
97
109
  .. |workflow| image:: https://flat.badgen.net/https/ucsc-ci.com/api/v4/projects/3/jobs/artifacts/master/raw/badges1.2/workflow.json%3Fjob=cwl_badge
@@ -100,8 +100,8 @@ Besides the normal Toil options and the options supported by cwltool, toil-cwl-r
100
100
  --reference-inputs Do not copy remote inputs into Toil's file store and assume they are accessible in place from all nodes.
101
101
  --disable-streaming Do not allow streaming of job input files. By default, files marked with ``streamable`` True are streamed from remote job stores.
102
102
  --cwl-default-ram Apply CWL specification default ramMin.
103
- --no-cwl-default-ram Do not apply CWL specification default ramMin, so that Toil --defaultMemory applies.
104
-
103
+ --no-cwl-default-ram Do not apply CWL specification default ramMin, so that Toil --defaultMemory applies. This can help jobs get to Slurm with no memory limit assigned.
104
+ --cwl-min-ram BYTES Specify a minimum memory allocation for all tasks. If ``--no-cwl-default-ram`` is passed, this does not apply to tools that do not specify a memory requirement; ``--defaultMemory`` is used for those tools in that case.
105
105
 
106
106
  Running CWL in the Cloud
107
107
  ------------------------
@@ -150,10 +150,73 @@ For something beyond a "Hello, world!" example, refer to :ref:`runningDetail`.
150
150
 
151
151
  Toil's customization options are available in Python workflows. Run ``python3 helloWorld.py --help`` to see a complete list of available options.
152
152
 
153
+
154
+ .. _mitochondriaExample:
155
+
156
+ Example: mitochondrial variant calling
157
+ --------------------------------------
158
+
159
+ Let's run a more realistic workflow with Toil. This workflow is mitochondrial variant calling: It will take the human reference genome and sequenced reads from an individual and determine how that person's mitochondrial DNA differs from the reference genome.
160
+
161
+ We will run an example `workflow from Dockstore <https://dockstore.org/workflows/github.com/broadinstitute/gatk/MitochondriaPipeline:master?tab=info>`_.
162
+ First, grab an example workflow input::
163
+
164
+ (venv) $ wget https://toil-datasets.s3.us-west-2.amazonaws.com/MitochondriaInputs.zip && unzip MitochondriaInputs.zip
165
+
166
+ Then, change your current working directory::
167
+
168
+ (venv) $ cd MitochondriaInputs
169
+
170
+ This workflow will take approximately 30 minutes to run.
171
+
172
+ Since Toil supports Dockstore TRS IDs that allows the WDL runner to run any workflow on Dockstore, we will run it directly::
173
+
174
+ (venv) $ toil-wdl-runner '#workflow/github.com/broadinstitute/gatk/MitochondriaPipeline:master' -i ExampleInputsMitochondriaPipeline.json --logInfo --container docker --quantCheck false --outputFile mitochondria.json
175
+
176
+
177
+ .. note::
178
+ * ``--logInfo`` runs the workflow with INFO level logging. For different levels of logging, see ``--logLevel``, ``--logCritical``, ``--logError``, ``--logWarning``, ``--logDebug``, and ``--logTrace``.
179
+ * ``--container docker`` uses Docker as the container backend. By default, Toil will run with Singularity. To set explicitly, use ``--container singularity``.
180
+ * ``--outputFile`` will put the workflow JSON outputs into a file. If omitted, Toil will put the workflow outputs onto the commandline.
181
+ * ``--quantCheck false`` disables certain type checks. This is useful for Cromwell compatibility.
182
+
183
+ Unless fakeroot support is set up for Singularity, this particular workflow must be run with Docker because it assumes commands in the container will run as root.
184
+ Additionally, WDL workflows sometimes depend on non-spec compliant behaviors. To see if Toil has an workaround option, see :ref:`wdlOptions`.
185
+
186
+ Once the workflow is done running, you can look at your JSON output with ``jq . mitochondria.json``. For example, if we want the ``out_vcf`` output from the workflow, we can run ``jq -r '.["MitochondriaPipeline.out_vcf"]' mitochondria.json`` to get its path::
187
+
188
+ /private/groups/patenlab/toil-dev/mitochondria/wdl-out-c6o9mjop/MitochondriaPipeline.AlignAndCall.FilterContamination/HG02571.GRCh38.chrM.vcf
189
+
190
+ To open the VCF file, we can run ``less $(jq -r '.["MitochondriaPipeline.out_vcf"]' mitochondria.json)``
191
+
192
+ .. note::
193
+ For outputs that aren't files, their values are directly in the JSON. For example, with ``jq '.["MitochondriaPipeline.median_coverage"]' mitochondria.json`` you can fetch the ``median_coverage`` output's value::
194
+
195
+ 4183.5
196
+
197
+
198
+ Toil uses a jobstore to store all of a workflow's files and to communicate between workers. If not specified, Toil will use an ephemeral directory that is deleted after Toil is done running.
199
+ To control where those files are placed or allow a workflow to be restarted, you can use the ``--jobStore`` option. If you specify a jobstore explicitly, the jobstore will stick around if the workflow fails. To keep the jobstore after a successful completion, use ``--clean never``. To remove the jobstore even after a failing run, use ``--clean always``.
200
+
201
+ On a cluster, the jobstore must be somewhere accessible to all worker nodes. Here's an example of running the workflow with a specified jobstore::
202
+
203
+ (venv) $ toil-wdl-runner MitochondriaPipeline.wdl -i ExampleInputsMitochondriaPipeline.json --logInfo --container docker --outputFile mitochondria.json --jobstore mitochondriaJobstore
204
+
205
+ Toil supports several batch systems. By default, Toil will use ``single_machine``, which will run everything on the local machine. Other batch systems are available. For example, you can use `--batchSystem slurm` to run on a Slurm cluster::
206
+
207
+ (venv) $ toil-wdl-runner MitochondriaPipeline.wdl -i ExampleInputsMitochondriaPipeline.json --logInfo --container docker --outputFile mitochondria.json --jobStore mitochondriaJobstore --batchSystem slurm
208
+
209
+ See :ref:`runningSlurm` for more information, including how to specify time limits and partitions.
210
+
211
+ Sometimes, a workflow may fail. If this is the case, the workflow can be restarted from the point of failure with ``--restart``, as long as you still have the jobstore::
212
+
213
+ (venv) $ toil-wdl-runner MitochondriaPipeline.wdl -i ExampleInputsMitochondriaPipeline.json --logInfo --container docker --outputFile mitochondria.json --jobStore mitochondriaJobstore --batchSystem slurm
214
+
215
+
153
216
  .. _runningDetail:
154
217
 
155
- A (more) real-world example
156
- ---------------------------
218
+ Example: sorting
219
+ ----------------
157
220
 
158
221
  For a more detailed example and explanation, we've developed a sample pipeline
159
222
  that merge-sorts a temporary file. This is not supposed to be an efficient
@@ -527,7 +527,8 @@ systems have issues!).
527
527
 
528
528
  **Miscellaneous Options**
529
529
 
530
- --disableChaining Disables chaining of jobs (chaining uses one job's
530
+ --disableChaining BOOL
531
+ Disables chaining of jobs (chaining uses one job's
531
532
  resource allocation for its successor job if
532
533
  possible).
533
534
  --disableJobStoreChecksumVerification
@@ -48,6 +48,8 @@ workflow, you can do::
48
48
  .. _`5.12.0`: https://github.com/DataBiosphere/toil/releases/tag/releases%2F5.12.0
49
49
  .. _`Cromwell`: https://github.com/broadinstitute/cromwell#readme
50
50
 
51
+ .. _wdlOptions:
52
+
51
53
  Toil WDL Runner Options
52
54
  -----------------------
53
55
 
@@ -84,6 +86,23 @@ the `Cromwell Output Organizer (croo)`_, will default to ``True``.
84
86
 
85
87
  .. _`Cromwell Output Organizer (croo)`: https://github.com/ENCODE-DCC/croo
86
88
 
89
+ ``--strict``: Specifies whether Toil should immediately exit on a lint warning. By default, this is false.
90
+
91
+ ``--quantCheck``: Specifies whether quantifier validation type checking should be enabled.
92
+ Disabling this is useful for workflows which Cromwell can run but don't fully comply with the WDL spec.
93
+ By default, this is true.
94
+
95
+ ``--runImportsOnWorkers``: Run file imports on workers. This is useful if the leader is not network optimized
96
+ and lots of downloads are necessary. By default, this is false.
97
+
98
+ ``--importWorkersBatchSize``: Requires ``--runImportsOnWorkers`` to be true. Specify the target batch size in bytes for batched imports.
99
+ As many files as can fit will go into each batch import job. This also accepts abbreviations, such as ``G`` or ``Gi``.
100
+
101
+ ``--importWorkersDisk``: Requires ``--runImportsOnWorkers`` to be true. Specify the disk size each import worker will get.
102
+ This usually will not need to be set as Toil will attempt to use file streaming when downloading files.
103
+ If not possible, for example, when downloading from AWS to a GCE job store,
104
+ this should be set to the largest file size of all files to import. By default, this is 1 MiB.
105
+
87
106
  Any number of other Toil options may also be specified. For defined Toil options,
88
107
  see :ref:`commandRef`.
89
108
 
@@ -121,6 +140,21 @@ The final number is a sequential counter: if a step has to be retried, or if
121
140
  you run the workflow multiple times without clearing out the logs directory, it
122
141
  will increment.
123
142
 
143
+ Enabling WDL Call Cache
144
+ -----------------------
145
+
146
+ Toil can cache the task and workflow outputs to use outputs of already ran tasks and workflows.
147
+ This can save time when debugging long running workflows where a later task fails. However, this is only guaranteed for
148
+ running locally and can use up a considerable amount of disk space.
149
+
150
+ To use, set the following environment variables before running the workflow::
151
+
152
+ export MINIWDL__CALL_CACHE__PUT=True
153
+ export MINIWDL__CALL_CACHE__GET=True
154
+ export MINIWDL__CALL_CACHE__DIR=/absolute_path/to/cache
124
155
 
156
+ The path to the cache directory must be an absolute path.
125
157
 
158
+ For setting up call cache permanently, see the `MiniWDL call cache`_ documentation.
126
159
 
160
+ .. _MiniWDL call cache: https://miniwdl.readthedocs.io/en/latest/runner_reference.html#call-cache
@@ -2,4 +2,4 @@ boto3-stubs[s3,sdb,iam,sts,boto3,ec2,autoscaling]>=1.28.3.post2, <2
2
2
  mypy-boto3-iam>=1.28.3.post2, <2 # Need to force .post1 to be replaced
3
3
  mypy-boto3-s3>=1.28.3.post2, <2
4
4
  moto>=5.0.3, <6
5
- ec2_metadata<3
5
+ ec2_metadata>=2.14.0,<3
@@ -1,6 +1,6 @@
1
1
  cwltool==3.1.20250110105449
2
2
  schema-salad>=8.4.20230128170514,<9
3
- galaxy-tool-util<25
3
+ galaxy-tool-util<26
4
4
  galaxy-util<25
5
5
  ruamel.yaml>=0.15,<=0.19
6
6
  ruamel.yaml.clib>=0.2.6
@@ -1,6 +1,7 @@
1
1
  pytest>=6.2.1,<9
2
2
  pytest-cov>=2.12.1,<7
3
3
  pytest-timeout>=1.4.2,<3
4
+ pytest_httpserver>=1.1.3,<2
4
5
  pytest-subtests
5
6
  stubserver>=1.1,<2
6
7
  setuptools>=65.5.1,<81
@@ -10,7 +11,7 @@ astroid>=3,<4
10
11
  sphinx-autodoc-typehints>=1.24.0,<4
11
12
  sphinxcontrib-autoprogram==0.1.9
12
13
  cwltest>=2.6.20250314152537
13
- mypy==1.15.0
14
+ mypy==1.16.1
14
15
  types-aws-xray-sdk
15
16
  types-boto<2.49.18.20241020
16
17
  types-Flask-Cors
@@ -0,0 +1,8 @@
1
+ connexion[swagger-ui]>=3,<4
2
+ flask>=3,<4
3
+ werkzeug>=3,<4
4
+ flask-cors>=5.0.1,<6
5
+ gunicorn>=23.0.0,<24
6
+ celery>=5.4.0,<6
7
+ wes-service>=5.0.0,<6
8
+ ruamel.yaml>=0.18.7,<1
@@ -1,3 +1,3 @@
1
- miniwdl==1.12.1
1
+ miniwdl==1.13.0
2
2
  wdlparse==0.1.0
3
3
  graphlib-backport==1.0 ; python_version < '3.9'
@@ -31,6 +31,7 @@ markers =
31
31
  singularity
32
32
  torque
33
33
  wes_server
34
+ conformance
34
35
  cwl_small_log_dir
35
36
  cwl_small
36
37
  wdl