latch 2.39.0.dev22__tar.gz → 2.39.0.dev23__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.
- {latch-2.39.0.dev22/latch.egg-info → latch-2.39.0.dev23}/PKG-INFO +1 -1
- {latch-2.39.0.dev22 → latch-2.39.0.dev23/latch.egg-info}/PKG-INFO +1 -1
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch.egg-info/SOURCES.txt +11 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/build.py +11 -3
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/conditional.py +0 -1
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/merge.py +14 -4
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/serialize.py +3 -3
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/__init__.cpython-311.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/__init__.cpython-38.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/__init__.cpython-39.pyc +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/__pycache__/init.cpython-310.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/init.cpython-311.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/init.cpython-38.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/__pycache__/init.cpython-39.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/example_conda/__pycache__/__init__.cpython-310.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/example_nf_integration/latch_metadata/__pycache__/__init__.cpython-311.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/example_r/__pycache__/__init__.cpython-310.pyc +0 -0
- latch-2.39.0.dev23/latch_cli/services/init/template/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/setup.py +1 -1
- latch-2.39.0.dev22/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/LICENSE +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/MANIFEST.in +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/README.md +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/account.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/executions.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/functions/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/functions/messages.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/functions/operators.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/functions/secrets.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/download.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/manager.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/node.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/progress.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/remote_copy.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/throttle.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/upload.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/_transfer/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/path.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/ldata/type.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/project.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/record.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/table.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/types.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/upstream_types/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/upstream_types/types.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/upstream_types/values.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/registry/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/conditional.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/launch_plan.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/map_tasks.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/reference_workflow.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/tasks.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/resources/workflow.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/directory.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/file.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/glob.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/json.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/metadata.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/types/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/deseq2.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/mafft.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/pathway.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/rnaseq.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch/verified/trim_galore.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch.egg-info/dependency_links.txt +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch.egg-info/entry_points.txt +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch.egg-info/requires.txt +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch.egg-info/top_level.txt +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/auth/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/auth/csrf.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/auth/oauth2.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/auth/pkce.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/auth/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/centromere/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/centromere/ctx.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/centromere/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/click_utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/constants.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/docker_utils/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/exceptions/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/exceptions/cache.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/exceptions/errors.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/exceptions/handler.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/exceptions/traceback.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/common/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/common/serialize.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/common/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/channel.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/config.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/dag.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/file_persistence.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/serialize.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/adapters.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/base.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/input.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/map.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/operator.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/output.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/tasks/process.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/nextflow/workflow.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/config.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/single_task_snakemake.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/workflow.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/main.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/menus.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/cp/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/cp/autocomplete.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/cp/glob.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/cp/main.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/cp/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/execute/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/execute/main.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/execute/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/get.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/get_executions.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/get_params.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/.env +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/LICENSE +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/README.md +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/assemble.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/sort.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/system-requirements.txt +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/common/.dockerignore +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_conda/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_conda/conda_task.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_conda/environment.yaml +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_docker/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_docker/task.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/Dockerfile +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/latch_metadata/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/main.nf +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/workflow.nf +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nfcore/Dockerfile +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nfcore/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nfcore/task.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_r/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_r/environment.R +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_r/r_task.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/.latch/latch_entrypoint +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/Dockerfile +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/Snakefile +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/config.yaml +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/environment.yaml +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/latch_metadata.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/scripts/plot-quals.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/version +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/init.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/template/LICENSE +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/template/README.md +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/template/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/template/task.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/launch.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/local_dev.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/local_dev_old.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/login.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/ls.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/mkdir.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/move.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/preview.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/register/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/register/constants.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/register/register.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/register/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/rm.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/stop_pod.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/sync.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/test_data/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/test_data/ls.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/test_data/remove.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/test_data/upload.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/test_data/utils.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/workspace.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/tinyrequests.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/tui/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/utils/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/utils/path.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/utils/workflow.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/workflow_config.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/pyproject.toml +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/setup.cfg +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/tests/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/tests/cp/__init__.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/tests/fixtures.py +0 -0
- {latch-2.39.0.dev22 → latch-2.39.0.dev23}/tests/test_ls.py +0 -0
|
@@ -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 =
|
|
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
|
|
|
@@ -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(
|
|
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
|
-
|
|
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 =
|
|
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
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/__pycache__/init.cpython-310.pyc
RENAMED
|
Binary file
|
latch-2.39.0.dev23/latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/extras/snakemake/single_task_snakemake.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/README.md
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/__init__.py
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/assemble_and_sort/assemble.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_conda/conda_task.py
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_conda/environment.yaml
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_docker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/Dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/main.nf
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nf_integration/workflow.nf
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_nfcore/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/Dockerfile
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/Snakefile
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/config.yaml
RENAMED
|
File without changes
|
{latch-2.39.0.dev22 → latch-2.39.0.dev23}/latch_cli/services/init/example_snakemake/environment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|