latch 2.39.0.dev22__tar.gz → 2.39.0.dev24__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 (202) hide show
  1. {latch-2.39.0.dev22/latch.egg-info → latch-2.39.0.dev24}/PKG-INFO +1 -1
  2. {latch-2.39.0.dev22 → latch-2.39.0.dev24/latch.egg-info}/PKG-INFO +1 -1
  3. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch.egg-info/SOURCES.txt +11 -0
  4. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/build.py +11 -3
  5. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/conditional.py +0 -1
  6. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/merge.py +14 -4
  7. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/serialize.py +3 -3
  8. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
  9. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/__init__.cpython-311.pyc +0 -0
  10. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/__init__.cpython-38.pyc +0 -0
  11. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/__init__.cpython-39.pyc +0 -0
  12. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/__pycache__/init.cpython-310.pyc +0 -0
  13. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/init.cpython-311.pyc +0 -0
  14. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/init.cpython-38.pyc +0 -0
  15. latch-2.39.0.dev24/latch_cli/services/init/__pycache__/init.cpython-39.pyc +0 -0
  16. latch-2.39.0.dev24/latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc +0 -0
  17. latch-2.39.0.dev24/latch_cli/services/init/example_conda/__pycache__/__init__.cpython-310.pyc +0 -0
  18. latch-2.39.0.dev24/latch_cli/services/init/example_nf_integration/latch_metadata/__pycache__/__init__.cpython-311.pyc +0 -0
  19. latch-2.39.0.dev24/latch_cli/services/init/example_r/__pycache__/__init__.cpython-310.pyc +0 -0
  20. latch-2.39.0.dev24/latch_cli/services/init/template/__pycache__/__init__.cpython-310.pyc +0 -0
  21. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/setup.py +1 -1
  22. latch-2.39.0.dev22/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
  23. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/LICENSE +0 -0
  24. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/MANIFEST.in +0 -0
  25. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/README.md +0 -0
  26. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/__init__.py +0 -0
  27. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/account.py +0 -0
  28. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/executions.py +0 -0
  29. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/functions/__init__.py +0 -0
  30. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/functions/messages.py +0 -0
  31. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/functions/operators.py +0 -0
  32. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/functions/secrets.py +0 -0
  33. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/__init__.py +0 -0
  34. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/__init__.py +0 -0
  35. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/download.py +0 -0
  36. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/manager.py +0 -0
  37. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/node.py +0 -0
  38. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/progress.py +0 -0
  39. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/remote_copy.py +0 -0
  40. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/throttle.py +0 -0
  41. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/upload.py +0 -0
  42. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/_transfer/utils.py +0 -0
  43. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/path.py +0 -0
  44. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/ldata/type.py +0 -0
  45. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/__init__.py +0 -0
  46. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/project.py +0 -0
  47. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/record.py +0 -0
  48. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/table.py +0 -0
  49. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/types.py +0 -0
  50. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/upstream_types/__init__.py +0 -0
  51. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/upstream_types/types.py +0 -0
  52. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/upstream_types/values.py +0 -0
  53. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/registry/utils.py +0 -0
  54. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/__init__.py +0 -0
  55. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/conditional.py +0 -0
  56. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/launch_plan.py +0 -0
  57. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/map_tasks.py +0 -0
  58. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/reference_workflow.py +0 -0
  59. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/tasks.py +0 -0
  60. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/resources/workflow.py +0 -0
  61. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/__init__.py +0 -0
  62. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/directory.py +0 -0
  63. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/file.py +0 -0
  64. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/glob.py +0 -0
  65. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/json.py +0 -0
  66. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/metadata.py +0 -0
  67. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/types/utils.py +0 -0
  68. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/__init__.py +0 -0
  69. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/deseq2.py +0 -0
  70. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/mafft.py +0 -0
  71. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/pathway.py +0 -0
  72. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/rnaseq.py +0 -0
  73. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch/verified/trim_galore.py +0 -0
  74. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch.egg-info/dependency_links.txt +0 -0
  75. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch.egg-info/entry_points.txt +0 -0
  76. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch.egg-info/requires.txt +0 -0
  77. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch.egg-info/top_level.txt +0 -0
  78. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/__init__.py +0 -0
  79. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/auth/__init__.py +0 -0
  80. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/auth/csrf.py +0 -0
  81. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/auth/oauth2.py +0 -0
  82. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/auth/pkce.py +0 -0
  83. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/auth/utils.py +0 -0
  84. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/centromere/__init__.py +0 -0
  85. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/centromere/ctx.py +0 -0
  86. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/centromere/utils.py +0 -0
  87. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/click_utils.py +0 -0
  88. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/constants.py +0 -0
  89. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/docker_utils/__init__.py +0 -0
  90. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/exceptions/__init__.py +0 -0
  91. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/exceptions/cache.py +0 -0
  92. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/exceptions/errors.py +0 -0
  93. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/exceptions/handler.py +0 -0
  94. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/exceptions/traceback.py +0 -0
  95. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/__init__.py +0 -0
  96. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/common/__init__.py +0 -0
  97. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/common/serialize.py +0 -0
  98. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/common/utils.py +0 -0
  99. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/__init__.py +0 -0
  100. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/channel.py +0 -0
  101. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/config.py +0 -0
  102. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/dag.py +0 -0
  103. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/file_persistence.py +0 -0
  104. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/serialize.py +0 -0
  105. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/__init__.py +0 -0
  106. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/adapters.py +0 -0
  107. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/base.py +0 -0
  108. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/input.py +0 -0
  109. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/map.py +0 -0
  110. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/operator.py +0 -0
  111. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/output.py +0 -0
  112. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/tasks/process.py +0 -0
  113. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/nextflow/workflow.py +0 -0
  114. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/__init__.py +0 -0
  115. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/config.py +0 -0
  116. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/single_task_snakemake.py +0 -0
  117. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/utils.py +0 -0
  118. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/extras/snakemake/workflow.py +0 -0
  119. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/main.py +0 -0
  120. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/menus.py +0 -0
  121. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/__init__.py +0 -0
  122. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/cp/__init__.py +0 -0
  123. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/cp/autocomplete.py +0 -0
  124. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/cp/glob.py +0 -0
  125. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/cp/main.py +0 -0
  126. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/cp/utils.py +0 -0
  127. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/execute/__init__.py +0 -0
  128. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/execute/main.py +0 -0
  129. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/execute/utils.py +0 -0
  130. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/get.py +0 -0
  131. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/get_executions.py +0 -0
  132. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/get_params.py +0 -0
  133. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/__init__.py +0 -0
  134. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/.env +0 -0
  135. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/LICENSE +0 -0
  136. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/README.md +0 -0
  137. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/__init__.py +0 -0
  138. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/assemble.py +0 -0
  139. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/sort.py +0 -0
  140. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/assemble_and_sort/system-requirements.txt +0 -0
  141. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/common/.dockerignore +0 -0
  142. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_conda/__init__.py +0 -0
  143. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_conda/conda_task.py +0 -0
  144. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_conda/environment.yaml +0 -0
  145. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_docker/__init__.py +0 -0
  146. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_docker/task.py +0 -0
  147. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nf_integration/Dockerfile +0 -0
  148. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nf_integration/latch_metadata/__init__.py +0 -0
  149. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nf_integration/main.nf +0 -0
  150. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nf_integration/workflow.nf +0 -0
  151. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nfcore/Dockerfile +0 -0
  152. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nfcore/__init__.py +0 -0
  153. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_nfcore/task.py +0 -0
  154. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_r/__init__.py +0 -0
  155. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_r/environment.R +0 -0
  156. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_r/r_task.py +0 -0
  157. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/.latch/latch_entrypoint +0 -0
  158. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/Dockerfile +0 -0
  159. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/Snakefile +0 -0
  160. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/config.yaml +0 -0
  161. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/environment.yaml +0 -0
  162. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/latch_metadata.py +0 -0
  163. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/scripts/plot-quals.py +0 -0
  164. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/example_snakemake/version +0 -0
  165. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/init.py +0 -0
  166. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/template/LICENSE +0 -0
  167. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/template/README.md +0 -0
  168. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/template/__init__.py +0 -0
  169. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/init/template/task.py +0 -0
  170. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/launch.py +0 -0
  171. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/local_dev.py +0 -0
  172. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/local_dev_old.py +0 -0
  173. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/login.py +0 -0
  174. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/ls.py +0 -0
  175. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/mkdir.py +0 -0
  176. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/move.py +0 -0
  177. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/preview.py +0 -0
  178. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/register/__init__.py +0 -0
  179. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/register/constants.py +0 -0
  180. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/register/register.py +0 -0
  181. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/register/utils.py +0 -0
  182. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/rm.py +0 -0
  183. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/stop_pod.py +0 -0
  184. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/sync.py +0 -0
  185. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/test_data/__init__.py +0 -0
  186. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/test_data/ls.py +0 -0
  187. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/test_data/remove.py +0 -0
  188. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/test_data/upload.py +0 -0
  189. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/test_data/utils.py +0 -0
  190. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/services/workspace.py +0 -0
  191. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/tinyrequests.py +0 -0
  192. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/tui/__init__.py +0 -0
  193. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/utils/__init__.py +0 -0
  194. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/utils/path.py +0 -0
  195. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/utils/workflow.py +0 -0
  196. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/latch_cli/workflow_config.py +0 -0
  197. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/pyproject.toml +0 -0
  198. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/setup.cfg +0 -0
  199. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/tests/__init__.py +0 -0
  200. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/tests/cp/__init__.py +0 -0
  201. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/tests/fixtures.py +0 -0
  202. {latch-2.39.0.dev22 → latch-2.39.0.dev24}/tests/test_ls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: latch
