rainbow-rb-flow-manager 0.1.2.dev4__tar.gz → 0.1.4.dev1__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 (31) hide show
  1. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/PKG-INFO +7 -7
  2. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/pyproject.toml +8 -8
  3. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/executor.py +12 -3
  4. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow_rb_flow_manager.egg-info/PKG-INFO +7 -7
  5. rainbow_rb_flow_manager-0.1.4.dev1/src/rainbow_rb_flow_manager.egg-info/requires.txt +6 -0
  6. rainbow_rb_flow_manager-0.1.2.dev4/src/rainbow_rb_flow_manager.egg-info/requires.txt +0 -6
  7. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/README.md +0 -0
  8. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/setup.cfg +0 -0
  9. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/SKILL.md +0 -0
  10. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/internals.md +0 -0
  11. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/.claude/skills/pyfm/references/testing.md +0 -0
  12. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/__init__.py +0 -0
  13. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/context.py +0 -0
  14. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/controller/base_controller.py +0 -0
  15. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/controller/zenoh_controller.py +0 -0
  16. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/01_multiple_tasks.py +0 -0
  17. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/02_single_task.py +0 -0
  18. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/03_post_tree.py +0 -0
  19. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/04_sub_task.py +0 -0
  20. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/05_event_task.py +0 -0
  21. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/README.md +0 -0
  22. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/examples/subtasks/gripper_subtask.py +0 -0
  23. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/exception.py +0 -0
  24. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/global_resolver.py +0 -0
  25. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/py.typed +0 -0
  26. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/schema.py +0 -0
  27. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/step.py +0 -0
  28. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow/rb_flow_manager/utils.py +0 -0
  29. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow_rb_flow_manager.egg-info/SOURCES.txt +0 -0
  30. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/src/rainbow_rb_flow_manager.egg-info/dependency_links.txt +0 -0
  31. {rainbow_rb_flow_manager-0.1.2.dev4 → rainbow_rb_flow_manager-0.1.4.dev1}/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.dev4
3
+ Version: 0.1.4.dev1
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.dev4
9
- Requires-Dist: rainbow-rb-zenoh==0.1.2.dev4
10
- Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev4
11
- Requires-Dist: rainbow-rb-schemas==0.1.2.dev4
12
- Requires-Dist: rainbow-rb-sdk==0.1.2.dev4
13
- Requires-Dist: rainbow-rb-log==0.1.2.dev4
8
+ Requires-Dist: rainbow-rb-utils==0.1.4.dev1
9
+ Requires-Dist: rainbow-rb-zenoh==0.1.4.dev1
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.1.4.dev1
11
+ Requires-Dist: rainbow-rb-schemas==0.1.4.dev1
12
+ Requires-Dist: rainbow-rb-sdk==0.1.4.dev1
13
+ Requires-Dist: rainbow-rb-log==0.1.4.dev1
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.dev4"
7
+ version = "0.1.4.dev1"
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.dev4",
17
- "rainbow-rb-zenoh==0.1.2.dev4",
18
- "rainbow-rb-flat-buffers==0.1.2.dev4",
19
- "rainbow-rb-schemas==0.1.2.dev4",
20
- "rainbow-rb-sdk==0.1.2.dev4",
21
- "rainbow-rb-log==0.1.2.dev4",
16
+ "rainbow-rb-utils==0.1.4.dev1",
17
+ "rainbow-rb-zenoh==0.1.4.dev1",
18
+ "rainbow-rb-flat-buffers==0.1.4.dev1",
19
+ "rainbow-rb-schemas==0.1.4.dev1",
20
+ "rainbow-rb-sdk==0.1.4.dev1",
21
+ "rainbow-rb-log==0.1.4.dev1",
22
22
  ]
23
23
 
24
24
  [tool.setuptools]
@@ -30,5 +30,5 @@ where = ["src"]
30
30
  include = ["rainbow.rb_flow_manager*"]
31
31
 
32
32
  [tool.setuptools.package-data]
33
- "*" = ["py.typed", "*.pyi", "*.so", "*.pyd"]
33
+ "*" = ["py.typed", "*.pyi", "*.so", "*.pyd", "rb_sdk_cpp/**/*.pyi"]
34
34
  "rainbow.rb_flow_manager" = ["examples/**", "examples/**/*", ".claude/**", ".claude/**/*"]
