rainbow-rb-sdk 0.0.9.dev8__tar.gz → 0.0.9.dev9__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 (61) hide show
  1. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/PKG-INFO +6 -6
  2. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/pyproject.toml +6 -6
  3. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/base.py +19 -10
  4. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow_rb_sdk.egg-info/PKG-INFO +6 -6
  5. rainbow_rb_sdk-0.0.9.dev9/src/rainbow_rb_sdk.egg-info/requires.txt +6 -0
  6. rainbow_rb_sdk-0.0.9.dev8/src/rainbow_rb_sdk.egg-info/requires.txt +0 -6
  7. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/README.md +0 -0
  8. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/setup.cfg +0 -0
  9. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/__init__.py +0 -0
  10. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr.py +0 -0
  11. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/__init__.py +0 -0
  12. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_accessory.py +0 -0
  13. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_capability.py +0 -0
  14. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_control.py +0 -0
  15. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_file.py +0 -0
  16. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_localization.py +0 -0
  17. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_map.py +0 -0
  18. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_move.py +0 -0
  19. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_program.py +0 -0
  20. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_setting.py +0 -0
  21. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/amr_status.py +0 -0
  22. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/amr_sdk/schema/__init__.py +0 -0
  23. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/base_sdk/__init__.py +0 -0
  24. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/base_sdk/base_schema.py +0 -0
  25. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate.py +0 -0
  26. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/__init__.py +0 -0
  27. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_config.py +0 -0
  28. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_get_data.py +0 -0
  29. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_io.py +0 -0
  30. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_maintenance.py +0 -0
  31. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_move.py +0 -0
  32. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_point.py +0 -0
  33. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_program.py +0 -0
  34. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_service.py +0 -0
  35. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/manipulate_state.py +0 -0
  36. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/schema/__init__.py +0 -0
  37. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/schema/manipulate_config_schema.py +0 -0
  38. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/schema/manipulate_io_schema.py +0 -0
  39. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/schema/manipulate_move_schema.py +0 -0
  40. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/manipulate_sdk/schema/manipulate_program_schema.py +0 -0
  41. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/program_sdk/__init__.py +0 -0
  42. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/program_sdk/client_modules.pyi +0 -0
  43. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/program_sdk/program.py +0 -0
  44. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/program_sdk/program_interface.py +0 -0
  45. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/program_sdk/test_binding.py +0 -0
  46. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1.py +0 -0
  47. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/__init__.py +0 -0
  48. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/base.py +0 -0
  49. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/client.py +0 -0
  50. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/config.py +0 -0
  51. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/control.py +0 -0
  52. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/exceptions.py +0 -0
  53. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/rby1_sdk/state.py +0 -0
  54. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/schema/__init__.py +0 -0
  55. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/schema/amr_schema.py +0 -0
  56. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/schema/base_schema.py +0 -0
  57. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/schema/manipulate_schema.py +0 -0
  58. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow/rb_sdk/schema/program_schema.py +0 -0
  59. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow_rb_sdk.egg-info/SOURCES.txt +0 -0
  60. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow_rb_sdk.egg-info/dependency_links.txt +0 -0
  61. {rainbow_rb_sdk-0.0.9.dev8 → rainbow_rb_sdk-0.0.9.dev9}/src/rainbow_rb_sdk.egg-info/top_level.txt +0 -0
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rainbow-rb-sdk
3
- Version: 0.0.9.dev8
3
+ Version: 0.0.9.dev9
4
4
  Summary: Rainbow Robotics 통합 Python SDK — AMR, 매니퓰레이터, RB-Y1 휴머노이드와 Rainbow Robot Service(common) 연동
5
5
  Author-email: Derek <dfd1123@rainbow-robotics.com>
