latch 2.39.0.dev13__tar.gz → 2.39.0.dev14__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.dev14/PKG-INFO +39 -0
- latch-2.39.0.dev14/latch.egg-info/PKG-INFO +39 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch.egg-info/SOURCES.txt +1 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/build.py +2 -1
- latch-2.39.0.dev14/latch_cli/extras/nextflow/channel.py +39 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/adapters.py +20 -29
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/setup.py +1 -1
- latch-2.39.0.dev13/PKG-INFO +0 -13
- latch-2.39.0.dev13/latch.egg-info/PKG-INFO +0 -13
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/LICENSE +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/MANIFEST.in +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/README.md +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/account.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/executions.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/functions/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/functions/messages.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/functions/operators.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/functions/secrets.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/download.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/manager.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/node.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/progress.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/remote_copy.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/throttle.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/upload.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/_transfer/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/path.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/ldata/type.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/project.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/record.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/table.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/types.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/upstream_types/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/upstream_types/types.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/upstream_types/values.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/registry/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/conditional.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/launch_plan.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/map_tasks.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/reference_workflow.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/tasks.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/resources/workflow.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/directory.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/file.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/glob.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/json.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/metadata.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/types/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/deseq2.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/mafft.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/pathway.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/rnaseq.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch/verified/trim_galore.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch.egg-info/dependency_links.txt +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch.egg-info/entry_points.txt +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch.egg-info/requires.txt +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch.egg-info/top_level.txt +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/auth/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/auth/csrf.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/auth/oauth2.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/auth/pkce.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/auth/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/centromere/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/centromere/ctx.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/centromere/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/click_utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/constants.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/docker_utils/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/exceptions/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/exceptions/cache.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/exceptions/errors.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/exceptions/handler.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/exceptions/traceback.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/common/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/common/serialize.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/common/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/dag.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/file_persistence.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/serialize.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/base.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/conditional.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/input.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/map.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/merge.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/operator.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/output.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/tasks/process.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/nextflow/workflow.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/config/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/config/parser.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/config/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/serialize.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/single_task_snakemake.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/extras/snakemake/workflow.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/main.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/menus.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/cp/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/cp/autocomplete.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/cp/glob.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/cp/main.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/cp/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/execute/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/execute/main.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/execute/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/get.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/get_executions.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/get_params.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/__init__.cpython-311.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/__init__.cpython-38.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/__init__.cpython-39.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-311.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-38.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-39.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/.env +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/LICENSE +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/README.md +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/assemble.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/sort.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/system-requirements.txt +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/common/.dockerignore +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/conda_task.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/environment.yaml +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_docker/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_docker/task.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/Dockerfile +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/latch_metadata/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/latch_metadata/__pycache__/__init__.cpython-311.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/main.nf +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/workflow.nf +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nfcore/Dockerfile +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nfcore/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nfcore/task.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_r/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_r/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_r/environment.R +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_r/r_task.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/.latch/latch_entrypoint +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/Dockerfile +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/Snakefile +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/config.yaml +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/environment.yaml +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/latch_metadata.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/scripts/plot-quals.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/version +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/init.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/template/LICENSE +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/template/README.md +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/template/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/template/__pycache__/__init__.cpython-310.pyc +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/template/task.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/launch.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/local_dev.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/local_dev_old.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/login.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/ls.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/mkdir.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/move.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/preview.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/register/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/register/constants.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/register/register.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/register/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/rm.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/stop_pod.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/sync.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/test_data/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/test_data/ls.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/test_data/remove.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/test_data/upload.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/test_data/utils.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/workspace.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/tinyrequests.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/tui/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/utils/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/utils/path.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/workflow_config.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/pyproject.toml +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/setup.cfg +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/tests/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/tests/cp/__init__.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/tests/fixtures.py +0 -0
- {latch-2.39.0.dev13 → latch-2.39.0.dev14}/tests/test_ls.py +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: latch
|
|
3
|
+
Version: 2.39.0.dev14
|
|
4
|
+
Summary: The Latch SDK
|
|
5
|
+
Author-email: kenny@latch.bio
|
|
6
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Requires-Python: >=3.8,<3.12
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: kubernetes>=24.2.0
|
|
13
|
+
Requires-Dist: pyjwt>=0.2.0
|
|
14
|
+
Requires-Dist: requests>=2.28.1
|
|
15
|
+
Requires-Dist: click>=8.0
|
|
16
|
+
Requires-Dist: docker>=5.0
|
|
17
|
+
Requires-Dist: paramiko>=3.2.0
|
|
18
|
+
Requires-Dist: scp>=0.14.0
|
|
19
|
+
Requires-Dist: boto3>=1.26.0
|
|
20
|
+
Requires-Dist: tqdm>=4.63.0
|
|
21
|
+
Requires-Dist: lytekit==0.15.3
|
|
22
|
+
Requires-Dist: lytekitplugins-pods==0.6.2
|
|
23
|
+
Requires-Dist: typing-extensions==4.7.1
|
|
24
|
+
Requires-Dist: apscheduler==3.9.1
|
|
25
|
+
Requires-Dist: gql==3.4.0
|
|
26
|
+
Requires-Dist: graphql-core==3.2.3
|
|
27
|
+
Requires-Dist: requests-toolbelt==0.10.1
|
|
28
|
+
Requires-Dist: latch-sdk-gql==0.0.6
|
|
29
|
+
Requires-Dist: latch-sdk-config==0.0.4
|
|
30
|
+
Requires-Dist: python-dateutil>=2.8
|
|
31
|
+
Requires-Dist: aioconsole==0.6.1
|
|
32
|
+
Requires-Dist: asyncssh==2.13.2
|
|
33
|
+
Requires-Dist: websockets==11.0.3
|
|
34
|
+
Requires-Dist: watchfiles==0.19.0
|
|
35
|
+
Provides-Extra: snakemake
|
|
36
|
+
Requires-Dist: snakemake<7.30.2,>=7.18.0; extra == "snakemake"
|
|
37
|
+
Requires-Dist: pulp<2.8,>=2.0; extra == "snakemake"
|
|
38
|
+
Provides-Extra: pandas
|
|
39
|
+
Requires-Dist: pandas>=2.0.0; extra == "pandas"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: latch
|
|
3
|
+
Version: 2.39.0.dev14
|
|
4
|
+
Summary: The Latch SDK
|
|
5
|
+
Author-email: kenny@latch.bio
|
|
6
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Requires-Python: >=3.8,<3.12
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: kubernetes>=24.2.0
|
|
13
|
+
Requires-Dist: pyjwt>=0.2.0
|
|
14
|
+
Requires-Dist: requests>=2.28.1
|
|
15
|
+
Requires-Dist: click>=8.0
|
|
16
|
+
Requires-Dist: docker>=5.0
|
|
17
|
+
Requires-Dist: paramiko>=3.2.0
|
|
18
|
+
Requires-Dist: scp>=0.14.0
|
|
19
|
+
Requires-Dist: boto3>=1.26.0
|
|
20
|
+
Requires-Dist: tqdm>=4.63.0
|
|
21
|
+
Requires-Dist: lytekit==0.15.3
|
|
22
|
+
Requires-Dist: lytekitplugins-pods==0.6.2
|
|
23
|
+
Requires-Dist: typing-extensions==4.7.1
|
|
24
|
+
Requires-Dist: apscheduler==3.9.1
|
|
25
|
+
Requires-Dist: gql==3.4.0
|
|
26
|
+
Requires-Dist: graphql-core==3.2.3
|
|
27
|
+
Requires-Dist: requests-toolbelt==0.10.1
|
|
28
|
+
Requires-Dist: latch-sdk-gql==0.0.6
|
|
29
|
+
Requires-Dist: latch-sdk-config==0.0.4
|
|
30
|
+
Requires-Dist: python-dateutil>=2.8
|
|
31
|
+
Requires-Dist: aioconsole==0.6.1
|
|
32
|
+
Requires-Dist: asyncssh==2.13.2
|
|
33
|
+
Requires-Dist: websockets==11.0.3
|
|
34
|
+
Requires-Dist: watchfiles==0.19.0
|
|
35
|
+
Provides-Extra: snakemake
|
|
36
|
+
Requires-Dist: snakemake<7.30.2,>=7.18.0; extra == "snakemake"
|
|
37
|
+
Requires-Dist: pulp<2.8,>=2.0; extra == "snakemake"
|
|
38
|
+
Provides-Extra: pandas
|
|
39
|
+
Requires-Dist: pandas>=2.0.0; extra == "pandas"
|
|
@@ -84,6 +84,7 @@ latch_cli/extras/common/serialize.py
|
|
|
84
84
|
latch_cli/extras/common/utils.py
|
|
85
85
|
latch_cli/extras/nextflow/__init__.py
|
|
86
86
|
latch_cli/extras/nextflow/build.py
|
|
87
|
+
latch_cli/extras/nextflow/channel.py
|
|
87
88
|
latch_cli/extras/nextflow/dag.py
|
|
88
89
|
latch_cli/extras/nextflow/file_persistence.py
|
|
89
90
|
latch_cli/extras/nextflow/serialize.py
|
|
@@ -410,7 +410,7 @@ def build_nf_wf(
|
|
|
410
410
|
}
|
|
411
411
|
|
|
412
412
|
if os.environ.get("LATCH_NEXTFLOW_DEV") is not None:
|
|
413
|
-
env =
|
|
413
|
+
env = os.environ
|
|
414
414
|
|
|
415
415
|
try:
|
|
416
416
|
subprocess.run(
|
|
@@ -501,6 +501,7 @@ def generate_nf_entrypoint(
|
|
|
501
501
|
|
|
502
502
|
from flytekit.extras.persistence import LatchPersistence
|
|
503
503
|
from latch_cli.extras.nextflow.file_persistence import download_files, stage_for_output, upload_files
|
|
504
|
+
from latch_cli.extras.nextflow.channel import get_mapper_inputs
|
|
504
505
|
from latch_cli.utils import check_exists_and_rename, get_parameter_json_value, urljoins
|
|
505
506
|
|
|
506
507
|
from latch.resources.tasks import custom_task
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from typing import Dict, List, Type, TypeVar
|
|
3
|
+
|
|
4
|
+
from latch.types.metadata import _IsDataclass
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound=_IsDataclass)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_mapper_inputs(
|
|
10
|
+
cls: Type[T],
|
|
11
|
+
wf_inputs: Dict[str, object],
|
|
12
|
+
channel_inputs: Dict[str, str],
|
|
13
|
+
) -> List[T]:
|
|
14
|
+
value_channels = {}
|
|
15
|
+
queue_channels = {}
|
|
16
|
+
|
|
17
|
+
min_len = float("inf")
|
|
18
|
+
for param_name, channel in channel_inputs.items():
|
|
19
|
+
values = json.loads(channel)
|
|
20
|
+
|
|
21
|
+
if type(values) == list:
|
|
22
|
+
queue_channels[param_name] = values
|
|
23
|
+
min_len = min(min_len, len(values))
|
|
24
|
+
else:
|
|
25
|
+
value_channels[param_name] = values
|
|
26
|
+
|
|
27
|
+
if min_len == float("inf"):
|
|
28
|
+
min_len = 1
|
|
29
|
+
|
|
30
|
+
res: List[T] = []
|
|
31
|
+
for i in range(min_len):
|
|
32
|
+
kwargs = {**wf_inputs, **value_channels}
|
|
33
|
+
|
|
34
|
+
for k, v in queue_channels.items():
|
|
35
|
+
kwargs[k] = v[i]
|
|
36
|
+
|
|
37
|
+
res.append(cls(**kwargs))
|
|
38
|
+
|
|
39
|
+
return res
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import typing
|
|
2
|
-
from dataclasses import dataclass, fields, make_dataclass
|
|
2
|
+
from dataclasses import Field, dataclass, fields, make_dataclass
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import Dict, List, Mapping, Type, Union, get_args, get_origin
|
|
5
5
|
|
|
@@ -116,36 +116,27 @@ class NextflowProcessPreAdapterTask(NextflowBaseTask):
|
|
|
116
116
|
|
|
117
117
|
fs = fields(self.dataclass)
|
|
118
118
|
|
|
119
|
-
channel_fields = [
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
""".replace("__fields__", field_str),
|
|
127
|
-
2,
|
|
128
|
-
)
|
|
129
|
-
else:
|
|
130
|
-
assignment_str = ", ".join(
|
|
131
|
-
[f"{field.name}=x[{i}]" for i, field in enumerate(fs)]
|
|
132
|
-
)
|
|
119
|
+
channel_fields: List[Field] = []
|
|
120
|
+
wf_fields: List[Field] = []
|
|
121
|
+
for f in fs:
|
|
122
|
+
if f.name.startswith("wf_"):
|
|
123
|
+
wf_fields.append(f)
|
|
124
|
+
else:
|
|
125
|
+
channel_fields.append(f)
|
|
133
126
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
for field in fs
|
|
141
|
-
])
|
|
127
|
+
wf_dict_str = (
|
|
128
|
+
"{" + ", ".join(f"{repr(f.name)}: {f.name}" for f in wf_fields) + "}"
|
|
129
|
+
)
|
|
130
|
+
channel_dict_str = (
|
|
131
|
+
"{" + ", ".join(f"{repr(f.name)}: {f.name}" for f in channel_fields) + "}"
|
|
132
|
+
)
|
|
142
133
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
134
|
+
code_block += reindent(
|
|
135
|
+
f"""
|
|
136
|
+
result = get_mapper_inputs({self.dataclass.__name__}, {wf_dict_str}, {channel_dict_str})
|
|
137
|
+
""",
|
|
138
|
+
2,
|
|
139
|
+
)
|
|
149
140
|
|
|
150
141
|
code_block += reindent(
|
|
151
142
|
rf"""
|
latch-2.39.0.dev13/PKG-INFO
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: latch
|
|
3
|
-
Version: 2.39.0.dev13
|
|
4
|
-
Summary: The Latch SDK
|
|
5
|
-
Author-email: kenny@latch.bio
|
|
6
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
7
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Requires-Python: >=3.8,<3.12
|
|
11
|
-
Provides-Extra: snakemake
|
|
12
|
-
Provides-Extra: pandas
|
|
13
|
-
License-File: LICENSE
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: latch
|
|
3
|
-
Version: 2.39.0.dev13
|
|
4
|
-
Summary: The Latch SDK
|
|
5
|
-
Author-email: kenny@latch.bio
|
|
6
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
7
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Requires-Python: >=3.8,<3.12
|
|
11
|
-
Provides-Extra: snakemake
|
|
12
|
-
Provides-Extra: pandas
|
|
13
|
-
License-File: LICENSE
|
|
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
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/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
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-310.pyc
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-311.pyc
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-38.pyc
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/__pycache__/init.cpython-39.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/README.md
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/assemble_and_sort/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/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
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/conda_task.py
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_conda/environment.yaml
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_docker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/Dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/main.nf
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_nf_integration/workflow.nf
RENAMED
|
File without changes
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/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
|
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/Dockerfile
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/Snakefile
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/latch_cli/services/init/example_snakemake/config.yaml
RENAMED
|
File without changes
|
{latch-2.39.0.dev13 → latch-2.39.0.dev14}/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
|