rainbow-rb-flow-manager 0.1.2.dev1__tar.gz → 0.1.2.dev2__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.
Files changed (34) hide show
  1. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/PKG-INFO +7 -7
  2. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/pyproject.toml +7 -7
  3. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/context.py +21 -1
  4. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow_rb_flow_manager.egg-info/PKG-INFO +7 -7
  5. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow_rb_flow_manager.egg-info/SOURCES.txt +0 -3
  6. rainbow_rb_flow_manager-0.1.2.dev2/src/rainbow_rb_flow_manager.egg-info/requires.txt +6 -0
  7. rainbow_rb_flow_manager-0.1.2.dev1/src/rainbow/rb_flow_manager/examples/__pycache__/05_event_task.cpython-312.pyc +0 -0
  8. rainbow_rb_flow_manager-0.1.2.dev1/src/rainbow/rb_flow_manager/examples/__pycache__/_common.cpython-312.pyc +0 -0
  9. rainbow_rb_flow_manager-0.1.2.dev1/src/rainbow/rb_flow_manager/examples/subtasks/__pycache__/gripper_subtask.cpython-312.pyc +0 -0
  10. rainbow_rb_flow_manager-0.1.2.dev1/src/rainbow_rb_flow_manager.egg-info/requires.txt +0 -6
  11. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/README.md +0 -0
  12. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/setup.cfg +0 -0
  13. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/SKILL.md +0 -0
  14. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/internals.md +0 -0
  15. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/testing.md +0 -0
  16. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/__init__.py +0 -0
  17. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/controller/base_controller.py +0 -0
  18. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/controller/zenoh_controller.py +0 -0
  19. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/01_multiple_tasks.py +0 -0
  20. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/02_single_task.py +0 -0
  21. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/03_post_tree.py +0 -0
  22. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/04_sub_task.py +0 -0
  23. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/05_event_task.py +0 -0
  24. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/README.md +0 -0
  25. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/examples/subtasks/gripper_subtask.py +0 -0
  26. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/exception.py +0 -0
  27. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/executor.py +0 -0
  28. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/global_resolver.py +0 -0
  29. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/py.typed +0 -0
  30. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/schema.py +0 -0
  31. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/step.py +0 -0
  32. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow/rb_flow_manager/utils.py +0 -0
  33. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/src/rainbow_rb_flow_manager.egg-info/dependency_links.txt +0 -0
  34. {rainbow_rb_flow_manager-0.1.2.dev1 → rainbow_rb_flow_manager-0.1.2.dev2}/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.1.2.dev1
3
+ Version: 0.1.2.dev2
4
4
  Summary: Rainbow Python Flow Manager
5
5
  Author-email: Derek <dfd1123@rainbow-robotics.com>
6
6
  Requires-Python: <3.14,>=3.11
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: rainbow-rb-utils==0.1.2.dev1
9
- Requires-Dist: rainbow-rb-zenoh==0.1.2.dev1
10
- Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev1
11
- Requires-Dist: rainbow-rb-schemas==0.1.2.dev1
12
- Requires-Dist: rainbow-rb-sdk==0.1.2.dev1
13
- Requires-Dist: rainbow-rb-log==0.1.2.dev1
8
+ Requires-Dist: rainbow-rb-utils==0.1.2.dev2
9
+ Requires-Dist: rainbow-rb-zenoh==0.1.2.dev2
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev2
11
+ Requires-Dist: rainbow-rb-schemas==0.1.2.dev2
12
+ Requires-Dist: rainbow-rb-sdk==0.1.2.dev2
13
+ Requires-Dist: rainbow-rb-log==0.1.2.dev2
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.1.2.dev1"
7
+ version = "0.1.2.dev2"
8
8
  requires-python = ">=3.11,<3.14"
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.1.2.dev1",
17
- "rainbow-rb-zenoh==0.1.2.dev1",
18
- "rainbow-rb-flat-buffers==0.1.2.dev1",
19
- "rainbow-rb-schemas==0.1.2.dev1",
20
- "rainbow-rb-sdk==0.1.2.dev1",
21
- "rainbow-rb-log==0.1.2.dev1",
16
+ "rainbow-rb-utils==0.1.2.dev2",
17
+ "rainbow-rb-zenoh==0.1.2.dev2",
18
+ "rainbow-rb-flat-buffers==0.1.2.dev2",
19
+ "rainbow-rb-schemas==0.1.2.dev2",
20
+ "rainbow-rb-sdk==0.1.2.dev2",
21
+ "rainbow-rb-log==0.1.2.dev2",
22
22
  ]
23
23
 
24
24
  [tool.setuptools]
@@ -18,7 +18,7 @@ from typing import Any, Literal, cast
18
18
 
19
19
  from rainbow.rb_sdk.base import RBBaseSDK
20
20
  from rainbow.rb_sdk.rb_sdk_cpp import RBAmrSDK, RBManipulateSDK, RBProgramSDK
21
- from rainbow.rb_utils.flow_manager import eval_value
21
+ from rainbow.rb_utils.flow_manager import eval_value, make_builtins_allow_most
22
22
  from rainbow.rb_utils.parser import t_to_dict
23
23
 
24
24
  from .exception import BreakFolder, StopExecution, SubTaskHaltException
