dv-flow-mgr 1.0.0.14420805951a1__tar.gz → 1.0.0.14457729129a1__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.
- dv_flow_mgr-1.0.0.14457729129a1/.env +1 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/.gitignore +0 -1
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/PKG-INFO +1 -1
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/pyproject.toml +1 -1
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_graph_builder.py +7 -6
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_compound.py +8 -3
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +1 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_compound_task.py +101 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_graph.py +1 -1
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/.github/workflows/ci.yml +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/.vscode/settings.json +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/LICENSE +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/README.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/ChangeLog.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/KeyArchitecture.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Makefile +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Notes.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Roadmap.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/RundirLayout.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Stages.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Steps.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Tasks.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/TypesAndDefs.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/Usecases.md +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/cmdref.rst +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/conf.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/index.rst +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/pytask_api.rst +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/docs/quickstart.rst +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/fwperiph_dma.pss +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/ivpm.yaml +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/setup.cfg +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/__main__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cmds/cmd_graph.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cond_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/config.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/config_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/eval_jq.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/exec_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/expr_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/expr_parser.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/ext_rgy.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/extend_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/fragment_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/listener_list.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/need_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/null_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/out +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package_loader.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/param.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/param_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/parser.out +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/parsetab.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/pytask_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/root_package.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/share/flow.json +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/shell_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/srcinfo.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/create_file.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/exec.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/flow.dv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/message.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/task_null.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_data.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node_leaf.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_output.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_run_ctxt.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_runner.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/type.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/type_def.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/__main__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/util.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/yaml_srcinfo_loader.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/examples/example1/example1.flow +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/system/test_depends.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/system/test_pkg_discovery.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/system/test_stdlib.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj1/proj1.dfs +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj2/proj2.dfs +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj3/proj3.dfs +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/marker_collector.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/task_listener_test.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_data_merge.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_dataflow.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_deps.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_expr_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_expr_parser.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_imports.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_load_package.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_markers.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_parse.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pyclass.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pyexec.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pytask_smoke.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_smoke copy.sav +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_smoke.py +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_stdlib.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
PYTHONPATH=./src
|
@@ -235,7 +235,7 @@ class TaskGraphBuilder(object):
|
|
235
235
|
else:
|
236
236
|
raise Exception("Task %s parameters do not include %s" % (task.name, k))
|
237
237
|
|
238
|
-
self._log.debug("<-- mkTaskNode: %s" % task_t)
|
238
|
+
self._log.debug("<-- mkTaskNode: %s (%d needs)" % (task_t, len(ret.needs)))
|
239
239
|
return ret
|
240
240
|
|
241
241
|
def _findTask(self, pkg, name):
|
@@ -386,13 +386,14 @@ class TaskGraphBuilder(object):
|
|
386
386
|
node.input.rundir = self.get_rundir()
|
387
387
|
self.leave_rundir()
|
388
388
|
|
389
|
-
self._log.debug("--> processing needs (%s)" % task.name)
|
389
|
+
self._log.debug("--> processing needs (%s) (%d)" % (task.name, len(task.needs)))
|
390
390
|
for need in task.needs:
|
391
391
|
need_n = self._getTaskNode(need.name)
|
392
392
|
self._log.debug("Add need %s" % need_n.name)
|
393
393
|
if need_n is None:
|
394
394
|
raise Exception("Failed to find need %s" % need.name)
|
395
395
|
node.input.needs.append((need_n, False))
|
396
|
+
# node.needs.append((need_n, False))
|
396
397
|
self._log.debug("<-- processing needs")
|
397
398
|
|
398
399
|
# TODO: handle strategy
|
@@ -439,12 +440,12 @@ class TaskGraphBuilder(object):
|
|
439
440
|
self._log.debug("Node %s references internal node %s" % (t.name, refs_internal.name))
|
440
441
|
|
441
442
|
if referenced is not None:
|
443
|
+
self._log.debug("Node %s has internal needs" % tn.name)
|
444
|
+
else:
|
442
445
|
# Add this task as a dependency of the output
|
443
446
|
# node (the root one)
|
444
447
|
self._log.debug("Add node %s as a top-level dependency" % tn.name)
|
445
448
|
node.needs.append((tn, False))
|
446
|
-
else:
|
447
|
-
self._log.debug("Node %s has internal needs" % tn.name)
|
448
449
|
|
449
450
|
if task.rundir == RundirE.Unique:
|
450
451
|
self.leave_rundir()
|
@@ -452,7 +453,7 @@ class TaskGraphBuilder(object):
|
|
452
453
|
return node
|
453
454
|
|
454
455
|
def _gatherNeeds(self, task_t, node):
|
455
|
-
self._log.debug("--> _gatherNeeds %s" % task_t.name)
|
456
|
+
self._log.debug("--> _gatherNeeds %s (%d)" % (task_t.name, len(task_t.needs)))
|
456
457
|
if task_t.uses is not None:
|
457
458
|
self._gatherNeeds(task_t.uses, node)
|
458
459
|
|
@@ -461,7 +462,7 @@ class TaskGraphBuilder(object):
|
|
461
462
|
if need_n is None:
|
462
463
|
raise Exception("Failed to find need %s" % need.name)
|
463
464
|
node.needs.append((need_n, False))
|
464
|
-
self._log.debug("<-- _gatherNeeds %s" % task_t.name)
|
465
|
+
self._log.debug("<-- _gatherNeeds %s (%d)" % (task_t.name, len(node.needs)))
|
465
466
|
|
466
467
|
def error(self, msg, loc=None):
|
467
468
|
if loc is not None:
|
@@ -21,7 +21,7 @@
|
|
21
21
|
#****************************************************************************
|
22
22
|
import dataclasses as dc
|
23
23
|
from pydantic import BaseModel
|
24
|
-
from .task_def import ConsumesE
|
24
|
+
from .task_def import ConsumesE, PassthroughE, PassthroughE, PassthroughE, PassthroughE
|
25
25
|
from .task_node import TaskNode
|
26
26
|
from .task_node_leaf import TaskNodeLeaf
|
27
27
|
from .task_data import TaskDataResult, TaskDataInput, TaskDataOutput
|
@@ -44,7 +44,9 @@ class TaskNodeCompound(TaskNode):
|
|
44
44
|
self.input = TaskNodeLeaf(
|
45
45
|
name=self.name + ".in",
|
46
46
|
srcdir=self.srcdir,
|
47
|
-
params=NullParams()
|
47
|
+
params=NullParams(),
|
48
|
+
consumes=ConsumesE.No,
|
49
|
+
passthrough=PassthroughE.All)
|
48
50
|
self.input.task = null_run
|
49
51
|
self.tasks.append(self.input)
|
50
52
|
|
@@ -55,7 +57,7 @@ class TaskNodeCompound(TaskNode):
|
|
55
57
|
return self.input
|
56
58
|
|
57
59
|
async def do_run(self,
|
58
|
-
|
60
|
+
ctxt : TaskRunner,
|
59
61
|
rundir,
|
60
62
|
memento : Any=None) -> TaskDataResult:
|
61
63
|
self._log.debug("Compound task %s (%d)" % (self.name, len(self.needs)))
|
@@ -90,6 +92,9 @@ class TaskNodeCompound(TaskNode):
|
|
90
92
|
changed=changed,
|
91
93
|
output=output,
|
92
94
|
dep_m={})
|
95
|
+
|
96
|
+
# if self.save_exec_data:
|
97
|
+
# self._save_exec_data(rundir, ctxt, self.input.input)
|
93
98
|
|
94
99
|
return 0
|
95
100
|
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_compound_task.py
RENAMED
@@ -275,3 +275,104 @@ package:
|
|
275
275
|
assert output.output[0].src == 'foo.entry.glob_txt'
|
276
276
|
assert output.output[0].type == 'std.FileSet'
|
277
277
|
assert len(output.output[0].files) == 1
|
278
|
+
|
279
|
+
def test_compound_input_auto_bind(tmpdir):
|
280
|
+
flow_dv = """
|
281
|
+
package:
|
282
|
+
name: foo
|
283
|
+
|
284
|
+
tasks:
|
285
|
+
- name: TopLevelTask
|
286
|
+
uses: std.CreateFile
|
287
|
+
with:
|
288
|
+
filename: TopLevelTask.txt
|
289
|
+
content: "TopLevelTask.txt"
|
290
|
+
|
291
|
+
- name: entry
|
292
|
+
needs: [TopLevelTask]
|
293
|
+
body:
|
294
|
+
- name: mytask
|
295
|
+
passthrough: all
|
296
|
+
"""
|
297
|
+
|
298
|
+
rundir = os.path.join(tmpdir)
|
299
|
+
with open(os.path.join(rundir, "flow.dv"), "w") as fp:
|
300
|
+
fp.write(flow_dv)
|
301
|
+
|
302
|
+
marker_collector = MarkerCollector()
|
303
|
+
pkg_def = PackageLoader(
|
304
|
+
marker_listeners=[marker_collector]).load(
|
305
|
+
os.path.join(rundir, "flow.dv"))
|
306
|
+
assert len(marker_collector.markers) == 0
|
307
|
+
|
308
|
+
builder = TaskGraphBuilder(
|
309
|
+
root_pkg=pkg_def,
|
310
|
+
rundir=os.path.join(rundir, "rundir"))
|
311
|
+
runner = TaskSetRunner(rundir=os.path.join(rundir, "rundir"))
|
312
|
+
|
313
|
+
t1 = builder.mkTaskNode("foo.entry")
|
314
|
+
|
315
|
+
TaskGraphDotWriter().write(
|
316
|
+
t1,
|
317
|
+
os.path.join(rundir, "graph.dot"))
|
318
|
+
|
319
|
+
output = asyncio.run(runner.run(t1))
|
320
|
+
|
321
|
+
assert runner.status == 0
|
322
|
+
assert len(output.output) == 1
|
323
|
+
assert output.output[0].src == 'foo.TopLevelTask'
|
324
|
+
assert output.output[0].type == 'std.FileSet'
|
325
|
+
assert len(output.output[0].files) == 1
|
326
|
+
|
327
|
+
def test_compound_input_auto_bind_consumes_all(tmpdir):
|
328
|
+
flow_dv = """
|
329
|
+
package:
|
330
|
+
name: foo
|
331
|
+
|
332
|
+
tasks:
|
333
|
+
- name: TopLevelTask
|
334
|
+
uses: std.CreateFile
|
335
|
+
with:
|
336
|
+
filename: TopLevelTask.txt
|
337
|
+
content: "TopLevelTask.txt"
|
338
|
+
|
339
|
+
- name: entry
|
340
|
+
needs: [TopLevelTask]
|
341
|
+
body:
|
342
|
+
- name: mytask
|
343
|
+
shell: pytask
|
344
|
+
run: |
|
345
|
+
with open(os.path.join(input.rundir, "mytask.txt"), "w") as fp:
|
346
|
+
fp.write("inputs: %d" % len(input.inputs))
|
347
|
+
"""
|
348
|
+
|
349
|
+
rundir = os.path.join(tmpdir)
|
350
|
+
with open(os.path.join(rundir, "flow.dv"), "w") as fp:
|
351
|
+
fp.write(flow_dv)
|
352
|
+
|
353
|
+
marker_collector = MarkerCollector()
|
354
|
+
pkg_def = PackageLoader(
|
355
|
+
marker_listeners=[marker_collector]).load(
|
356
|
+
os.path.join(rundir, "flow.dv"))
|
357
|
+
assert len(marker_collector.markers) == 0
|
358
|
+
|
359
|
+
builder = TaskGraphBuilder(
|
360
|
+
root_pkg=pkg_def,
|
361
|
+
rundir=os.path.join(rundir, "rundir"))
|
362
|
+
runner = TaskSetRunner(rundir=os.path.join(rundir, "rundir"))
|
363
|
+
|
364
|
+
t1 = builder.mkTaskNode("foo.entry")
|
365
|
+
|
366
|
+
TaskGraphDotWriter().write(
|
367
|
+
t1,
|
368
|
+
os.path.join(rundir, "graph.dot"))
|
369
|
+
|
370
|
+
output = asyncio.run(runner.run(t1))
|
371
|
+
|
372
|
+
assert runner.status == 0
|
373
|
+
# No output, since the inputting task consumes all
|
374
|
+
assert len(output.output) == 0
|
375
|
+
|
376
|
+
assert os.path.isfile(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"))
|
377
|
+
content = open(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"), "r").read().strip()
|
378
|
+
assert content == "inputs: 1"
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_graph.py
RENAMED
@@ -195,6 +195,6 @@ package:
|
|
195
195
|
assert runner.status == 0
|
196
196
|
for out in output.output:
|
197
197
|
print("Out: %s" % str(out))
|
198
|
-
assert len(output.output) ==
|
198
|
+
assert len(output.output) == 1
|
199
199
|
assert output.output[0].type == 'std.FileSet'
|
200
200
|
assert len(output.output[0].files) == 1
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/.github/workflows/ci.yml
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
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/__init__.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/__main__.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cmds/cmd_run.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cmds/cmd_show.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/cond_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/config.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/config_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/eval_jq.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/exec_callable.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/expr_eval.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/expr_parser.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/ext_rgy.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/extend_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/fragment_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/listener_list.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/need_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/null_callable.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/package_def.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/param.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/param_def.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/parser.out
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/parsetab.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/root_package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/share/flow.json
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/srcinfo.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/exec.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/flow.dv
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/message.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/std/task_null.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_data.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_def.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_node.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
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_output.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_run_ctxt.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/task_runner.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/type_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/__init__.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/__main__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/src/dv_flow/mgr/util/util.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/system/test_depends.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/system/test_stdlib.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
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj1/proj1.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj2/proj2.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/data/proj3/proj3.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/marker_collector.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/task_listener_test.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_data_merge.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_dataflow.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_expr_eval.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_expr_parser.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_imports.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_load_package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_markers.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_parse.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pyclass.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pyexec.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_pytask_smoke.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_smoke copy.sav
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_smoke.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14420805951a1 → dv_flow_mgr-1.0.0.14457729129a1}/tests/unit/test_stdlib.py
RENAMED
File without changes
|