3
- Version: 2.39.0.dev22
3
+ Version: 2.39.0.dev24
4
4
  Summary: The Latch SDK
5
5
  Author-email: kenny@latch.bio
6
6
  Classifier: Programming Language :: Python :: 3.8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: latch
3
- Version: 2.39.0.dev22
3
+ Version: 2.39.0.dev24
4
4
  Summary: The Latch SDK
5
5
  Author-email: kenny@latch.bio
6
6
  Classifier: Programming Language :: Python :: 3.8
@@ -133,7 +133,13 @@ latch_cli/services/execute/utils.py
133
133
  latch_cli/services/init/__init__.py
134
134
  latch_cli/services/init/init.py
135
135
  latch_cli/services/init/__pycache__/__init__.cpython-310.pyc
136
+ latch_cli/services/init/__pycache__/__init__.cpython-311.pyc
137
+ latch_cli/services/init/__pycache__/__init__.cpython-38.pyc
138
+ latch_cli/services/init/__pycache__/__init__.cpython-39.pyc
136
139
  latch_cli/services/init/__pycache__/init.cpython-310.pyc
140
+ latch_cli/services/init/__pycache__/init.cpython-311.pyc
141
+ latch_cli/services/init/__pycache__/init.cpython-38.pyc
142
+ latch_cli/services/init/__pycache__/init.cpython-39.pyc
137
143
  latch_cli/services/init/assemble_and_sort/.env
