dv-flow-mgr 1.0.0.14457729129a1__tar.gz → 1.0.0.14473683177a1__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 → dv_flow_mgr-1.0.0.14473683177a1}/PKG-INFO +1 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/pyproject.toml +1 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/__main__.py +6 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cmds/cmd_graph.py +9 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cmds/cmd_run.py +7 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_graph_builder.py +9 -6
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_compound_task.py +57 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_graph.py +1 -1
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/.env +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/.github/workflows/ci.yml +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/.gitignore +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/.vscode/settings.json +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/LICENSE +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/README.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/ChangeLog.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/KeyArchitecture.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Makefile +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Notes.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Roadmap.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/RundirLayout.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Stages.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Steps.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Tasks.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/TypesAndDefs.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/Usecases.md +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/cmdref.rst +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/conf.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/index.rst +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/pytask_api.rst +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/docs/quickstart.rst +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/fwperiph_dma.pss +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/ivpm.yaml +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/setup.cfg +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cond_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/config.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/config_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/eval_jq.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/exec_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/expr_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/expr_parser.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/ext_rgy.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/extend_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/fragment_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/listener_list.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/need_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/null_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/out +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package_loader.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/param.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/param_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/parser.out +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/parsetab.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/pytask_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/root_package.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/share/flow.json +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/shell_callable.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/srcinfo.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/create_file.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/exec.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/flow.dv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/message.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/task_null.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_data.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_compound.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_node_leaf.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_output.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_run_ctxt.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_runner.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/type.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/type_def.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/__main__.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/util.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/yaml_srcinfo_loader.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/examples/example1/example1.flow +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/system/test_depends.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/system/test_pkg_discovery.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/system/test_stdlib.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/__init__.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj1/proj1.dfs +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj2/proj2.dfs +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj3/proj3.dfs +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/marker_collector.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/task_listener_test.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_data_merge.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_dataflow.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_deps.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_expr_eval.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_expr_parser.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_fileset.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_imports.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_load_package.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_markers.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_parse.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pyclass.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pyexec.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pytask_smoke.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_smoke copy.sav +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_smoke.py +0 -0
- {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_stdlib.py +0 -0
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/__main__.py
RENAMED
@@ -21,6 +21,7 @@
|
|
21
21
|
#****************************************************************************
|
22
22
|
import argparse
|
23
23
|
import logging
|
24
|
+
import os
|
24
25
|
from .cmds.cmd_graph import CmdGraph
|
25
26
|
from .cmds.cmd_run import CmdRun
|
26
27
|
from .cmds.cmd_show import CmdShow
|
@@ -45,6 +46,8 @@ def get_parser():
|
|
45
46
|
graph_parser.add_argument("task", nargs="?", help="task to graph")
|
46
47
|
graph_parser.add_argument("-f", "--format", help="Specifies the output format",
|
47
48
|
default="dot")
|
49
|
+
graph_parser.add_argument("--root",
|
50
|
+
help="Specifies the root directory for the flow")
|
48
51
|
graph_parser.add_argument("-o", "--output",
|
49
52
|
help="Specifies the output file",
|
50
53
|
default="-")
|
@@ -55,9 +58,11 @@ def get_parser():
|
|
55
58
|
run_parser.add_argument("-j",
|
56
59
|
help="Specifies degree of parallelism. Uses all cores by default",
|
57
60
|
type=int, default=-1)
|
58
|
-
run_parser.add_argument("
|
61
|
+
run_parser.add_argument("--clean",
|
59
62
|
action="store_true",
|
60
63
|
help="Cleans the rundir before running")
|
64
|
+
run_parser.add_argument("--root",
|
65
|
+
help="Specifies the root directory for the flow")
|
61
66
|
run_parser.set_defaults(func=CmdRun())
|
62
67
|
|
63
68
|
show_parser = subparsers.add_parser('show',
|
@@ -35,8 +35,16 @@ class CmdGraph(object):
|
|
35
35
|
|
36
36
|
def __call__(self, args):
|
37
37
|
|
38
|
+
if args.root is not None:
|
39
|
+
rootdir = args.root
|
40
|
+
elif "DV_FLOW_ROOT" in os.environ.keys():
|
41
|
+
rootdir = os.environ["DFM_ROOT"]
|
42
|
+
else:
|
43
|
+
rootdir = os.getcwd()
|
44
|
+
|
45
|
+
|
38
46
|
# First, find the project we're working with
|
39
|
-
pkg = loadProjPkgDef(
|
47
|
+
pkg = loadProjPkgDef(rootdir)
|
40
48
|
|
41
49
|
if pkg is None:
|
42
50
|
raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cmds/cmd_run.py
RENAMED
@@ -33,10 +33,16 @@ class CmdRun(object):
|
|
33
33
|
_log : ClassVar = logging.getLogger("CmdRun")
|
34
34
|
|
35
35
|
def __call__(self, args):
|
36
|
+
if args.root is not None:
|
37
|
+
rootdir = args.root
|
38
|
+
elif "DV_FLOW_ROOT" in os.environ.keys():
|
39
|
+
rootdir = os.environ["DFM_ROOT"]
|
40
|
+
else:
|
41
|
+
rootdir = os.getcwd()
|
36
42
|
|
37
43
|
# First, find the project we're working with
|
38
44
|
listener = TaskListenerLog()
|
39
|
-
pkg = loadProjPkgDef(
|
45
|
+
pkg = loadProjPkgDef(rootdir, listener=listener)
|
40
46
|
|
41
47
|
if pkg is None:
|
42
48
|
raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
|
@@ -389,9 +389,9 @@ class TaskGraphBuilder(object):
|
|
389
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
|
-
self._log.debug("Add need %s" % need_n.name)
|
393
392
|
if need_n is None:
|
394
393
|
raise Exception("Failed to find need %s" % need.name)
|
394
|
+
self._log.debug("Add need %s with %d dependencies" % (need_n.name, len(need_n.needs)))
|
395
395
|
node.input.needs.append((need_n, False))
|
396
396
|
# node.needs.append((need_n, False))
|
397
397
|
self._log.debug("<-- processing needs")
|
@@ -415,10 +415,13 @@ class TaskGraphBuilder(object):
|
|
415
415
|
self._log.debug("Process node %s" % t.name)
|
416
416
|
|
417
417
|
referenced = None
|
418
|
-
for tt in
|
419
|
-
|
420
|
-
|
421
|
-
|
418
|
+
for tt in node.tasks:
|
419
|
+
self._log.debug(" Checking task %s" % tt.name)
|
420
|
+
for tnn,_ in tt.needs:
|
421
|
+
self._log.debug(" Check against need %s" % tnn.name)
|
422
|
+
if tn == tnn:
|
423
|
+
referenced = tnn
|
424
|
+
break
|
422
425
|
|
423
426
|
refs_internal = None
|
424
427
|
# Assess how this task is connected to others in the compound node
|
@@ -440,7 +443,7 @@ class TaskGraphBuilder(object):
|
|
440
443
|
self._log.debug("Node %s references internal node %s" % (t.name, refs_internal.name))
|
441
444
|
|
442
445
|
if referenced is not None:
|
443
|
-
self._log.debug("Node %s has internal needs" % tn.name)
|
446
|
+
self._log.debug("Node %s has internal needs: %s" % (tn.name, referenced.name))
|
444
447
|
else:
|
445
448
|
# Add this task as a dependency of the output
|
446
449
|
# node (the root one)
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_compound_task.py
RENAMED
@@ -376,3 +376,60 @@ package:
|
|
376
376
|
assert os.path.isfile(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"))
|
377
377
|
content = open(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"), "r").read().strip()
|
378
378
|
assert content == "inputs: 1"
|
379
|
+
|
380
|
+
def test_compound_input_auto_bind_chain(tmpdir):
|
381
|
+
flow_dv = """
|
382
|
+
package:
|
383
|
+
name: foo
|
384
|
+
|
385
|
+
tasks:
|
386
|
+
- name: TopLevelTask
|
387
|
+
uses: std.CreateFile
|
388
|
+
with:
|
389
|
+
filename: TopLevelTask.txt
|
390
|
+
content: "TopLevelTask.txt"
|
391
|
+
|
392
|
+
- name: entry
|
393
|
+
needs: [TopLevelTask]
|
394
|
+
body:
|
395
|
+
- name: mytask1
|
396
|
+
passthrough: all
|
397
|
+
- name: mytask2
|
398
|
+
passthrough: all
|
399
|
+
needs: [mytask1]
|
400
|
+
- name: mytask3
|
401
|
+
passthrough: all
|
402
|
+
needs: [mytask2]
|
403
|
+
- name: mytask4
|
404
|
+
passthrough: all
|
405
|
+
needs: [mytask3]
|
406
|
+
"""
|
407
|
+
|
408
|
+
rundir = os.path.join(tmpdir)
|
409
|
+
with open(os.path.join(rundir, "flow.dv"), "w") as fp:
|
410
|
+
fp.write(flow_dv)
|
411
|
+
|
412
|
+
marker_collector = MarkerCollector()
|
413
|
+
pkg_def = PackageLoader(
|
414
|
+
marker_listeners=[marker_collector]).load(
|
415
|
+
os.path.join(rundir, "flow.dv"))
|
416
|
+
assert len(marker_collector.markers) == 0
|
417
|
+
|
418
|
+
builder = TaskGraphBuilder(
|
419
|
+
root_pkg=pkg_def,
|
420
|
+
rundir=os.path.join(rundir, "rundir"))
|
421
|
+
runner = TaskSetRunner(rundir=os.path.join(rundir, "rundir"))
|
422
|
+
|
423
|
+
t1 = builder.mkTaskNode("foo.entry")
|
424
|
+
|
425
|
+
TaskGraphDotWriter().write(
|
426
|
+
t1,
|
427
|
+
os.path.join(rundir, "graph.dot"))
|
428
|
+
|
429
|
+
output = asyncio.run(runner.run(t1))
|
430
|
+
|
431
|
+
assert runner.status == 0
|
432
|
+
assert len(output.output) == 1
|
433
|
+
assert output.output[0].src == 'foo.TopLevelTask'
|
434
|
+
assert output.output[0].type == 'std.FileSet'
|
435
|
+
assert len(output.output[0].files) == 1
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/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) == 2
|
199
199
|
assert output.output[0].type == 'std.FileSet'
|
200
200
|
assert len(output.output[0].files) == 1
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/.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
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/__init__.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cmds/cmd_show.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/cond_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/config.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/config_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/eval_jq.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/exec_callable.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/expr_eval.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/expr_parser.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/ext_rgy.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/extend_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/fragment_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/listener_list.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/need_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/null_callable.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/package_def.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/param.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/param_def.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/parser.out
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/parsetab.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/root_package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/share/flow.json
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/srcinfo.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/exec.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/flow.dv
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/message.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/std/task_null.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_data.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_def.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/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
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_output.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_run_ctxt.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/task_runner.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/type_def.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/__init__.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/src/dv_flow/mgr/util/__main__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/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
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/system/test_depends.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/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.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj1/proj1.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj2/proj2.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/data/proj3/proj3.dfs
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/marker_collector.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/task_listener_test.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_data_merge.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_dataflow.py
RENAMED
File without changes
|
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_expr_eval.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_expr_parser.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_fileset.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_imports.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_load_package.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_markers.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_parse.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pyclass.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pyexec.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_pytask_smoke.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_smoke copy.sav
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_smoke.py
RENAMED
File without changes
|
{dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14473683177a1}/tests/unit/test_stdlib.py
RENAMED
File without changes
|