latch 2.39.0.dev2__tar.gz → 2.39.0.dev4__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 (203) hide show
  1. {latch-2.39.0.dev2/latch.egg-info → latch-2.39.0.dev4}/PKG-INFO +1 -1
  2. {latch-2.39.0.dev2 → latch-2.39.0.dev4/latch.egg-info}/PKG-INFO +1 -1
  3. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/build.py +14 -9
  4. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/file_persistence.py +5 -5
  5. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/serialize.py +1 -1
  6. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/base.py +4 -5
  7. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/operator.py +0 -2
  8. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/process.py +1 -3
  9. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/init.cpython-310.pyc +0 -0
  10. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/init.cpython-311.pyc +0 -0
  11. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/setup.py +1 -1
  12. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/LICENSE +0 -0
  13. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/MANIFEST.in +0 -0
  14. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/README.md +0 -0
  15. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/__init__.py +0 -0
  16. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/account.py +0 -0
  17. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/executions.py +0 -0
  18. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/functions/__init__.py +0 -0
  19. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/functions/messages.py +0 -0
  20. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/functions/operators.py +0 -0
  21. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/functions/secrets.py +0 -0
  22. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/__init__.py +0 -0
  23. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/__init__.py +0 -0
  24. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/download.py +0 -0
  25. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/manager.py +0 -0
  26. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/node.py +0 -0
  27. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/progress.py +0 -0
  28. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/remote_copy.py +0 -0
  29. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/throttle.py +0 -0
  30. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/upload.py +0 -0
  31. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/_transfer/utils.py +0 -0
  32. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/path.py +0 -0
  33. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/ldata/type.py +0 -0
  34. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/__init__.py +0 -0
  35. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/project.py +0 -0
  36. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/record.py +0 -0
  37. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/table.py +0 -0
  38. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/types.py +0 -0
  39. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/upstream_types/__init__.py +0 -0
  40. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/upstream_types/types.py +0 -0
  41. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/upstream_types/values.py +0 -0
  42. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/registry/utils.py +0 -0
  43. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/__init__.py +0 -0
  44. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/conditional.py +0 -0
  45. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/launch_plan.py +0 -0
  46. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/map_tasks.py +0 -0
  47. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/reference_workflow.py +0 -0
  48. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/tasks.py +0 -0
  49. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/resources/workflow.py +0 -0
  50. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/__init__.py +0 -0
  51. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/directory.py +0 -0
  52. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/file.py +0 -0
  53. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/glob.py +0 -0
  54. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/json.py +0 -0
  55. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/metadata.py +0 -0
  56. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/types/utils.py +0 -0
  57. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/__init__.py +0 -0
  58. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/deseq2.py +0 -0
  59. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/mafft.py +0 -0
  60. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/pathway.py +0 -0
  61. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/rnaseq.py +0 -0
  62. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch/verified/trim_galore.py +0 -0
  63. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch.egg-info/SOURCES.txt +0 -0
  64. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch.egg-info/dependency_links.txt +0 -0
  65. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch.egg-info/entry_points.txt +0 -0
  66. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch.egg-info/requires.txt +0 -0
  67. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch.egg-info/top_level.txt +0 -0
  68. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/__init__.py +0 -0
  69. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/auth/__init__.py +0 -0
  70. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/auth/csrf.py +0 -0
  71. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/auth/oauth2.py +0 -0
  72. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/auth/pkce.py +0 -0
  73. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/auth/utils.py +0 -0
  74. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/centromere/__init__.py +0 -0
  75. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/centromere/ctx.py +0 -0
  76. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/centromere/utils.py +0 -0
  77. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/click_utils.py +0 -0
  78. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/constants.py +0 -0
  79. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/docker_utils/__init__.py +0 -0
  80. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/exceptions/__init__.py +0 -0
  81. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/exceptions/cache.py +0 -0
  82. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/exceptions/errors.py +0 -0
  83. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/exceptions/handler.py +0 -0
  84. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/exceptions/traceback.py +0 -0
  85. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/__init__.py +0 -0
  86. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/common/__init__.py +0 -0
  87. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/common/serialize.py +0 -0
  88. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/common/utils.py +0 -0
  89. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/__init__.py +0 -0
  90. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/dag.py +0 -0
  91. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/__init__.py +0 -0
  92. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/adapters.py +0 -0
  93. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/conditional.py +0 -0
  94. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/input.py +0 -0
  95. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/map.py +0 -0
  96. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/merge.py +0 -0
  97. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/tasks/output.py +0 -0
  98. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/nextflow/workflow.py +0 -0
  99. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/__init__.py +0 -0
  100. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/config/__init__.py +0 -0
  101. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/config/parser.py +0 -0
  102. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/config/utils.py +0 -0
  103. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/serialize.py +0 -0
  104. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/single_task_snakemake.py +0 -0
  105. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/utils.py +0 -0
  106. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/extras/snakemake/workflow.py +0 -0
  107. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/main.py +0 -0
  108. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/menus.py +0 -0
  109. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/__init__.py +0 -0
  110. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/cp/__init__.py +0 -0
  111. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/cp/autocomplete.py +0 -0
  112. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/cp/glob.py +0 -0
  113. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/cp/main.py +0 -0
  114. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/cp/utils.py +0 -0
  115. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/deprecated/__init__.py +0 -0
  116. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/deprecated/mkdir.py +0 -0
  117. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/deprecated/rm.py +0 -0
  118. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/deprecated/touch.py +0 -0
  119. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/execute/__init__.py +0 -0
  120. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/execute/main.py +0 -0
  121. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/execute/utils.py +0 -0
  122. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/get.py +0 -0
  123. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/get_executions.py +0 -0
  124. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/get_params.py +0 -0
  125. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__init__.py +0 -0
  126. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
  127. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/__init__.cpython-311.pyc +0 -0
  128. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/__init__.cpython-38.pyc +0 -0
  129. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/__init__.cpython-39.pyc +0 -0
  130. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/init.cpython-38.pyc +0 -0
  131. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/__pycache__/init.cpython-39.pyc +0 -0
  132. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/.env +0 -0
  133. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/LICENSE +0 -0
  134. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/README.md +0 -0
  135. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/__init__.py +0 -0
  136. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc +0 -0
  137. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/assemble.py +0 -0
  138. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/sort.py +0 -0
  139. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/assemble_and_sort/system-requirements.txt +0 -0
  140. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/common/.dockerignore +0 -0
  141. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_conda/__init__.py +0 -0
  142. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_conda/__pycache__/__init__.cpython-310.pyc +0 -0
  143. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_conda/conda_task.py +0 -0
  144. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_conda/environment.yaml +0 -0
  145. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_docker/__init__.py +0 -0
  146. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_docker/task.py +0 -0
  147. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nf_integration/Dockerfile +0 -0
  148. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nf_integration/latch_metadata/__init__.py +0 -0
  149. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nf_integration/latch_metadata/__pycache__/__init__.cpython-311.pyc +0 -0
  150. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nf_integration/main.nf +0 -0
  151. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nf_integration/workflow.nf +0 -0
  152. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nfcore/Dockerfile +0 -0
  153. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nfcore/__init__.py +0 -0
  154. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_nfcore/task.py +0 -0
  155. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_r/__init__.py +0 -0
  156. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_r/__pycache__/__init__.cpython-310.pyc +0 -0
  157. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_r/environment.R +0 -0
  158. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_r/r_task.py +0 -0
  159. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/.latch/latch_entrypoint +0 -0
  160. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/Dockerfile +0 -0
  161. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/Snakefile +0 -0
  162. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/config.yaml +0 -0
  163. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/environment.yaml +0 -0
  164. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/latch_metadata.py +0 -0
  165. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/scripts/plot-quals.py +0 -0
  166. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/example_snakemake/version +0 -0
  167. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/init.py +0 -0
  168. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/template/LICENSE +0 -0
  169. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/template/README.md +0 -0
  170. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/template/__init__.py +0 -0
  171. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/template/__pycache__/__init__.cpython-310.pyc +0 -0
  172. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/init/template/task.py +0 -0
  173. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/launch.py +0 -0
  174. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/local_dev.py +0 -0
  175. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/local_dev_old.py +0 -0
  176. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/login.py +0 -0
  177. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/ls.py +0 -0
  178. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/move.py +0 -0
  179. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/open_file.py +0 -0
  180. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/preview.py +0 -0
  181. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/register/__init__.py +0 -0
  182. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/register/constants.py +0 -0
  183. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/register/register.py +0 -0
  184. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/register/utils.py +0 -0
  185. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/stop_pod.py +0 -0
  186. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/sync.py +0 -0
  187. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/test_data/__init__.py +0 -0
  188. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/test_data/ls.py +0 -0
  189. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/test_data/remove.py +0 -0
  190. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/test_data/upload.py +0 -0
  191. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/test_data/utils.py +0 -0
  192. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/services/workspace.py +0 -0
  193. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/tinyrequests.py +0 -0
  194. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/tui/__init__.py +0 -0
  195. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/utils/__init__.py +0 -0
  196. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/utils/path.py +0 -0
  197. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/latch_cli/workflow_config.py +0 -0
  198. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/pyproject.toml +0 -0
  199. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/setup.cfg +0 -0
  200. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/tests/__init__.py +0 -0
  201. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/tests/cp/__init__.py +0 -0
  202. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/tests/fixtures.py +0 -0
  203. {latch-2.39.0.dev2 → latch-2.39.0.dev4}/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.dev2
