dv-flow-mgr 0.0.1.13862522550a1__tar.gz → 0.0.1.13867752514a1__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-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/PKG-INFO +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/pyproject.toml +1 -1
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/__init__.py +31 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/__main__.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/cmds/cmd_run.py +21 -0
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/eval_jq.py +36 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/expr_eval.py +21 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/expr_parser.py +22 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/fileset.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/fragment_def.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/package.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/package_def.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/package_import_spec.py +1 -1
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/param.py +40 -0
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/param_def.py +44 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/param_ref_eval.py +21 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/pkg_rgy.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/std/create_file.py +21 -0
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/std/exec.py +40 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/std/fileset.py +21 -1
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/std/message.py +26 -0
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/std/task_null.py +30 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_ctor.py +22 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_data.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_def.py +7 -2
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/task_exec_data.py +43 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_graph_builder.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_graph_runner.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_graph_runner_local.py +1 -1
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/task_impl_data.py +37 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_listener_log.py +21 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_memento.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_node.py +58 -40
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/task_output.py +28 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_params_ctor.py +21 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_runner.py +24 -3
- dv_flow_mgr-0.0.1.13867752514a1/src/dv_flow/mgr/type_def.py +30 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/util.py +1 -1
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/__init__.py +0 -11
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/eval_jq.py +0 -16
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/param.py +0 -20
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/param_def.py +0 -24
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/std/exec.py +0 -19
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/std/message.py +0 -6
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/std/task_null.py +0 -9
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/task_exec_data.py +0 -22
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/task_impl_data.py +0 -17
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/task_output.py +0 -7
- dv_flow_mgr-0.0.1.13862522550a1/src/dv_flow/mgr/type_def.py +0 -10
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/.github/workflows/ci.yml +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/.gitignore +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/.vscode/settings.json +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/LICENSE +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/README.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/KeyArchitecture.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Makefile +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Notes.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Roadmap.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/RundirLayout.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Stages.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Steps.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Tasks.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/TypesAndDefs.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/Usecases.md +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/conf.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/index.rst +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/intro.rst +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/quickstart.rst +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/docs/reference.rst +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/fwperiph_dma.pss +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/ivpm.yaml +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/setup.cfg +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/out +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/parsetab.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/share/flow.json +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/std/flow.dv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/type.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/examples/example1/example1.flow +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/system/test_depends.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/system/test_pkg_discovery.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/system/test_stdlib.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/__init__.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/proj1/proj1.dfs +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/proj2/proj2.dfs +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/data/proj3/proj3.dfs +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_data_merge.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_expr_eval.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_expr_parser.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_fileset.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_imports.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_markers.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_parse.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_pyclass.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_pytask_smoke.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_smoke copy.sav +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_smoke.py +0 -0
- {dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/tests/unit/test_stdlib.py +0 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* __init__.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
from .package_def import *
|
23
|
+
from .pkg_rgy import PkgRgy
|
24
|
+
from .task_graph_runner import *
|
25
|
+
from .task import *
|
26
|
+
from .task_data import *
|
27
|
+
from .task_graph_builder import TaskGraphBuilder
|
28
|
+
from .task_node import task
|
29
|
+
from .task_runner import TaskSetRunner
|
30
|
+
from .task_listener_log import TaskListenerLog
|
31
|
+
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/__main__.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* __main__.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/cmds/cmd_run.py
RENAMED
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* cmd_run.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import asyncio
|
2
23
|
import os
|
3
24
|
import logging
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* eval_jq.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
import jq
|
23
|
+
|
24
|
+
def eval_jq(input, args):
|
25
|
+
if len(args) != 1:
|
26
|
+
raise Exception("jq requires a single argument")
|
27
|
+
|
28
|
+
filt = jq.compile(args[0])
|
29
|
+
|
30
|
+
if type(input) == str:
|
31
|
+
ret = filt.input_text(input).text()
|
32
|
+
else:
|
33
|
+
ret = filt.input_value(input).text()
|
34
|
+
|
35
|
+
|
36
|
+
return ret
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/expr_eval.py
RENAMED
@@ -1,4 +1,24 @@
|
|
1
|
-
|
1
|
+
#****************************************************************************
|
2
|
+
#* expr_eval.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
2
22
|
import dataclasses as dc
|
3
23
|
import json
|
4
24
|
from typing import Any, Callable, Dict, List
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/expr_parser.py
RENAMED
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* expr_parser.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import dataclasses as dc
|
2
23
|
import enum
|
3
24
|
import ply.lex as lex
|
@@ -236,4 +257,4 @@ class ExprParser(object):
|
|
236
257
|
|
237
258
|
def parse(self, input):
|
238
259
|
return self.parser.parse(input, lexer=self.lexer)
|
239
|
-
|
260
|
+
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/fileset.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* fileset.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/fragment_def.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* fragment_def.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/package.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* package.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/package_def.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* package_def.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* package_import_spec.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* param.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
from pydantic import BaseModel
|
23
|
+
import pydantic.dataclasses as pdc
|
24
|
+
from typing import Any, List, Union
|
25
|
+
|
26
|
+
class ParamMeta(type):
|
27
|
+
def __getitem__(self, T):
|
28
|
+
ret = Union[T, Param]
|
29
|
+
return ret
|
30
|
+
|
31
|
+
class ParamT(metaclass=ParamMeta):
|
32
|
+
pass
|
33
|
+
|
34
|
+
class Param(BaseModel):
|
35
|
+
append : Union[Any,List] = pdc.Field(default=None)
|
36
|
+
prepend : Union[Any,List] = pdc.Field(default=None)
|
37
|
+
append_path : Union[Any,List] = pdc.Field(default=None, alias="append-path")
|
38
|
+
prepend_path : Union[Any,List] = pdc.Field(default=None, alias="prepend-path")
|
39
|
+
|
40
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* param_def.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
from typing import Any, List, Union
|
23
|
+
from pydantic import BaseModel, Field
|
24
|
+
|
25
|
+
class ListType(BaseModel):
|
26
|
+
item : Union[str, 'ComplexType']
|
27
|
+
|
28
|
+
class MapType(BaseModel):
|
29
|
+
key : Union[str, 'ComplexType']
|
30
|
+
item : Union[str, 'ComplexType']
|
31
|
+
|
32
|
+
class ComplexType(BaseModel):
|
33
|
+
list : Union[ListType, None] = None
|
34
|
+
map : Union[MapType, None] = None
|
35
|
+
|
36
|
+
class ParamDef(BaseModel):
|
37
|
+
doc : str = None
|
38
|
+
type : Union[str, 'ComplexType'] = None
|
39
|
+
value : Union[Any, None] = None
|
40
|
+
append : Union[Any, None] = None
|
41
|
+
prepend : Union[Any, None] = None
|
42
|
+
path_append : Union[Any, None] = Field(alias="path-append", default=None)
|
43
|
+
path_prepend : Union[Any, None] = Field(alias="path-prepend", default=None)
|
44
|
+
|
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* param_ref_eval.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import dataclasses as dc
|
2
23
|
import json
|
3
24
|
from .expr_eval import ExprEval
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/pkg_rgy.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* pkg_rgy.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* create_file.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import os
|
2
23
|
import hashlib
|
3
24
|
import logging
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* exec.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
import asyncio
|
23
|
+
import logging
|
24
|
+
from dv_flow.mgr import TaskDataResult
|
25
|
+
|
26
|
+
_log = logging.getLogger("Exec")
|
27
|
+
|
28
|
+
async def Exec(runner, input) -> TaskDataResult:
|
29
|
+
_log.debug("TaskExec run: %s: cmd=%s" % (input.name, input.params.command))
|
30
|
+
|
31
|
+
|
32
|
+
proc = await asyncio.create_subprocess_shell(
|
33
|
+
input.params.command,
|
34
|
+
stdout=asyncio.subprocess.PIPE,
|
35
|
+
stderr=asyncio.subprocess.PIPE)
|
36
|
+
|
37
|
+
await proc.wait()
|
38
|
+
|
39
|
+
return TaskDataResult()
|
40
|
+
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/std/fileset.py
RENAMED
@@ -1,4 +1,24 @@
|
|
1
|
-
|
1
|
+
#****************************************************************************
|
2
|
+
#* fileset.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
2
22
|
import os
|
3
23
|
import fnmatch
|
4
24
|
import glob
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* message.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
from dv_flow.mgr import Task, TaskDataResult
|
23
|
+
|
24
|
+
async def Message(runner, input) -> TaskDataResult:
|
25
|
+
print("%s: %s" % (input.name, input.params.msg), flush=True)
|
26
|
+
return TaskDataResult()
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* task_null_params.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
from pydantic import BaseModel
|
23
|
+
from ..task_data import TaskDataResult
|
24
|
+
|
25
|
+
class TaskNullParams(BaseModel):
|
26
|
+
pass
|
27
|
+
|
28
|
+
async def TaskNull(runner, input) -> TaskDataResult:
|
29
|
+
return TaskDataResult()
|
30
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_ctor.py
RENAMED
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* task_ctor.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import os
|
2
23
|
import json
|
3
24
|
import dataclasses as dc
|
@@ -40,4 +61,4 @@ class TaskCtor(object):
|
|
40
61
|
|
41
62
|
def applyParams(self, params):
|
42
63
|
if self.uses is not None:
|
43
|
-
self.uses.applyParams(params)
|
64
|
+
self.uses.applyParams(params)
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_data.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task_data.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
{dv_flow_mgr-0.0.1.13862522550a1 → dv_flow_mgr-0.0.1.13867752514a1}/src/dv_flow/mgr/task_def.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task_def.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -30,6 +30,11 @@ from .task_output import TaskOutput
|
|
30
30
|
class TaskSpec(object):
|
31
31
|
name : str
|
32
32
|
|
33
|
+
@dc.dataclass
|
34
|
+
class NeedSpec(object):
|
35
|
+
name : str
|
36
|
+
block : bool = False
|
37
|
+
|
33
38
|
class TaskDef(BaseModel):
|
34
39
|
"""Holds definition information (ie the YAML view) for a task"""
|
35
40
|
name : str
|
@@ -39,7 +44,7 @@ class TaskDef(BaseModel):
|
|
39
44
|
pytask : str = dc.Field(default=None)
|
40
45
|
desc : str = dc.Field(default="")
|
41
46
|
doc : str = dc.Field(default="")
|
42
|
-
needs : List[Union[str,TaskSpec]] = dc.Field(default_factory=list, alias="needs")
|
47
|
+
needs : List[Union[str,NeedSpec,TaskSpec]] = dc.Field(default_factory=list, alias="needs")
|
43
48
|
params: Dict[str,Union[str,list,ParamDef]] = dc.Field(default_factory=dict, alias="with")
|
44
49
|
passthrough: bool = dc.Field(default=False)
|
45
50
|
consumes : List[Any] = dc.Field(default_factory=list)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* task_exec_data.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
22
|
+
import pydantic.dataclasses as dc
|
23
|
+
from pydantic import BaseModel
|
24
|
+
from typing import Any, Dict, List
|
25
|
+
|
26
|
+
|
27
|
+
class TaskExecData(BaseModel):
|
28
|
+
"""Data from a single exection of a task"""
|
29
|
+
name : str
|
30
|
+
start : str
|
31
|
+
finish : str
|
32
|
+
status : int
|
33
|
+
memento : Any
|
34
|
+
markers : List[Any]
|
35
|
+
|
36
|
+
class FlowExecData(BaseModel):
|
37
|
+
"""
|
38
|
+
Data from multiple tasks executions. 'info' holds information
|
39
|
+
across multiple flow invocations. 'tasks' holds the names of
|
40
|
+
tasks executed in the most-recent invocation.
|
41
|
+
"""
|
42
|
+
info : Dict[str, TaskExecData] = dc.Field(default_factory=dict)
|
43
|
+
tasks : List[str] = dc.Field(default_factory=list)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task_graph_builder.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task_graph_runner.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#****************************************************************************
|
2
2
|
#* task_graph_runner_local.py
|
3
3
|
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
4
|
+
#* Copyright 2023-2025 Matthew Ballance and Contributors
|
5
5
|
#*
|
6
6
|
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
7
|
#* not use this file except in compliance with the License.
|