6
6
  Requires-Python: <3.13,>=3.12
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: rainbow-rb-utils==0.0.9.dev8
9
- Requires-Dist: rainbow-rb-zenoh==0.0.9.dev8
10
- Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev8
11
- Requires-Dist: rainbow-rb-schemas==0.0.9.dev8
12
- Requires-Dist: rainbow-rb-log==0.0.9.dev8
8
+ Requires-Dist: rainbow-rb-utils==0.0.9.dev9
9
+ Requires-Dist: rainbow-rb-zenoh==0.0.9.dev9
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev9
11
+ Requires-Dist: rainbow-rb-schemas==0.0.9.dev9
12
+ Requires-Dist: rainbow-rb-log==0.0.9.dev9
13
13
  Requires-Dist: rby1-sdk>=0.9.1
14
14
 
15
15
  # rb_sdk
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rainbow-rb-sdk"
7
- version = "0.0.9.dev8"
7
+ version = "0.0.9.dev9"
8
8
  requires-python = ">=3.12,<3.13"
9
9
  description = "Rainbow Robotics 통합 Python SDK — AMR, 매니퓰레이터, RB-Y1 휴머노이드와 Rainbow Robot Service(common) 연동"
10
10
  authors = [
@@ -13,11 +13,11 @@ authors = [
13
13
  readme = "README.md"
14
14
 
15
15
  dependencies = [
16
- "rainbow-rb-utils==0.0.9.dev8",
17
- "rainbow-rb-zenoh==0.0.9.dev8",
18
- "rainbow-rb-flat-buffers==0.0.9.dev8",
19
- "rainbow-rb-schemas==0.0.9.dev8",
20
- "rainbow-rb-log==0.0.9.dev8",
16
+ "rainbow-rb-utils==0.0.9.dev9",
17
+ "rainbow-rb-zenoh==0.0.9.dev9",
18
+ "rainbow-rb-flat-buffers==0.0.9.dev9",
19
+ "rainbow-rb-schemas==0.0.9.dev9",
20
+ "rainbow-rb-log==0.0.9.dev9",
21
21
  "rby1-sdk>=0.9.1",
22
22
  ]
23
23
 
@@ -464,18 +464,22 @@ class RBBaseSDK:
464
464
  self,
465
465
  *,
466
466
  keyexpr: str,
467
- timeout: float,
467
+ timeout: float | None,
468
468
  probe_timeout: float,
469
469
  interval: float,
470
470
  ) -> None:
471
471
  loop = asyncio.get_running_loop()
472
- deadline = loop.time() + timeout
472
+ deadline = None if timeout is None else loop.time() + timeout
473
473
 
474
474
  while True:
475
475
  if await asyncio.to_thread(self._probe_zenoh_mesh, keyexpr, timeout=probe_timeout):
476
476
  print(f"[SDK] zenoh mesh ready: {keyexpr}", flush=True)
477
477
  return
478
478
 
479
+ if deadline is None:
480
+ await asyncio.sleep(interval)
481
+ continue
482
+
479
483
  remaining = deadline - loop.time()
480
484
  if remaining <= 0:
481
485
  raise RuntimeError(
@@ -526,7 +530,7 @@ class RBBaseSDK:
526
530
  ttl: int = 30,
527
531
  heartbeat_interval: float | None = None,
528
532
  mesh_probe_keyexpr: str | None = "robot-state",
529
- mesh_timeout: float = 10.0,
533
+ mesh_timeout: float | None = None,
530
534
  mesh_probe_timeout: float = 1.0,
531
535
  mesh_probe_interval: float = 0.5,
532
536
  ) -> str | None:
@@ -545,7 +549,7 @@ class RBBaseSDK:
545
549
  ttl: common 측 브리지 세션 TTL(초). heartbeat를 보내지 않으면 이 시간 후 자동 해제.
546
550
  heartbeat_interval: heartbeat 전송 주기(초). None 이면 ``ttl / 2`` 사용.
547
551
  mesh_probe_keyexpr: mesh 형성 확인용 Zenoh query keyexpr. None 이면 확인을 건너뜀.
548
- mesh_timeout: mesh 형성 대기 최대 시간(초).
552
+ mesh_timeout: mesh 형성 대기 최대 시간(초). None 이면 응답이 올 때까지 계속 대기.
549
553
  mesh_probe_timeout: probe query 1회 timeout(초).
550
554
  mesh_probe_interval: probe 재시도 간격(초).
551
555
 
@@ -579,6 +583,11 @@ class RBBaseSDK:
579
583
  self._peer_common_url = url
580
584
  self._peer_token = token
581
585
 
586
+ interval = heartbeat_interval if heartbeat_interval is not None else max(1.0, ttl / 2)
587
+ self._heartbeat_task = asyncio.create_task(
588
+ self._heartbeat_loop(peer_id, ttl=ttl, interval=interval)
589
+ )
590
+
582
591
  try:
583
592
  if mesh_probe_keyexpr is not None:
584
593
  await self._wait_for_zenoh_mesh(
@@ -587,7 +596,12 @@ class RBBaseSDK:
587
596
  probe_timeout=mesh_probe_timeout,
588
597
  interval=mesh_probe_interval,
589
598
  )
590
- except Exception:
599
+ except BaseException:
600
+ if self._heartbeat_task and not self._heartbeat_task.done():
601
+ self._heartbeat_task.cancel()
602
+ with contextlib.suppress(asyncio.CancelledError):
603
+ await self._heartbeat_task
604
+ self._heartbeat_task = None
591
605
  self._peer_id = None
592
606
  self._peer_common_url = None
593
607
  self._peer_token = None
@@ -597,11 +611,6 @@ class RBBaseSDK:
597
611
  )
