vention-sim-grpc-py-sdk 0.1.0__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 (105) hide show
  1. vention_sim_grpc_py_sdk-0.1.0/.gitignore +3 -0
  2. vention_sim_grpc_py_sdk-0.1.0/PKG-INFO +118 -0
  3. vention_sim_grpc_py_sdk-0.1.0/README.md +99 -0
  4. vention_sim_grpc_py_sdk-0.1.0/hatch_build.py +26 -0
  5. vention_sim_grpc_py_sdk-0.1.0/pyproject.toml +41 -0
  6. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/__init__.py +8 -0
  7. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/_source.py +6 -0
  8. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/__init__.py +0 -0
  9. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/__init__.py +0 -0
  10. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/alert_pb2.py +40 -0
  11. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/alert_pb2_grpc.py +4 -0
  12. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/controlSignal_pb2.py +36 -0
  13. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/controlSignal_pb2_grpc.py +4 -0
  14. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/gripper_pb2.py +36 -0
  15. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/gripper_pb2_grpc.py +4 -0
  16. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/matrix4_pb2.py +36 -0
  17. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/matrix4_pb2_grpc.py +4 -0
  18. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/metrics_pb2.py +66 -0
  19. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/metrics_pb2_grpc.py +4 -0
  20. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/partConfig_pb2.py +38 -0
  21. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/partConfig_pb2_grpc.py +4 -0
  22. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/robot_pb2.py +38 -0
  23. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/robot_pb2_grpc.py +4 -0
  24. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/sensor_pb2.py +45 -0
  25. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/sensor_pb2_grpc.py +4 -0
  26. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/simulationDiagnosticReport_pb2.py +38 -0
  27. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/simulationDiagnosticReport_pb2_grpc.py +4 -0
  28. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/vector3_pb2.py +36 -0
  29. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/common/vector3_pb2_grpc.py +4 -0
  30. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/__init__.py +0 -0
  31. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/requests_pb2.py +58 -0
  32. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/requests_pb2_grpc.py +4 -0
  33. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/responses_pb2.py +49 -0
  34. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/responses_pb2_grpc.py +4 -0
  35. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/service_pb2.py +39 -0
  36. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v1/service_pb2_grpc.py +337 -0
  37. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v2/__init__.py +0 -0
  38. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v2/requests_pb2.py +61 -0
  39. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v2/requests_pb2_grpc.py +4 -0
  40. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v2/service_pb2.py +40 -0
  41. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v2/service_pb2_grpc.py +388 -0
  42. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/__init__.py +0 -0
  43. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/requests_pb2.py +47 -0
  44. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/requests_pb2_grpc.py +4 -0
  45. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/robot_pb2.py +37 -0
  46. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/robot_pb2_grpc.py +4 -0
  47. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/service_pb2.py +41 -0
  48. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/physics/v3/service_pb2_grpc.py +389 -0
  49. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/__init__.py +0 -0
  50. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/__init__.py +0 -0
  51. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/__init__.py +0 -0
  52. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_command_service_pb2.py +37 -0
  53. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_command_service_pb2_grpc.py +89 -0
  54. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_commands_pb2.py +43 -0
  55. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_commands_pb2_grpc.py +4 -0
  56. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_common_pb2.py +36 -0
  57. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_common_pb2_grpc.py +4 -0
  58. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_events_pb2.py +52 -0
  59. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_events_pb2_grpc.py +4 -0
  60. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_process_data_pb2.py +45 -0
  61. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_process_data_pb2_grpc.py +4 -0
  62. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_service_pb2.py +38 -0
  63. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/motor/v1/motor_driver_service_pb2_grpc.py +142 -0
  64. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/__init__.py +0 -0
  65. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_commands_pb2.py +39 -0
  66. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_commands_pb2_grpc.py +4 -0
  67. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_responses_pb2.py +47 -0
  68. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_responses_pb2_grpc.py +4 -0
  69. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_service_pb2.py +39 -0
  70. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v1/sim_robot_driver_service_pb2_grpc.py +380 -0
  71. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/__init__.py +0 -0
  72. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/io/__init__.py +0 -0
  73. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/io/io_driver_commands_pb2.py +49 -0
  74. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/io/io_driver_commands_pb2_grpc.py +4 -0
  75. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/io/io_driver_service_pb2.py +37 -0
  76. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/io/io_driver_service_pb2_grpc.py +214 -0
  77. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/robot/__init__.py +0 -0
  78. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/robot/robot_driver_commands_pb2.py +37 -0
  79. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/robot/robot_driver_commands_pb2_grpc.py +4 -0
  80. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/robot/robot_driver_service_pb2.py +40 -0
  81. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v2/robot/robot_driver_service_pb2_grpc.py +414 -0
  82. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/__init__.py +0 -0
  83. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/io/__init__.py +0 -0
  84. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/io/io_driver_commands_pb2.py +49 -0
  85. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/io/io_driver_commands_pb2_grpc.py +4 -0
  86. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/io/io_driver_service_pb2.py +37 -0
  87. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/io/io_driver_service_pb2_grpc.py +83 -0
  88. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/robot/__init__.py +0 -0
  89. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/robot/robot_driver_commands_pb2.py +37 -0
  90. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/robot/robot_driver_commands_pb2_grpc.py +4 -0
  91. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/robot/robot_driver_service_pb2.py +41 -0
  92. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v3/robot/robot_driver_service_pb2_grpc.py +371 -0
  93. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/__init__.py +0 -0
  94. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/robot/__init__.py +0 -0
  95. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/robot/robot_driver_commands_pb2.py +43 -0
  96. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/robot/robot_driver_commands_pb2_grpc.py +4 -0
  97. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/robot/robot_driver_service_pb2.py +41 -0
  98. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/robot/robot_driver_service_pb2_grpc.py +373 -0
  99. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/__init__.py +0 -0
  100. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_commands_pb2.py +108 -0
  101. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_commands_pb2_grpc.py +4 -0
  102. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_management_service_pb2.py +37 -0
  103. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_management_service_pb2_grpc.py +474 -0
  104. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_objects_pb2.py +64 -0
  105. vention_sim_grpc_py_sdk-0.1.0/src/vention_sim/simulation/v4/scene/scene_objects_pb2_grpc.py +4 -0