138
144
  latch_cli/services/init/assemble_and_sort/LICENSE
139
145
  latch_cli/services/init/assemble_and_sort/README.md
@@ -141,22 +147,26 @@ latch_cli/services/init/assemble_and_sort/__init__.py
141
147
  latch_cli/services/init/assemble_and_sort/assemble.py
142
148
  latch_cli/services/init/assemble_and_sort/sort.py
143
149
  latch_cli/services/init/assemble_and_sort/system-requirements.txt
150
+ latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc
144
151
  latch_cli/services/init/common/.dockerignore
145
152
  latch_cli/services/init/example_conda/__init__.py
146
153
  latch_cli/services/init/example_conda/conda_task.py
147
154
  latch_cli/services/init/example_conda/environment.yaml
155
+ latch_cli/services/init/example_conda/__pycache__/__init__.cpython-310.pyc
148
156
  latch_cli/services/init/example_docker/__init__.py
149
157
  latch_cli/services/init/example_docker/task.py
150
158
  latch_cli/services/init/example_nf_integration/Dockerfile
151
159
  latch_cli/services/init/example_nf_integration/main.nf
152
160
  latch_cli/services/init/example_nf_integration/workflow.nf
153
161
  latch_cli/services/init/example_nf_integration/latch_metadata/__init__.py