3
+ Version: 2.39.0.dev4
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.dev2
3
+ Version: 2.39.0.dev4
4
4
  Summary: The Latch SDK
5
5
  Author-email: kenny@latch.bio
6
6
  Classifier: Programming Language :: Python :: 3.8
@@ -386,6 +386,19 @@ def build_nf_wf(pkg_root: Path, nf_script: Path) -> NextflowWorkflow:
386
386
  for f in old_dag_files:
387
387
  f.unlink()
388
388
 
389
+ env = {
390
+ **os.environ,
391
+ # read NF binaries from `.latch/.nextflow` instead of system
392
+ "NXF_HOME": str(pkg_root / ".latch" / ".nextflow"),
393
+ # don't display version mismatch warning
394
+ "NXF_DISABLE_CHECK_LATEST": "true",
395
+ # don't emit .nextflow.log files
396
+ "NXF_LOG_FILE": "/dev/null",
397
+ }
398
+
399
+ if os.environ.get("LATCH_NEXTFLOW_DEV") is not None:
400
+ env = {**os.environ}
401
+
389
402
  try:
390
403
  subprocess.run(
391
404
  [
@@ -395,15 +408,7 @@ def build_nf_wf(pkg_root: Path, nf_script: Path) -> NextflowWorkflow:
395
408
  str(nf_script.resolve()),
396
409
  "-latchRegister",
397
410
  ],
398
- env={
399
- **os.environ,
400
- # read NF binaries from `.latch/.nextflow` instead of system
401
- "NXF_HOME": str(pkg_root / ".latch" / ".nextflow"),
402
- # don't display version mismatch warning
403
- "NXF_DISABLE_CHECK_LATEST": "true",
404
- # don't emit .nextflow.log files
405
- "NXF_LOG_FILE": "/dev/null",
406
- },
411
+ env=env,
407
412
  check=True,
408
413
  )