@@ -118,6 +118,26 @@ class ExecutionContext:
118
118
  # ExecutionContext 생성 시 SDK 루트를 선초기화한다.
119
119
  self._ensure_sdk_roots()
120
120
 
121
+ def run_advanced_script(self, contents: str, script_locals: dict[str, Any]) -> None:
122
+ """ADVANCED make_script 사용자 스크립트를 compile + exec 한다.
123
+
124
+ 스크립트 env(variables/var/update_variable/get_var/done/pause/stop/resume/
125
+ check_stop/rb_log) 조립은 rb_sdk glue(PyFlowManagerArgsAdapter) 가 담당하고,
126
+ 여기서는 ``__builtins__`` 를 위험 내장(__import__/open/eval/exec 등) 뺀 사본으로
127
+ 제한해 compile + exec 만 한다. (glue -> rb_flow_manager 단방향 의존이라 glue 에서
128
+ make_builtins_allow_most 를 import 하지 않으려는 것.)
129
+
130
+ exec 은 globals == locals 인 단일 네임스페이스로 돌린다. 그래야 스크립트가
131
+ 일반 파이썬 모듈처럼 동작한다 — 최상위에서 대입한 이름이 스크립트 안에서
132
+ 정의한 함수/컴프리헨션/lambda 같은 중첩 스코프에서도 보인다. (globals 와
133
+ locals 를 나누면 최상위 대입은 locals 로만 들어가고 중첩 스코프의 자유변수는
134
+ globals 만 보므로 ``NameError`` 가 난다.)
135
+ """
136
+ code = compile(contents, "<custom_script>", "exec")
137
+
138
+ script_globals = {"__builtins__": make_builtins_allow_most(), **script_locals}
139
+ exec(code, script_globals) # pylint: disable=exec-used
140
+
121
141
  def _resolve_variable_owner_state(self) -> ExecutorState:
122
142
  if self.parent_process_id is not None and self.shared_state_dicts is not None:
123
143
  parent_state = self.shared_state_dicts.get(self.parent_process_id)
@@ -1,16 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rainbow-rb-flow-manager
3
- Version: 0.1.2.dev1
3
+ Version: 0.1.2.dev2
4
4
  Summary: Rainbow Python Flow Manager
5
5
  Author-email: Derek <dfd1123@rainbow-robotics.com>
6
6
  Requires-Python: <3.14,>=3.11
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: rainbow-rb-utils==0.1.2.dev1
9
- Requires-Dist: rainbow-rb-zenoh==0.1.2.dev1
10
- Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev1
11
- Requires-Dist: rainbow-rb-schemas==0.1.2.dev1
12
- Requires-Dist: rainbow-rb-sdk==0.1.2.dev1
13
- Requires-Dist: rainbow-rb-log==0.1.2.dev1
8
+ Requires-Dist: rainbow-rb-utils==0.1.2.dev2
9
+ Requires-Dist: rainbow-rb-zenoh==0.1.2.dev2
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev2
11
+ Requires-Dist: rainbow-rb-schemas==0.1.2.dev2
12
+ Requires-Dist: rainbow-rb-sdk==0.1.2.dev2
13
+ Requires-Dist: rainbow-rb-log==0.1.2.dev2
14
14
 
15
15
  # rb_flow_manager 사용 설명서
16
16
 
@@ -20,10 +20,7 @@ src/rainbow/rb_flow_manager/examples/03_post_tree.py
20
20
  src/rainbow/rb_flow_manager/examples/04_sub_task.py
21
21
  src/rainbow/rb_flow_manager/examples/05_event_task.py
22
22
  src/rainbow/rb_flow_manager/examples/README.md
23
- src/rainbow/rb_flow_manager/examples/__pycache__/05_event_task.cpython-312.pyc
24
- src/rainbow/rb_flow_manager/examples/__pycache__/_common.cpython-312.pyc
25
23
  src/rainbow/rb_flow_manager/examples/subtasks/gripper_subtask.py
26
- src/rainbow/rb_flow_manager/examples/subtasks/__pycache__/gripper_subtask.cpython-312.pyc
27
24
  src/rainbow_rb_flow_manager.egg-info/PKG-INFO
28
25
  src/rainbow_rb_flow_manager.egg-info/SOURCES.txt
29
26
  src/rainbow_rb_flow_manager.egg-info/dependency_links.txt
@@ -0,0 +1,6 @@
1
+ rainbow-rb-utils==0.1.2.dev2
2
+ rainbow-rb-zenoh==0.1.2.dev2
3
+ rainbow-rb-flat-buffers==0.1.2.dev2
4
+ rainbow-rb-schemas==0.1.2.dev2
5
+ rainbow-rb-sdk==0.1.2.dev2
6
+ rainbow-rb-log==0.1.2.dev2
@@ -1,6 +0,0 @@
1
- rainbow-rb-utils==0.1.2.dev1
2
- rainbow-rb-zenoh==0.1.2.dev1
3
- rainbow-rb-flat-buffers==0.1.2.dev1
4
- rainbow-rb-schemas==0.1.2.dev1
5
- rainbow-rb-sdk==0.1.2.dev1
6
- rainbow-rb-log==0.1.2.dev1