162
+ latch_cli/services/init/example_nf_integration/latch_metadata/__pycache__/__init__.cpython-311.pyc
154
163
  latch_cli/services/init/example_nfcore/Dockerfile
155
164
  latch_cli/services/init/example_nfcore/__init__.py
156
165
  latch_cli/services/init/example_nfcore/task.py
157
166
  latch_cli/services/init/example_r/__init__.py
158
167
  latch_cli/services/init/example_r/environment.R
159
168
  latch_cli/services/init/example_r/r_task.py
169
+ latch_cli/services/init/example_r/__pycache__/__init__.cpython-310.pyc
160
170
  latch_cli/services/init/example_snakemake/Dockerfile
161
171
  latch_cli/services/init/example_snakemake/Snakefile
162
172
  latch_cli/services/init/example_snakemake/config.yaml
@@ -169,6 +179,7 @@ latch_cli/services/init/template/LICENSE
169
179
  latch_cli/services/init/template/README.md
170
180
  latch_cli/services/init/template/__init__.py
171
181
  latch_cli/services/init/template/task.py
182
+ latch_cli/services/init/template/__pycache__/__init__.cpython-310.pyc
172
183
  latch_cli/services/register/__init__.py
173
184
  latch_cli/services/register/constants.py
174
185
  latch_cli/services/register/register.py
@@ -3,7 +3,7 @@ import os
3
3
  import shutil
4
4
  import subprocess
5
5
  import sys
6
- from collections import OrderedDict
6
+ from collections import OrderedDict, defaultdict
7
7
  from pathlib import Path
8
8
  from textwrap import dedent
9
9
  from typing import Dict, List, Optional, cast