409
414
  except subprocess.CalledProcessError as e:
@@ -46,7 +46,7 @@ def _extract_paths(parameter: JSONValue, res: List[Path]):
46
46
  if k == "path":
47
47
  assert isinstance(v, str)
48
48
 
49
- res.append(Path(v).resolve())
49
+ res.append(Path(v).absolute())
50
50
  elif k == "list":
51
51
  assert isinstance(v, List)
52
52
 
@@ -120,9 +120,9 @@ def download_files(channels: List[List[JSONValue]], outdir: LatchDir):
120
120
  local.parent.mkdir(parents=True, exist_ok=True)
121
121
 
122
122
  if data.type == LDataNodeType.obj:
123
- lp.download(remote, local)
123
+ lp.download(remote, str(local))
124
124
  else:
125
- lp.download_directory(remote, local)
125
+ lp.download_directory(remote, str(local))
126
126
 
127
127
  click.echo("Done.")
128
128
 
@@ -140,9 +140,9 @@ def _upload(local: Path, remote: str):
140
140
  click.echo(f"Uploading {local} -> {remote}. ", nl=False)
141
141
 
142
142
  if p.is_file():
143
- lp.upload(local, remote)
143
+ lp.upload(str(local), remote)
144
144
  else:
145
- lp.upload_directory(local, remote)
145
+ lp.upload_directory(str(local), remote)
146
146
 