@@ -0,0 +1,3 @@
1
+ src/
2
+ dist/
3
+ __pycache__/
@@ -0,0 +1,118 @@
1
+ Metadata-Version: 2.5
2
+ Name: vention-sim-grpc-py-sdk
3
+ Version: 0.1.0
4
+ Summary: Generated Python gRPC clients for the Vention simulation protos
5
+ Project-URL: Homepage, https://github.com/VentionCo/simulation
6
+ Project-URL: Repository, https://github.com/VentionCo/simulation
7
+ Author: VentionCo
8
+ License: Proprietary
9
+ Keywords: client,grpc,protobuf,simulation,vention
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Python: >=3.10
15
+ Requires-Dist: grpcio<2,>=1.74.0
16
+ Requires-Dist: protobuf<7,>=6.31.1
17
+ Requires-Dist: vention-grpc-py-sdk==0.0.68
18
+ Description-Content-Type: text/markdown
19
+
20
+ # vention-sim-grpc-py-sdk
21
+
22
+ Generated Python gRPC clients for the Vention simulation protos (`physics/**` and
23
+ `vention/simulation/**` under [`proto/`](../proto)), published from this repo.
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ pip install vention-sim-grpc-py-sdk
29
+ ```
30
+
31
+ This also installs [`vention-grpc-py-sdk`](https://pypi.org/project/vention-grpc-py-sdk/),
32
+ which ships the `vention.robots`, `vention.io_modules`, `vention.machine_motion`,
33
+ `vention.motors`, `vention.vision`, and `google.type` messages the simulation protos embed.
34
+
35
+ ## Use
36
+
37
+ ```python
38
+ import grpc
39
+
40
+ from vention.robots.v1.joint_trajectory_point_pb2 import JointTrajectoryPoint
41
+ from vention_sim import SIMULATION_SHA, VENTION_PROTOS_SHA, __version__
42
+ from vention_sim.simulation.v1.sim_robot_driver_commands_pb2 import StartTrajectoryRequest
43
+ from vention_sim.simulation.v4.scene.scene_management_service_pb2_grpc import SceneManagementServiceStub
44
+
45
+ channel = grpc.insecure_channel("localhost:50055")
46
+ scene = SceneManagementServiceStub(channel)
47
+ request = StartTrajectoryRequest(points=[JointTrajectoryPoint()])
48
+ print(f"built from simulation@{SIMULATION_SHA} and vention-protos@{VENTION_PROTOS_SHA}")
49
+ ```
50
+
51
+ ## Import root
52
+
53
+ The modules live under `vention_sim`: a proto at `vention/simulation/v1/x.proto` is
54
+ `vention_sim.simulation.v1.x_pb2`, and one at `physics/v3/x.proto` is
55
+ `vention_sim.physics.v3.x_pb2`. Only the Python import path differs from protoc's default.
56
+ The proto packages (`vention.simulation.*`, `physics.*`), file names, gRPC method paths and
57
+ `Any` type URLs are unchanged, so a `vention-grpc-py-sdk` message drops straight into a
58
+ simulation request and reflection sees the same types as every other language.
59
+
60
+ protoc would otherwise place the stubs at `vention.simulation.*`, inside the `vention`
61
+ package that `vention-grpc-py-sdk` owns. Two distributions sharing a regular package only
62
+ work while both unpack into the same `site-packages`; editable installs and any layout with
63
+ more than one root on `sys.path` lose one of them. Giving this package its own import root
64
+ removes the shared directory, so it works in every layout and never depends on how
65
+ `vention-grpc-py-sdk` is laid out.
66
+
67
+ ## One package per proto source
68
+
69
+ The simulation protos import `vention-protos` files, and both packages have to coexist in
70
+ one environment. Python leaves no good way to ship two copies of the same generated module:
71
+ two distributions writing the same path overwrite each other in `site-packages`, and protobuf
72
+ registers every message in a process-global pool that rejects duplicates. So this package
73
+ ships only the simulation-owned stubs and takes the shared ones from `vention-grpc-py-sdk`,
74
+ the same way `grpcio-status` takes `google.rpc` from `googleapis-common-protos`.
75
+
76
+ The dependency is an exact pin on the `vention-grpc-py-sdk` release generated from the
77
+ `vention-protos` commit pinned in [`proto/package.json`](../proto/package.json)
78
+ (`config.protos.tag`). That package only ever patch-bumps, so its version says nothing about
79
+ compatibility; the pin is what guarantees the two stub sets agree. Upgrading one means
80
+ upgrading the other, and `pip` refuses combinations that were never generated together.
81
+
82
+ ## Versions
83
+
84
+ Releases publish on every push to `main` that touches `proto/**` or `python-sdk/**`, as the
85
+ next patch after the latest release on PyPI. Pull requests touching those paths, and manual runs
86
+ of the workflow on any other branch, publish a `X.Y.Z.dev<build id>` build (PRs get the install
87
+ command as a comment). Once a release exists, `pip` only installs a dev build when its version
88
+ is spelled out.
89
+
90
+ `vention_sim._source` records what a wheel was built from: `SIMULATION_SHA` (the PR head for
91
+ dev builds), `VENTION_PROTOS_SHA`, `VENTION_GRPC_PY_SDK_VERSION`, and `__version__`.
92
+
93
+ ## Contributing
94
+
95
+ Nothing in `python-sdk/src` is committed; CI regenerates it from `proto/` before publishing.
96
+ To reproduce the CI build locally:
97
+
98
+ ```bash
99
+ npm ci # buf comes from the proto workspace
100
+ python3 -m venv .venv && source .venv/bin/activate
101
+ python python-sdk/scripts/ci_python_package.py
102
+ ```
103
+
104
+ The script exports the vendored `vention-protos` at the pinned commit (SSH access to
105
+ `VentionCo/vention-protos` required) and fails if that overwrote the sim-owned protos,
106
+ generates the stubs with [`buf.gen.yaml`](buf.gen.yaml), moves them under `vention_sim` and
107
+ rewrites their imports and module names to match, resolves the matching `vention-grpc-py-sdk`
108
+ release from PyPI, builds the wheel, installs it, and runs
109
+ [`check_installed_wheel.py`](scripts/check_installed_wheel.py): the wheel pins the SDK
110
+ release whose `PROTOS_SHA` equals the pin, every generated module imports, every generated
111
+ message class belongs to its `vention_sim` module and pickles, a sim message keeps its proto
112
+ package, file name, method path and `Any` type URL, and a `vention-grpc-py-sdk` message embeds
113
+ into a sim request. Both import orders are then tried in fresh interpreters.
114
+
115
+ `hatch_build.py` turns the resolved SDK release into the exact dependency pin at build time.
116
+
117
+ [`publish-python-sdk.yml`](../.github/workflows/publish-python-sdk.yml) runs the same script
118
+ and uploads with the org's PyPI token.
@@ -0,0 +1,99 @@
1
+ # vention-sim-grpc-py-sdk
2
+
3
+ Generated Python gRPC clients for the Vention simulation protos (`physics/**` and
4
+ `vention/simulation/**` under [`proto/`](../proto)), published from this repo.
5
+
6
+ ## Install
7
+
8
+ ```bash
9
+ pip install vention-sim-grpc-py-sdk
10
+ ```
11
+
12
+ This also installs [`vention-grpc-py-sdk`](https://pypi.org/project/vention-grpc-py-sdk/),
13
+ which ships the `vention.robots`, `vention.io_modules`, `vention.machine_motion`,
14
+ `vention.motors`, `vention.vision`, and `google.type` messages the simulation protos embed.
15
+
16
+ ## Use
17
+
18
+ ```python
19
+ import grpc
20
+
21
+ from vention.robots.v1.joint_trajectory_point_pb2 import JointTrajectoryPoint
22
+ from vention_sim import SIMULATION_SHA, VENTION_PROTOS_SHA, __version__
23
+ from vention_sim.simulation.v1.sim_robot_driver_commands_pb2 import StartTrajectoryRequest
24
+ from vention_sim.simulation.v4.scene.scene_management_service_pb2_grpc import SceneManagementServiceStub
25
+
26
+ channel = grpc.insecure_channel("localhost:50055")
27
+ scene = SceneManagementServiceStub(channel)
28
+ request = StartTrajectoryRequest(points=[JointTrajectoryPoint()])
29
+ print(f"built from simulation@{SIMULATION_SHA} and vention-protos@{VENTION_PROTOS_SHA}")
30
+ ```
31
+
32
+ ## Import root
33
+
34
+ The modules live under `vention_sim`: a proto at `vention/simulation/v1/x.proto` is
35
+ `vention_sim.simulation.v1.x_pb2`, and one at `physics/v3/x.proto` is
36
+ `vention_sim.physics.v3.x_pb2`. Only the Python import path differs from protoc's default.
37
+ The proto packages (`vention.simulation.*`, `physics.*`), file names, gRPC method paths and
38
+ `Any` type URLs are unchanged, so a `vention-grpc-py-sdk` message drops straight into a
39
+ simulation request and reflection sees the same types as every other language.
40
+
41
+ protoc would otherwise place the stubs at `vention.simulation.*`, inside the `vention`
42
+ package that `vention-grpc-py-sdk` owns. Two distributions sharing a regular package only
43
+ work while both unpack into the same `site-packages`; editable installs and any layout with
44
+ more than one root on `sys.path` lose one of them. Giving this package its own import root
45
+ removes the shared directory, so it works in every layout and never depends on how
46
+ `vention-grpc-py-sdk` is laid out.
47
+
48
+ ## One package per proto source
49
+
50
+ The simulation protos import `vention-protos` files, and both packages have to coexist in
51
+ one environment. Python leaves no good way to ship two copies of the same generated module:
52
+ two distributions writing the same path overwrite each other in `site-packages`, and protobuf
53
+ registers every message in a process-global pool that rejects duplicates. So this package
54
+ ships only the simulation-owned stubs and takes the shared ones from `vention-grpc-py-sdk`,
55
+ the same way `grpcio-status` takes `google.rpc` from `googleapis-common-protos`.
56
+
57
+ The dependency is an exact pin on the `vention-grpc-py-sdk` release generated from the
58
+ `vention-protos` commit pinned in [`proto/package.json`](../proto/package.json)
59
+ (`config.protos.tag`). That package only ever patch-bumps, so its version says nothing about
60
+ compatibility; the pin is what guarantees the two stub sets agree. Upgrading one means
61
+ upgrading the other, and `pip` refuses combinations that were never generated together.
62
+
63
+ ## Versions
64
+
65
+ Releases publish on every push to `main` that touches `proto/**` or `python-sdk/**`, as the
66
+ next patch after the latest release on PyPI. Pull requests touching those paths, and manual runs
67
+ of the workflow on any other branch, publish a `X.Y.Z.dev<build id>` build (PRs get the install
68
+ command as a comment). Once a release exists, `pip` only installs a dev build when its version
69
+ is spelled out.
70
+
71
+ `vention_sim._source` records what a wheel was built from: `SIMULATION_SHA` (the PR head for
72
+ dev builds), `VENTION_PROTOS_SHA`, `VENTION_GRPC_PY_SDK_VERSION`, and `__version__`.
73
+
74
+ ## Contributing
75
+
76
+ Nothing in `python-sdk/src` is committed; CI regenerates it from `proto/` before publishing.
77
+ To reproduce the CI build locally:
78
+
79
+ ```bash
80
+ npm ci # buf comes from the proto workspace
81
+ python3 -m venv .venv && source .venv/bin/activate
82
+ python python-sdk/scripts/ci_python_package.py
83
+ ```
84
+
85
+ The script exports the vendored `vention-protos` at the pinned commit (SSH access to
86
+ `VentionCo/vention-protos` required) and fails if that overwrote the sim-owned protos,
87
+ generates the stubs with [`buf.gen.yaml`](buf.gen.yaml), moves them under `vention_sim` and
88
+ rewrites their imports and module names to match, resolves the matching `vention-grpc-py-sdk`
89
+ release from PyPI, builds the wheel, installs it, and runs
90
+ [`check_installed_wheel.py`](scripts/check_installed_wheel.py): the wheel pins the SDK
91
+ release whose `PROTOS_SHA` equals the pin, every generated module imports, every generated
92
+ message class belongs to its `vention_sim` module and pickles, a sim message keeps its proto
93
+ package, file name, method path and `Any` type URL, and a `vention-grpc-py-sdk` message embeds
94
+ into a sim request. Both import orders are then tried in fresh interpreters.
95
+
96
+ `hatch_build.py` turns the resolved SDK release into the exact dependency pin at build time.
97
+
98
+ [`publish-python-sdk.yml`](../.github/workflows/publish-python-sdk.yml) runs the same script
99
+ and uploads with the org's PyPI token.
@@ -0,0 +1,26 @@
1
+ """Hatchling metadata hook: pin vention-grpc-py-sdk to the release scripts/generate.py resolved."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import runpy
6
+ from pathlib import Path
7
+
8
+ from hatchling.metadata.plugin.interface import MetadataHookInterface
9
+
10
+ SOURCE_MODULE = Path(__file__).parent / "src" / "vention_sim" / "_source.py"
11
+
12
+
13
+ class SdkPinMetadataHook(MetadataHookInterface):
14
+ def update(self, metadata: dict) -> None:
15
+ if not SOURCE_MODULE.is_file():
16
+ raise FileNotFoundError(f"{SOURCE_MODULE} is missing. Run scripts/generate.py before building.")
17
+ sdk_version = runpy.run_path(str(SOURCE_MODULE))["VENTION_GRPC_PY_SDK_VERSION"]
18
+ # The sim protos embed vention-protos messages, so the stubs only work with
19
+ # the vention-grpc-py-sdk release generated from the same vention-protos
20
+ # commit. That package only ever patch-bumps, so its version carries no
21
+ # compatibility signal and a range would accept breaking releases.
22
+ metadata["dependencies"] = [
23
+ f"vention-grpc-py-sdk=={sdk_version}",
24
+ "protobuf>=6.31.1,<7",
25
+ "grpcio>=1.74.0,<2",
26
+ ]
@@ -0,0 +1,41 @@
1
+ [project]
2
+ name = "vention-sim-grpc-py-sdk"
3
+ dynamic = ["version", "dependencies"]
4
+ description = "Generated Python gRPC clients for the Vention simulation protos"
5
+ authors = [{ name = "VentionCo" }]
6
+ license = { text = "Proprietary" }
7
+ readme = "README.md"
8
+ requires-python = ">=3.10"
9
+ keywords = ["vention", "simulation", "grpc", "protobuf", "client"]
10
+ classifiers = [
11
+ "Programming Language :: Python :: 3",
12
+ "Programming Language :: Python :: 3.10",
13
+ "Programming Language :: Python :: 3.11",
14
+ "Programming Language :: Python :: 3.12",
15
+ ]
16
+
17
+ [project.urls]
18
+ Homepage = "https://github.com/VentionCo/simulation"
19
+ Repository = "https://github.com/VentionCo/simulation"
20
+
21
+ [build-system]
22
+ requires = ["hatchling"]
23
+ build-backend = "hatchling.build"
24
+
25
+ # scripts/generate.py writes _source.py: the version, and the vention-grpc-py-sdk
26
+ # release that hatch_build.py turns into the exact dependency pin.
27
+ [tool.hatch.version]
28
+ path = "src/vention_sim/_source.py"
29
+
30
+ [tool.hatch.metadata.hooks.custom]
31
+ path = "hatch_build.py"
32
+
33
+ # src/ is generated and gitignored; hatchling would otherwise drop it from the wheel.
34
+ [tool.hatch.build]
35
+ ignore-vcs = true
36
+
37
+ [tool.hatch.build.targets.wheel]
38
+ packages = ["src/vention_sim"]
39
+
40
+ [tool.hatch.build.targets.sdist]
41
+ include = ["src/vention_sim", "README.md", "hatch_build.py"]
@@ -0,0 +1,8 @@
1
+ from vention_sim._source import (
2
+ SIMULATION_SHA,
3
+ VENTION_GRPC_PY_SDK_VERSION,
4
+ VENTION_PROTOS_SHA,
5
+ __version__,
6
+ )
7
+
8
+ __all__ = ["SIMULATION_SHA", "VENTION_GRPC_PY_SDK_VERSION", "VENTION_PROTOS_SHA", "__version__"]
@@ -0,0 +1,6 @@
1
+ """Build metadata for this generated client."""
2
+
3
+ SIMULATION_SHA = "7b6105dba79313cd4dc025004c0439da55b779e8"
4
+ VENTION_PROTOS_SHA = "63d6d658f0b01491c97af46d9b434ef5330842a8"
5
+ VENTION_GRPC_PY_SDK_VERSION = "0.0.68"
6
+ __version__ = "0.1.0"
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/alert.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/alert.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aphysics/common/alert.proto\x12\x0ephysics.common\"P\n\x05\x41lert\x12-\n\x04type\x18\x01 \x01(\x0e\x32\x19.physics.common.AlertTypeR\x04type\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\">\n\rAlertsMessage\x12-\n\x06\x61lerts\x18\x01 \x03(\x0b\x32\x15.physics.common.AlertR\x06\x61lerts*Q\n\tAlertType\x12\x11\n\rGENERIC_ERROR\x10\x00\x12\x17\n\x13UNSTABLE_SIMULATION\x10\x01\x12\x18\n\x14REACHED_MEMORY_LIMIT\x10\x02\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.alert_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_ALERTTYPE']._serialized_start=192
35
+ _globals['_ALERTTYPE']._serialized_end=273
36
+ _globals['_ALERT']._serialized_start=46
37
+ _globals['_ALERT']._serialized_end=126
38
+ _globals['_ALERTSMESSAGE']._serialized_start=128
39
+ _globals['_ALERTSMESSAGE']._serialized_end=190
40
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/controlSignal.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/controlSignal.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"physics/common/controlSignal.proto\x12\x0ephysics.common\"\'\n\rControlSignal\x12\x16\n\x06values\x18\x01 \x03(\x01R\x06valuesb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.controlSignal_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_CONTROLSIGNAL']._serialized_start=54
35
+ _globals['_CONTROLSIGNAL']._serialized_end=93
36
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/gripper.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/gripper.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cphysics/common/gripper.proto\x12\x0ephysics.common\"`\n\rAttachGripper\x12%\n\x0esimulation_vid\x18\x01 \x01(\x05R\rsimulationVid\x12(\n\x10max_normal_force\x18\x02 \x01(\x01R\x0emaxNormalForceb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.gripper_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_ATTACHGRIPPER']._serialized_start=48
35
+ _globals['_ATTACHGRIPPER']._serialized_end=144
36
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/matrix4.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/matrix4.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cphysics/common/matrix4.proto\x12\x0ephysics.common\"%\n\x07Matrix4\x12\x1a\n\x08\x65lements\x18\x01 \x03(\x01R\x08\x65lementsb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.matrix4_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_MATRIX4']._serialized_start=48
35
+ _globals['_MATRIX4']._serialized_end=85
36
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,66 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/metrics.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/metrics.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cphysics/common/metrics.proto\x12\x0ephysics.common\"\xa1\x03\n\rTimingMetrics\x12]\n\x10\x66unction_timings\x18\x01 \x03(\x0b\x32\x32.physics.common.TimingMetrics.FunctionTimingsEntryR\x0f\x66unctionTimings\x12\x63\n\x12\x66unction_durations\x18\x02 \x03(\x0b\x32\x34.physics.common.TimingMetrics.FunctionDurationsEntryR\x11\x66unctionDurations\x1a\x63\n\x14\x46unctionTimingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.physics.common.FunctionTimingsR\x05value:\x02\x38\x01\x1ag\n\x16\x46unctionDurationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32!.physics.common.FunctionDurationsR\x05value:\x02\x38\x01\"\x96\x02\n\x0f\x46unctionTimings\x12\x38\n\x06timing\x18\x01 \x01(\x0b\x32 .physics.common.TimingStatisticsR\x06timing\x12\x62\n\x11\x63\x61llstack_timings\x18\x02 \x03(\x0b\x32\x35.physics.common.FunctionTimings.CallstackTimingsEntryR\x10\x63\x61llstackTimings\x1a\x65\n\x15\x43\x61llstackTimingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32 .physics.common.TimingStatisticsR\x05value:\x02\x38\x01\"\xe2\x01\n\x11\x46unctionDurations\x12\x1a\n\x08\x64uration\x18\x01 \x01(\x01R\x08\x64uration\x12j\n\x13\x63\x61llstack_durations\x18\x02 \x03(\x0b\x32\x39.physics.common.FunctionDurations.CallstackDurationsEntryR\x12\x63\x61llstackDurations\x1a\x45\n\x17\x43\x61llstackDurationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x02\x38\x01\"}\n\x0e\x43ontactMetrics\x12%\n\x0etotal_contacts\x18\x01 \x01(\x05R\rtotalContacts\x12!\n\x0c\x61vg_contacts\x18\x02 \x01(\x01R\x0b\x61vgContacts\x12!\n\x0cmax_contacts\x18\x03 \x01(\x05R\x0bmaxContacts\"\xc6\x01\n\x13PhysicsModelMetrics\x12\x1b\n\tdof_count\x18\x01 \x01(\x05R\x08\x64ofCount\x12%\n\x0egeometry_count\x18\x02 \x01(\x05R\rgeometryCount\x12%\n\x0e\x61\x63tuator_count\x18\x03 \x01(\x05R\ractuatorCount\x12%\n\x0e\x65quality_count\x18\x04 \x01(\x05R\requalityCount\x12\x1d\n\nbody_count\x18\x05 \x01(\x05R\tbodyCount\"\xb1\x01\n\rResourceUsage\x12\"\n\ravg_cpu_usage\x18\x01 \x01(\x01R\x0b\x61vgCpuUsage\x12(\n\x10\x61vg_memory_usage\x18\x02 \x01(\x01R\x0e\x61vgMemoryUsage\x12(\n\x10min_memory_usage\x18\x03 \x01(\x01R\x0eminMemoryUsage\x12(\n\x10max_memory_usage\x18\x04 \x01(\x01R\x0emaxMemoryUsage\"x\n\x10TimingStatistics\x12\x10\n\x03min\x18\x01 \x01(\x01R\x03min\x12\x10\n\x03max\x18\x02 \x01(\x01R\x03max\x12\x18\n\x07\x61verage\x18\x03 \x01(\x01R\x07\x61verage\x12\x10\n\x03p95\x18\x04 \x01(\x01R\x03p95\x12\x14\n\x05\x63ount\x18\x05 \x01(\x05R\x05\x63ount\"\xe7\x02\n\x11PhysicsRunMetrics\x12%\n\x0etotal_duration\x18\x01 \x01(\x01R\rtotalDuration\x12\x39\n\x05model\x18\x03 \x01(\x0b\x32#.physics.common.PhysicsModelMetricsR\x05model\x12\x38\n\x07\x63ontact\x18\x04 \x01(\x0b\x32\x1e.physics.common.ContactMetricsR\x07\x63ontact\x12\x44\n\x0eresource_usage\x18\x05 \x01(\x0b\x32\x1d.physics.common.ResourceUsageR\rresourceUsage\x12\x35\n\x06timing\x18\x08 \x01(\x0b\x32\x1d.physics.common.TimingMetricsR\x06timingJ\x04\x08\x02\x10\x03J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08R\x0bstep_timingR\x0finternalMetricsR\tstep_loopb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.metrics_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_TIMINGMETRICS_FUNCTIONTIMINGSENTRY']._loaded_options = None
35
+ _globals['_TIMINGMETRICS_FUNCTIONTIMINGSENTRY']._serialized_options = b'8\001'
36
+ _globals['_TIMINGMETRICS_FUNCTIONDURATIONSENTRY']._loaded_options = None
37
+ _globals['_TIMINGMETRICS_FUNCTIONDURATIONSENTRY']._serialized_options = b'8\001'
38
+ _globals['_FUNCTIONTIMINGS_CALLSTACKTIMINGSENTRY']._loaded_options = None
39
+ _globals['_FUNCTIONTIMINGS_CALLSTACKTIMINGSENTRY']._serialized_options = b'8\001'
40
+ _globals['_FUNCTIONDURATIONS_CALLSTACKDURATIONSENTRY']._loaded_options = None
41
+ _globals['_FUNCTIONDURATIONS_CALLSTACKDURATIONSENTRY']._serialized_options = b'8\001'
42
+ _globals['_TIMINGMETRICS']._serialized_start=49
43
+ _globals['_TIMINGMETRICS']._serialized_end=466
44
+ _globals['_TIMINGMETRICS_FUNCTIONTIMINGSENTRY']._serialized_start=262
45
+ _globals['_TIMINGMETRICS_FUNCTIONTIMINGSENTRY']._serialized_end=361
46
+ _globals['_TIMINGMETRICS_FUNCTIONDURATIONSENTRY']._serialized_start=363
47
+ _globals['_TIMINGMETRICS_FUNCTIONDURATIONSENTRY']._serialized_end=466
48
+ _globals['_FUNCTIONTIMINGS']._serialized_start=469
49
+ _globals['_FUNCTIONTIMINGS']._serialized_end=747
50
+ _globals['_FUNCTIONTIMINGS_CALLSTACKTIMINGSENTRY']._serialized_start=646
51
+ _globals['_FUNCTIONTIMINGS_CALLSTACKTIMINGSENTRY']._serialized_end=747
52
+ _globals['_FUNCTIONDURATIONS']._serialized_start=750
53
+ _globals['_FUNCTIONDURATIONS']._serialized_end=976
54
+ _globals['_FUNCTIONDURATIONS_CALLSTACKDURATIONSENTRY']._serialized_start=907
55
+ _globals['_FUNCTIONDURATIONS_CALLSTACKDURATIONSENTRY']._serialized_end=976
56
+ _globals['_CONTACTMETRICS']._serialized_start=978
57
+ _globals['_CONTACTMETRICS']._serialized_end=1103
58
+ _globals['_PHYSICSMODELMETRICS']._serialized_start=1106
59
+ _globals['_PHYSICSMODELMETRICS']._serialized_end=1304
60
+ _globals['_RESOURCEUSAGE']._serialized_start=1307
61
+ _globals['_RESOURCEUSAGE']._serialized_end=1484
62
+ _globals['_TIMINGSTATISTICS']._serialized_start=1486
63
+ _globals['_TIMINGSTATISTICS']._serialized_end=1606
64
+ _globals['_PHYSICSRUNMETRICS']._serialized_start=1609
65
+ _globals['_PHYSICSRUNMETRICS']._serialized_end=1968
66
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/partConfig.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/partConfig.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from vention_sim.physics.common import gripper_pb2 as physics_dot_common_dot_gripper__pb2
26
+ from vention_sim.physics.common import sensor_pb2 as physics_dot_common_dot_sensor__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fphysics/common/partConfig.proto\x12\x0ephysics.common\x1a\x1cphysics/common/gripper.proto\x1a\x1bphysics/common/sensor.proto\"\x86\x01\n\nPartConfig\x12\x30\n\x07sensors\x18\x01 \x03(\x0b\x32\x16.physics.common.SensorR\x07sensors\x12\x46\n\x0f\x61ttach_grippers\x18\x02 \x03(\x0b\x32\x1d.physics.common.AttachGripperR\x0e\x61ttachGrippersb\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.partConfig_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ DESCRIPTOR._loaded_options = None
36
+ _globals['_PARTCONFIG']._serialized_start=111
37
+ _globals['_PARTCONFIG']._serialized_end=245
38
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: physics/common/robot.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'physics/common/robot.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aphysics/common/robot.proto\x12\x0ephysics.common\"\x8d\x01\n\tRobotSpec\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x32\n\x06joints\x18\x02 \x03(\x0b\x32\x1a.physics.common.RobotJointR\x06joints\x12\x31\n\x15\x65nd_effector_link_vid\x18\x03 \x01(\x05R\x12\x65ndEffectorLinkVid\"O\n\nRobotJoint\x12\x1b\n\tjoint_eid\x18\x02 \x01(\x05R\x08jointEid\x12\x14\n\x05index\x18\x03 \x01(\x05R\x05indexJ\x04\x08\x01\x10\x02R\x08positionb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vention_sim.physics.common.robot_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_ROBOTSPEC']._serialized_start=47
35
+ _globals['_ROBOTSPEC']._serialized_end=188
36
+ _globals['_ROBOTJOINT']._serialized_start=190
37
+ _globals['_ROBOTJOINT']._serialized_end=269
38
+ # @@protoc_insertion_point(module_scope)