rainbow-rb-flow-manager 0.0.9.dev43__tar.gz → 0.0.9.dev44__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.
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/PKG-INFO +7 -7
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/pyproject.toml +7 -7
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/context.py +22 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/01_multiple_tasks.py +4 -5
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/02_single_task.py +5 -6
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/03_post_tree.py +0 -1
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/04_sub_task.py +1 -1
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/05_event_task.py +1 -2
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/subtasks/gripper_subtask.py +0 -1
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow_rb_flow_manager.egg-info/PKG-INFO +7 -7
- rainbow_rb_flow_manager-0.0.9.dev44/src/rainbow_rb_flow_manager.egg-info/requires.txt +6 -0
- rainbow_rb_flow_manager-0.0.9.dev43/src/rainbow_rb_flow_manager.egg-info/requires.txt +0 -6
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/README.md +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/setup.cfg +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/SKILL.md +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/internals.md +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/testing.md +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/__init__.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/controller/base_controller.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/controller/zenoh_controller.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/README.md +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/__pycache__/05_event_task.cpython-312.pyc +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/__pycache__/_common.cpython-312.pyc +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/examples/subtasks/__pycache__/gripper_subtask.cpython-312.pyc +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/exception.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/executor.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/global_resolver.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/py.typed +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/schema.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/step.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow/rb_flow_manager/utils.py +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow_rb_flow_manager.egg-info/SOURCES.txt +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow_rb_flow_manager.egg-info/dependency_links.txt +0 -0
- {rainbow_rb_flow_manager-0.0.9.dev43 → rainbow_rb_flow_manager-0.0.9.dev44}/src/rainbow_rb_flow_manager.egg-info/top_level.txt +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rainbow-rb-flow-manager
|
|
3
|
-
Version: 0.0.9.
|
|
3
|
+
Version: 0.0.9.dev44
|
|
4
4
|
Summary: Rainbow Python Flow Manager
|
|
5
5
|
Author-email: Derek <dfd1123@rainbow-robotics.com>
|
|
6
6
|
Requires-Python: >=3.11
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: rainbow-rb-utils==0.0.9.
|
|
9
|
-
Requires-Dist: rainbow-rb-zenoh==0.0.9.
|
|
10
|
-
Requires-Dist: rainbow-rb-flat-buffers==0.0.9.
|
|
11
|
-
Requires-Dist: rainbow-rb-schemas==0.0.9.
|
|
12
|
-
Requires-Dist: rainbow-rb-sdk==0.0.9.
|
|
13
|
-
Requires-Dist: rainbow-rb-log==0.0.9.
|
|
8
|
+
Requires-Dist: rainbow-rb-utils==0.0.9.dev44
|
|
9
|
+
Requires-Dist: rainbow-rb-zenoh==0.0.9.dev44
|
|
10
|
+
Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev44
|
|
11
|
+
Requires-Dist: rainbow-rb-schemas==0.0.9.dev44
|
|
12
|
+
Requires-Dist: rainbow-rb-sdk==0.0.9.dev44
|
|
13
|
+
Requires-Dist: rainbow-rb-log==0.0.9.dev44
|
|
14
14
|
|
|
15
15
|
# rb_flow_manager 사용 설명서
|
|
16
16
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rainbow-rb-flow-manager"
|
|
7
|
-
version = "0.0.9.
|
|
7
|
+
version = "0.0.9.dev44"
|
|
8
8
|
requires-python = ">=3.11"
|
|
9
9
|
description = "Rainbow Python Flow Manager"
|
|
10
10
|
authors = [
|
|
@@ -13,12 +13,12 @@ authors = [
|
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
|
|
15
15
|
dependencies = [
|
|
16
|
-
"rainbow-rb-utils==0.0.9.
|
|
17
|
-
"rainbow-rb-zenoh==0.0.9.
|
|
18
|
-
"rainbow-rb-flat-buffers==0.0.9.
|
|
19
|
-
"rainbow-rb-schemas==0.0.9.
|
|
20
|
-
"rainbow-rb-sdk==0.0.9.
|
|
21
|
-
"rainbow-rb-log==0.0.9.
|
|
16
|
+
"rainbow-rb-utils==0.0.9.dev44",
|
|
17
|
+
"rainbow-rb-zenoh==0.0.9.dev44",
|
|
18
|
+
"rainbow-rb-flat-buffers==0.0.9.dev44",
|
|
19
|
+
"rainbow-rb-schemas==0.0.9.dev44",
|
|
20
|
+
"rainbow-rb-sdk==0.0.9.dev44",
|
|
21
|
+
"rainbow-rb-log==0.0.9.dev44",
|
|
22
22
|
]
|
|
23
23
|
|
|
24
24
|
[tool.setuptools]
|
|
@@ -19,6 +19,7 @@ from rainbow.rb_sdk.amr import RBAmrSDK
|
|
|
19
19
|
from rainbow.rb_sdk.base import RBBaseSDK
|
|
20
20
|
from rainbow.rb_sdk.manipulate import RBManipulateSDK
|
|
21
21
|
from rainbow.rb_sdk.program_sdk.program import RBProgramSDK
|
|
22
|
+
from rainbow.rb_utils.flow_manager import eval_value
|
|
22
23
|
from rainbow.rb_utils.parser import t_to_dict
|
|
23
24
|
|
|
24
25
|
from .exception import BreakFolder, StopExecution, SubTaskHaltException
|
|
@@ -95,6 +96,15 @@ class ExecutionContext:
|
|
|
95
96
|
normalized[key] = {"value": payload.get("value"), "type": var_type}
|
|
96
97
|
return normalized
|
|
97
98
|
|
|
99
|
+
def eval_value(self, value: Any, use_get_var: bool = False):
|
|
100
|
+
""" eval_value를 PyFM context 내재화 """
|
|
101
|
+
return eval_value(
|
|
102
|
+
value,
|
|
103
|
+
variables=self.variables,
|
|
104
|
+
get_global_variable=self.get_global_variable,
|
|
105
|
+
get_var=self.get_var if use_get_var else None
|
|
106
|
+
)
|
|
107
|
+
|
|
98
108
|
def update_vars_to_state_dict(self):
|
|
99
109
|
owner_state = self._resolve_variable_owner_state()
|
|
100
110
|
current = dict(owner_state.get("variables", {}))
|
|
@@ -167,6 +177,18 @@ class ExecutionContext:
|
|
|
167
177
|
|
|
168
178
|
self.update_global_variables({var_name: res})
|
|
169
179
|
|
|
180
|
+
return res
|
|
181
|
+
elif category == "amr":
|
|
182
|
+
# SLAMNAV2랑 얘기해서 추가해야함 (RB_로 시작하는 global variable)
|
|
183
|
+
fn = self.get_sdk_function("rb_amr_sdk.status.get_variable")
|
|
184
|
+
|
|
185
|
+
res = fn(robot_model, var_name) if fn is not None else None
|
|
186
|
+
|
|
187
|
+
if res is None:
|
|
188
|
+
raise RuntimeError(f"Failed to get global variable: {var_name}")
|
|
189
|
+
|
|
190
|
+
self.update_global_variables({var_name: res})
|
|
191
|
+
|
|
170
192
|
return res
|
|
171
193
|
except Exception as e:
|
|
172
194
|
raise e
|
|
@@ -27,13 +27,12 @@ import time
|
|
|
27
27
|
|
|
28
28
|
from rainbow.rb_flow_manager.executor import ScriptExecutor # 실행 엔진
|
|
29
29
|
from rainbow.rb_flow_manager.step import (
|
|
30
|
-
ConditionStep,
|
|
31
|
-
FolderStep,
|
|
32
|
-
RepeatStep,
|
|
33
|
-
Step,
|
|
30
|
+
ConditionStep, # If / ElseIf / Else
|
|
31
|
+
FolderStep, # 논리 묶음
|
|
32
|
+
RepeatStep, # N회 반복
|
|
33
|
+
Step, # 기본 스텝
|
|
34
34
|
)
|
|
35
35
|
|
|
36
|
-
|
|
37
36
|
# ─────────────────────────────────────────────
|
|
38
37
|
# 2. 스텝 동작 함수
|
|
39
38
|
#
|
|
@@ -29,14 +29,13 @@ import time
|
|
|
29
29
|
|
|
30
30
|
from rainbow.rb_flow_manager.executor import ScriptExecutor
|
|
31
31
|
from rainbow.rb_flow_manager.step import (
|
|
32
|
-
BreakStep,
|
|
33
|
-
ConditionStep,
|
|
34
|
-
FolderStep,
|
|
35
|
-
RepeatStep,
|
|
36
|
-
Step,
|
|
32
|
+
BreakStep, # 루프 탈출
|
|
33
|
+
ConditionStep, # If / ElseIf / Else
|
|
34
|
+
FolderStep, # 논리 묶음
|
|
35
|
+
RepeatStep, # N회 반복
|
|
36
|
+
Step, # 기본 스텝
|
|
37
37
|
)
|
|
38
38
|
|
|
39
|
-
|
|
40
39
|
# ─────────────────────────────────────────────
|
|
41
40
|
# 2. 스텝 동작 함수 (반드시 모듈 최상위에 정의)
|
|
42
41
|
#
|
|
@@ -46,14 +46,13 @@ import time
|
|
|
46
46
|
|
|
47
47
|
from rainbow.rb_flow_manager.executor import ScriptExecutor
|
|
48
48
|
from rainbow.rb_flow_manager.step import (
|
|
49
|
-
CallEventStep,
|
|
49
|
+
CallEventStep, # 이벤트 서브 프로세스 호출
|
|
50
50
|
ConditionStep,
|
|
51
51
|
FolderStep,
|
|
52
52
|
RepeatStep,
|
|
53
53
|
Step,
|
|
54
54
|
)
|
|
55
55
|
|
|
56
|
-
|
|
57
56
|
# ─────────────────────────────────────────────
|
|
58
57
|
# 2. 부모 메인/post 트리 스텝 함수 (func= OK — 직렬화 경로 아님)
|
|
59
58
|
#
|
|
@@ -17,7 +17,6 @@ SubTaskStep 은 이 파일을 importlib 로 직접 로드한 뒤
|
|
|
17
17
|
# ─────────────────────────────────────────────
|
|
18
18
|
from rainbow.rb_flow_manager.step import FolderStep, RepeatStep, Step
|
|
19
19
|
|
|
20
|
-
|
|
21
20
|
# ─────────────────────────────────────────────
|
|
22
21
|
# 2. 서브태스크 스텝 함수 (모듈 최상위에 정의)
|
|
23
22
|
# ─────────────────────────────────────────────
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rainbow-rb-flow-manager
|
|
3
|
-
Version: 0.0.9.
|
|
3
|
+
Version: 0.0.9.dev44
|
|
4
4
|
Summary: Rainbow Python Flow Manager
|
|
5
5
|
Author-email: Derek <dfd1123@rainbow-robotics.com>
|
|
6
6
|
Requires-Python: >=3.11
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: rainbow-rb-utils==0.0.9.
|
|
9
|
-
Requires-Dist: rainbow-rb-zenoh==0.0.9.
|
|
10
|
-
Requires-Dist: rainbow-rb-flat-buffers==0.0.9.
|
|
11
|
-
Requires-Dist: rainbow-rb-schemas==0.0.9.
|
|
12
|
-
Requires-Dist: rainbow-rb-sdk==0.0.9.
|
|
13
|
-
Requires-Dist: rainbow-rb-log==0.0.9.
|
|
8
|
+
Requires-Dist: rainbow-rb-utils==0.0.9.dev44
|
|
9
|
+
Requires-Dist: rainbow-rb-zenoh==0.0.9.dev44
|
|
10
|
+
Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev44
|
|
11
|
+
Requires-Dist: rainbow-rb-schemas==0.0.9.dev44
|
|
12
|
+
Requires-Dist: rainbow-rb-sdk==0.0.9.dev44
|
|
13
|
+
Requires-Dist: rainbow-rb-log==0.0.9.dev44
|
|
14
14
|
|
|
15
15
|
# rb_flow_manager 사용 설명서
|
|
16
16
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|