147
147
  click.echo("Done.")
148
148
 
@@ -8,4 +8,4 @@ def serialize_nf(
8
8
  image_name: str,
9
9
  dkr_repo: str,
10
10
  ):
11
- serialize(nf_wf, output_dir, image_name, dkr_repo, write_spec=False)
11
+ serialize(nf_wf, output_dir, image_name, dkr_repo, write_spec=True)
@@ -34,6 +34,9 @@ class NextflowBaseTask(PythonAutoContainerTask[Pod]):
34
34
  name: str,
35
35
  branches: Dict[str, bool],
36
36
  wf: NextflowWorkflow,
37
+ # todo(ayush): expose / infer these somehow
38
+ cpu: int = 4,
39
+ memory: int = 8,
37
40
  ):
38
41
  self.id = id
39
42
  self.wf = wf
@@ -56,16 +59,12 @@ class NextflowBaseTask(PythonAutoContainerTask[Pod]):
56
59
 
57
60
  self.branches = branches
58
61
 
59
- # todo(ayush): expose / infer these somehow
60
- cores = 4
61
- mem = 7 # GiB
62
-
63
62
  super().__init__(
64
63
  task_type=SdkTaskType.SIDECAR_TASK,
65
64
  task_type_version=2,
66
65
  name=f"{name}_{id}",
67
66
  interface=interface,
68
- task_config=custom_task(cpu=cores, memory=mem).keywords["task_config"],
67
+ task_config=custom_task(cpu=cpu, memory=memory).keywords["task_config"],
69
68
  task_resolver=NextflowBaseTaskResolver(),
70
69
  )
71
70
 
@@ -109,8 +109,6 @@ class NextflowOperatorTask(NextflowBaseTask):
109
109
  "/root/nextflow",
110
110
  "run",
111
111
  str(nf_script_path_in_container),
112
- "-profile",
113
- "mamba",
114
112
  ]
115
113
 
116
114
  for flag, val in self.wf.flags_to_params.items():
@@ -24,7 +24,7 @@ class NextflowProcessTask(NextflowBaseTask):
24
24
  unaliased: str,
25
25
  wf: NextflowWorkflow,
26
26
  ):
27
- super().__init__(inputs, outputs, id, name, {}, wf)
27
+ super().__init__(inputs, outputs, id, name, {}, wf, cpu=16, memory=32)
28
28
 
29
29
  self.wf_inputs = {}
30
30
  self.conditional_inputs = {}
@@ -101,8 +101,6 @@ class NextflowProcessTask(NextflowBaseTask):
101
101
  "/root/nextflow",
102
102
  "run",
103
103
  str(nf_script_path_in_container),
104
- "-profile",
105
- "mamba",
106
104
  ]
107
105
 
108
106
  for flag, val in self.wf.flags_to_params.items():
@@ -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.dev2",
16
+ version="v2.39.0.dev4",
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
File without changes