@@ -144,7 +144,7 @@ def _init_runtime_state_for_tree(
144
144
  state_dict["step"] = step.to_dict()
145
145
  state_dict["current_step_id"] = step.step_id
146
146
  state_dict["current_step_name"] = step.name
147
- state_dict["total_repeat"] = "infinity" if repeat_count == 0 else repeat_count
147
+ state_dict["total_repeat"] = "infinity" if repeat_count < 0 else repeat_count
148
148
  state_dict["sub_task_list"] = []
149
149
  state_dict["current_repeat"] = 0
150
150
  state_dict["cancel_post"] = False # 이전 실행의 취소 플래그가 새 실행에 남으면 안 된다
@@ -217,7 +217,7 @@ def _execute_tree_in_process(
217
217
 
218
218
  - pre_step이 있으면 메인 트리보다 먼저 1회 실행. 완료 시 pre_done_event를 set 한다
219
219
  - 부모의 pre_step이 끝날 때까지(parent_pre_done_event) 메인 트리 진입을 보류
220
- - step(메인 트리)을 repeat_count 만큼 실행 (0이면 무한 반복)
220
+ - step(메인 트리)을 repeat_count 만큼 실행 (-1이면 무한 반복)
221
221
  - 실행 중 Jump/Stop/SubTask 변경 등의 예외를 처리
222
222
  - 마지막에 post_step가 있으면 후처리 트리 실행
223
223
  - 종료 시 completion_event.set() 보장
@@ -1600,7 +1600,8 @@ class ScriptExecutor:
1600
1600
  """개별 프로세스 생성"""
1601
1601
  process_id = args.get("process_id")
1602
1602
  step = args.get("step")
1603
- repeat_count = int(args.get("repeat_count") or 1)
1603
+ repeat_count = args.get("repeat_count")
1604
+ repeat_count = 1 if repeat_count is None else int(repeat_count)
1604
1605
  robot_model = args.get("robot_model")
1605
1606
  category = args.get("category")
1606
1607
  step_mode = args.get("step_mode")
@@ -1787,6 +1788,14 @@ class ScriptExecutor:
1787
1788
  batch: list[MakeProcessArgs] = args if isinstance(args, list) else [args]
1788
1789
  is_batch = len(batch) > 1
1789
1790
 
1791
+ # 자식은 repeat_count 를 1로 고정하므로 main 만 검사. 상태를 만들기 전에 거부한다.
1792
+ for arg in batch:
1793
+ rc = arg.get("repeat_count")
1794
+ if arg.get("parent_process_id") is None and rc is not None and (int(rc) == 0 or int(rc) < -1):
1795
+ raise ValueError(
1796
+ f"invalid repeat_count={rc} for {arg.get('process_id')} (>=1, or -1 for infinite)"
1797
+ )
1798
+
1790
1799
  print(f"is Batch!! :: >> {is_batch}", flush=True)
1791
1800
 
1792
1801
  self._ensure_manager()
@@ -1,16 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rainbow-rb-flow-manager
3
- Version: 0.1.2.dev4
3
+ Version: 0.1.4.dev1
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.dev4
9
- Requires-Dist: rainbow-rb-zenoh==0.1.2.dev4
10
- Requires-Dist: rainbow-rb-flat-buffers==0.1.2.dev4
11
- Requires-Dist: rainbow-rb-schemas==0.1.2.dev4
12
- Requires-Dist: rainbow-rb-sdk==0.1.2.dev4
13
- Requires-Dist: rainbow-rb-log==0.1.2.dev4
8
+ Requires-Dist: rainbow-rb-utils==0.1.4.dev1
9
+ Requires-Dist: rainbow-rb-zenoh==0.1.4.dev1
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.1.4.dev1
11
+ Requires-Dist: rainbow-rb-schemas==0.1.4.dev1
12
+ Requires-Dist: rainbow-rb-sdk==0.1.4.dev1
13
+ Requires-Dist: rainbow-rb-log==0.1.4.dev1
14
14
 
15
15
  # rb_flow_manager 사용 설명서
16
16
 
@@ -0,0 +1,6 @@
1
+ rainbow-rb-utils==0.1.4.dev1
2
+ rainbow-rb-zenoh==0.1.4.dev1
3
+ rainbow-rb-flat-buffers==0.1.4.dev1
4
+ rainbow-rb-schemas==0.1.4.dev1
5
+ rainbow-rb-sdk==0.1.4.dev1
6
+ rainbow-rb-log==0.1.4.dev1
@@ -1,6 +0,0 @@
1
- rainbow-rb-utils==0.1.2.dev4
2
- rainbow-rb-zenoh==0.1.2.dev4
3
- rainbow-rb-flat-buffers==0.1.2.dev4
4
- rainbow-rb-schemas==0.1.2.dev4
5
- rainbow-rb-sdk==0.1.2.dev4
6
- rainbow-rb-log==0.1.2.dev4