598
612
  raise
599
613
 
600
- interval = heartbeat_interval if heartbeat_interval is not None else max(1.0, ttl / 2)
601
- self._heartbeat_task = asyncio.create_task(
602
- self._heartbeat_loop(peer_id, ttl=ttl, interval=interval)
603
- )
604
-
605
614
  print(f"[SDK] connected as zenoh peer {peer_id} → {url} my={my_ip}:{free_port} ttl={ttl}s hb={interval}s", flush=True)
606
615
  return peer_id
607
616
 
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rainbow-rb-sdk
3
- Version: 0.0.9.dev8
3
+ Version: 0.0.9.dev9
4
4
  Summary: Rainbow Robotics 통합 Python SDK — AMR, 매니퓰레이터, RB-Y1 휴머노이드와 Rainbow Robot Service(common) 연동
5
5
  Author-email: Derek <dfd1123@rainbow-robotics.com>
6
6
  Requires-Python: <3.13,>=3.12
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: rainbow-rb-utils==0.0.9.dev8
9
- Requires-Dist: rainbow-rb-zenoh==0.0.9.dev8
10
- Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev8
11
- Requires-Dist: rainbow-rb-schemas==0.0.9.dev8
12
- Requires-Dist: rainbow-rb-log==0.0.9.dev8
8
+ Requires-Dist: rainbow-rb-utils==0.0.9.dev9
9
+ Requires-Dist: rainbow-rb-zenoh==0.0.9.dev9
10
+ Requires-Dist: rainbow-rb-flat-buffers==0.0.9.dev9
11
+ Requires-Dist: rainbow-rb-schemas==0.0.9.dev9
12
+ Requires-Dist: rainbow-rb-log==0.0.9.dev9
13
13
  Requires-Dist: rby1-sdk>=0.9.1
14
14
 
15
15
  # rb_sdk
@@ -0,0 +1,6 @@
1
+ rainbow-rb-utils==0.0.9.dev9
2
+ rainbow-rb-zenoh==0.0.9.dev9
3
+ rainbow-rb-flat-buffers==0.0.9.dev9
4
+ rainbow-rb-schemas==0.0.9.dev9
5
+ rainbow-rb-log==0.0.9.dev9
6
+ rby1-sdk>=0.9.1
@@ -1,6 +0,0 @@
1
- rainbow-rb-utils==0.0.9.dev8
2
- rainbow-rb-zenoh==0.0.9.dev8
3
- rainbow-rb-flat-buffers==0.0.9.dev8
4
- rainbow-rb-schemas==0.0.9.dev8
5
- rainbow-rb-log==0.0.9.dev8
6
- rby1-sdk>=0.9.1