@@ -86,6 +86,7 @@ def build_from_nextflow_dag(
86
86
 
87
87
  task_bindings: List[literals_models.Binding] = [*global_wf_input_bindings]
88
88
  branches: Dict[str, bool] = {}
89
+ merge_sources: Dict[str, List[str]] = defaultdict(lambda: [])
89
90
  for dep, edge in wf.dag.ancestors()[vertex]:
90
91
  if dep.type == VertexType.Conditional:
91
92
  input_name = f"condition_{dep.id}"
@@ -98,11 +99,15 @@ def build_from_nextflow_dag(
98
99
  node = NodeOutput(node=node_map[dep.id], var=f"condition")
99
100
  else:
100
101
  input_name = f"channel_{dep.id}"
101
- output_name = "res"
102
102
 
103
+ output_name = "res"
103
104
  if len(dep.outputNames) > 0:
104
105
  idx = int(edge.label)
105
- input_name = output_name = dep.outputNames[idx]
106
+ input_name = f"{input_name}_{idx}"
107
+ output_name = dep.outputNames[idx]
108
+
109
+ if vertex.type == VertexType.Merge:
110
+ merge_sources[output_name].append(input_name)
106
111
 
107
112
  task_inputs[input_name] = Optional[str]
108
113
 
@@ -123,6 +128,8 @@ def build_from_nextflow_dag(
123
128
  upstream_nodes.append(node_map[dep.id])
124
129
 
125
130
  node_name = get_node_name(vertex.id)
131
+ if vertex.type == VertexType.Merge:
132
+ task_outputs = {k: Optional[str] for k in merge_sources.keys()}
126
133
 
127
134
  if vertex.type == VertexType.Process:
128
135
  pre_adapter_task = NextflowProcessPreAdapterTask(
@@ -265,6 +272,7 @@ def build_from_nextflow_dag(
265
272
  name=vertex.label,
266
273
  id=vertex.id,
267
274
  branches=branches,
275
+ sources=merge_sources,
268
276
  wf=wf,
269
277
  )
270
278
 
@@ -33,7 +33,6 @@ class NextflowConditionalTask(NextflowOperatorTask):
33
33
  self.nf_task_type = NFTaskType.Conditional
34
34
 
35
35
  def get_fn_return_stmt(self):
36
-
37
36
  return reindent(
38
37
  rf"""
39
38
  res = out_channels.get("condition")
@@ -17,6 +17,7 @@ class NextflowMergeTask(NextflowOperatorTask):
17
17
  id: str,
18
18
  name: str,
19
19
  branches: Dict[str, bool],
20
+ sources: Dict[str, List[str]],
20
21
  wf: NextflowWorkflow,
21
22
  ):
22
23
  super().__init__(
@@ -30,6 +31,7 @@ class NextflowMergeTask(NextflowOperatorTask):
30
31
  wf,
31
32
  )
32
33
 
34
+ self.sources = sources
33
35
  self.nf_task_type = NFTaskType.Merge
34
36
 
35
37
  def get_fn_conditions(self):
@@ -59,7 +61,9 @@ class NextflowMergeTask(NextflowOperatorTask):
59
61
  def get_fn_return_stmt(self):
60
62
  results: List[str] = []
61
63
  for out_name in self._python_outputs.keys():
62
- results.append(reindent(rf"{out_name}=res", 2).rstrip())
64
+ results.append(
65
+ reindent(rf"{out_name}=res.get({repr(out_name)})", 2).rstrip()
66
+ )
63
67
 
64
68
  return_str = ",\n".join(results)
65
69
 
@@ -76,18 +80,24 @@ class NextflowMergeTask(NextflowOperatorTask):
76
80
  code_block = self.get_fn_interface()
77
81
  code_block += self.get_fn_conditions()
78
82
 
79
- expr = " or ".join(channel_input for channel_input in self.channel_inputs)
83
+ exprs = []
84
+ for out_name, inputs in self.sources.items():
85
+ expr = " or ".join(input for input in inputs)
86
+
87
+ exprs.append(f"{repr(out_name)}: {expr}")
88
+
89
+ expr = ", ".join(x for x in exprs)
80
90
 
81
91
  code_block += reindent(
82
92
  rf"""
83
- res = {expr}
93
+ res = {{ {expr} }}
84
94
  else:
85
95
  print("TASK SKIPPED")
86
96
  try:
87
97
  _override_task_status(status="SKIPPED")
88
98
  except Exception as e:
89
99
  print(f"Failed to override task status: {{e}}")
90
- res = None
100
+ res = {{}}
91
101
 
92
102
  """,
93
103
  1,
@@ -415,14 +415,14 @@ def generate_jit_register_code(
415
415
  print_and_write_build_logs,
416
416
  print_upload_logs,
417
417
  )
418
- from latch_cli.snakemake.serialize import (
418
+ from latch_cli.extras.snakemake.serialize import (
419
419
  extract_snakemake_workflow,
420
420
  generate_snakemake_entrypoint,
421
421
  serialize_snakemake,
422
422
  )
423
423
  from latch_cli.utils import get_parameter_json_value, check_exists_and_rename
424
- import latch_cli.snakemake
425
- from latch_cli.snakemake.serialize_utils import update_mapping
424
+ import latch_cli.extras.snakemake
425
+ from latch_cli.extras.snakemake.serialize_utils import update_mapping
426
426
  from latch_cli.utils import urljoins
427
427
 
428
428
  from latch import small_task
@@ -13,7 +13,7 @@ if cur_ver < (3, 8) or cur_ver > (3, 11):
13
13
 
14
14
  setup(
15
15
  name="latch",
16
- version="v2.39.0.dev22",
16
+ version="v2.39.0.dev24",
17
17
  author_email="kenny@latch.bio",
18
18
  description="The Latch SDK",
19
19
  packages=find_packages(),
File without changes
File without changes
File without changes
File without changes