bosdyn-client 4.1.0__py3-none-any.whl → 5.0.0__py3-none-any.whl

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.
@@ -404,6 +404,10 @@ class _RegionOfInterestParamValidator(_ParamValidatorInterface):
404
404
  if self.param_spec.default_area.rectangle:
405
405
  raise InvalidCustomParamSpecError(
406
406
  ["Default area is a rectangle despite not being allowed"])
407
+ if not self.param_spec.allows_polygon:
408
+ if len(self.param_spec.default_area.polygon.vertices) > 0:
409
+ raise InvalidCustomParamSpecError(
410
+ ["Default area is a polygon despite not being allowed"])
407
411
 
408
412
  def validate_value(self, param_value):
409
413
  err = check_types_match(param_value, self.proto_type)
@@ -415,6 +419,13 @@ class _RegionOfInterestParamValidator(_ParamValidatorInterface):
415
419
  return CustomParamError(
416
420
  status=CustomParamError.STATUS_INVALID_VALUE,
417
421
  error_messages=["Chosen area is a rectangle despite not being allowed"])
422
+
423
+ if not self.param_spec.allows_polygon:
424
+ if len(param_value.area.polygon.vertices) > 0:
425
+ return CustomParamError(
426
+ status=CustomParamError.STATUS_INVALID_VALUE,
427
+ error_messages=["Chosen area is a polygon despite not being allowed"])
428
+
418
429
  if param_value.image_cols < 0:
419
430
  return CustomParamError(status=CustomParamError.STATUS_INVALID_VALUE,
420
431
  error_messages=["Number of columns in image must be positive"])
@@ -1165,10 +1176,10 @@ def make_bool_param_spec(default_value: Optional[bool] = None) -> BoolParam.Spec
1165
1176
  return spec
1166
1177
 
1167
1178
 
1168
- def make_region_of_interest_param_spec(
1169
- service_and_source: Optional[RegionOfInterestParam.ServiceAndSource] = None,
1170
- default_area: Optional[AreaI] = None,
1171
- allows_rectangle: bool = False) -> RegionOfInterestParam.Spec:
1179
+ def make_region_of_interest_param_spec(service_and_source: Optional[
1180
+ RegionOfInterestParam.ServiceAndSource] = None, default_area: Optional[AreaI] = None,
1181
+ allows_rectangle: bool = False,
1182
+ allows_polygon: bool = False) -> RegionOfInterestParam.Spec:
1172
1183
  """
1173
1184
  Helper function to create a RegionOfInterestParam.Spec
1174
1185
 
@@ -1176,10 +1187,12 @@ def make_region_of_interest_param_spec(
1176
1187
  service_and_source: service and source to which the RegionOfInterestParam should adhere
1177
1188
  default_area: starting area for the RegionOfInterestParam
1178
1189
  allows_rectangle: whether a rectangle may be drawn for the selected area
1190
+ allows_polygon: whether a polygon may be drawn for the selected area
1179
1191
  """
1180
1192
  return RegionOfInterestParam.Spec(default_area=default_area,
1181
1193
  service_and_source=service_and_source,
1182
- allows_rectangle=allows_rectangle)
1194
+ allows_rectangle=allows_rectangle,
1195
+ allows_polygon=allows_polygon)
1183
1196
 
1184
1197
 
1185
1198
 
@@ -8,6 +8,8 @@ from . import (audio, compositor, health, lighting, media_log, network, power, p
8
8
  version)
9
9
 
10
10
 
11
+ IMAGE_SERVICE_NAME = 'spot-cam-image'
12
+
11
13
  CLIENTS = [
12
14
  audio.AudioClient,
13
15
  compositor.CompositorClient,
@@ -159,18 +159,7 @@ class PtzClient(BaseClient):
159
159
  Returns:
160
160
  SetPtzFocusStateResponse indicating whether the call was successful
161
161
  """
162
-
163
- if focus_position is not None:
164
- focus_position_val = Int32Value(value=focus_position)
165
- approx_distance = None
166
- elif distance is not None:
167
- approx_distance = FloatValue(value=distance)
168
- focus_position_val = None
169
- else:
170
- raise ValueError("One of distance or focus_position must be specified.")
171
-
172
- ptz_focus_state = ptz_pb2.PtzFocusState(mode=focus_mode, approx_distance=approx_distance,
173
- focus_position=focus_position_val)
162
+ ptz_focus_state = create_focus_state(focus_mode, distance, focus_position)
174
163
  request = ptz_pb2.SetPtzFocusStateRequest(focus_state=ptz_focus_state)
175
164
  return self.call(self._stub.SetPtzFocusState, request,
176
165
  self._set_ptz_focus_state_from_response, common_header_errors,
@@ -178,18 +167,7 @@ class PtzClient(BaseClient):
178
167
 
179
168
  def set_ptz_focus_state_async(self, focus_mode, distance=None, focus_position=None, **kwargs):
180
169
  """Async version of set_ptz_focus_state()"""
181
-
182
- if focus_position is not None:
183
- focus_position_val = Int32Value(value=focus_position)
184
- approx_distance = None
185
- elif distance is not None:
186
- approx_distance = FloatValue(value=distance)
187
- focus_position_val = None
188
- else:
189
- raise ValueError("One of distance or focus_position must be specified.")
190
-
191
- ptz_focus_state = ptz_pb2.PtzFocusState(mode=focus_mode, approx_distance=approx_distance,
192
- focus_position=focus_position_val)
170
+ ptz_focus_state = create_focus_state(focus_mode, distance, focus_position)
193
171
  request = ptz_pb2.SetPtzFocusStateRequest(focus_state=ptz_focus_state)
194
172
  return self.call_async(self._stub.SetPtzFocusState, request,
195
173
  self._set_ptz_focus_state_from_response, common_header_errors,
@@ -232,3 +210,21 @@ class PtzClient(BaseClient):
232
210
  def shift_pan_angle(pan):
233
211
  """Shift the pan angle (degrees) so that it is in the [0,360] range."""
234
212
  return recenter_value_mod(pan, 180, 360)
213
+
214
+
215
+ def create_focus_state(focus_mode, distance=None, focus_position=None):
216
+ """Generate a focus state proto."""
217
+ approx_distance = None
218
+ focus_position_val = None
219
+ if focus_mode == ptz_pb2.PtzFocusState.PTZ_FOCUS_MANUAL:
220
+ if focus_position is not None:
221
+ focus_position_val = Int32Value(value=focus_position)
222
+ approx_distance = None
223
+ elif distance is not None:
224
+ approx_distance = FloatValue(value=distance)
225
+ focus_position_val = None
226
+ else:
227
+ raise ValueError("One of distance or focus_position must be specified.")
228
+
229
+ return ptz_pb2.PtzFocusState(mode=focus_mode, approx_distance=approx_distance,
230
+ focus_position=focus_position_val)
bosdyn/client/util.py CHANGED
@@ -389,7 +389,7 @@ def add_service_endpoint_arguments(parser):
389
389
 
390
390
  def safe_pb_enum_to_string(value, pb_enum_obj):
391
391
  """Safe wrapper to convert a protobuf enum object to its string representation.
392
- Avoids throughing an exception if the status is unknown by the enum object.
392
+ Avoids throwing an exception if the status is unknown by the enum object.
393
393
 
394
394
  Args:
395
395
  value: The enum value to convert
@@ -1,22 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bosdyn-client
3
- Version: 4.1.0
3
+ Version: 5.0.0
4
4
  Summary: Boston Dynamics API client code and interfaces
5
5
  Home-page: https://dev.bostondynamics.com/
6
6
  Author: Boston Dynamics
7
7
  Author-email: support@bostondynamics.com
8
8
  Project-URL: Documentation, https://dev.bostondynamics.com/
9
9
  Project-URL: Source, https://github.com/boston-dynamics/spot-sdk/
10
- Classifier: Programming Language :: Python :: 3.6
11
10
  Classifier: Programming Language :: Python :: 3.7
12
11
  Classifier: Programming Language :: Python :: 3.8
13
12
  Classifier: Programming Language :: Python :: 3.9
14
13
  Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: License :: Other/Proprietary License
16
15
  Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.7
17
17
  Description-Content-Type: text/markdown
18
- Requires-Dist: bosdyn-api (==4.1.0)
19
- Requires-Dist: bosdyn-core (==4.1.0)
18
+ Requires-Dist: bosdyn-api (==5.0.0)
19
+ Requires-Dist: bosdyn-core (==5.0.0)
20
20
  Requires-Dist: grpcio
21
21
  Requires-Dist: pyjwt
22
22
  Requires-Dist: numpy
@@ -1,5 +1,5 @@
1
1
  bosdyn/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
2
- bosdyn/client/__init__.py,sha256=EtinCbRF6c1BFlxRGFKGtcSSzYQQpBjnHTHOXBXxNLM,1312
2
+ bosdyn/client/__init__.py,sha256=PsouppDAVJC_29ETHUpDsGg6LWI6QDYIcQdFZGncWq4,1313
3
3
  bosdyn/client/__main__.py,sha256=g__h-0z_Q6yzuiXdHQQTh9AI3C2cSc3PocpvbLVwa3E,466
4
4
  bosdyn/client/area_callback.py,sha256=nQnhJR8-f0PMq9uILpKhYitVuIZHl6VViUDndN2K4u8,6270
5
5
  bosdyn/client/area_callback_region_handler_base.py,sha256=cr5SwGogXmuMbAbbMeHvQZQBflYyFTOCj7wrUOgsUHQ,16467
@@ -14,13 +14,13 @@ bosdyn/client/autowalk.py,sha256=e57FcAC4fu2BPD57Yy4j1F8DPIPPic0Qt1E0UM-oZWo,573
14
14
  bosdyn/client/bddf.py,sha256=ok_2JcflSCQfcM25lpEgzKnkEJl0FDcJ16Bgo9Rjyzc,1763
15
15
  bosdyn/client/bddf_download.py,sha256=oDztm-aS5J_ABLb-cxomNtwNPrdlnFp8hEuOMVxVRH4,7586
16
16
  bosdyn/client/channel.py,sha256=voNa-3S6LXsTlsXPXPLEoqNxYl2Xx5CNP7w9EELEtdY,8840
17
- bosdyn/client/command_line.py,sha256=0f5ALKTQB1dR7xegHQk0GLTExwkrFCeiTZJkIpEAetA,98595
17
+ bosdyn/client/command_line.py,sha256=lg5lhCAOP4Zgt6At8wis21_O2NB_SbGLL6MR22eIHL4,98748
18
18
  bosdyn/client/common.py,sha256=n4iTcdLCWTS9k0iH8_qrQAOhryqWjSfoEIgiBynjhOY,24997
19
19
  bosdyn/client/data_acquisition.py,sha256=jd3XvrktXsGUh3mlL4zMzs6zSvynayVE2_GodnYgFH4,15226
20
- bosdyn/client/data_acquisition_helpers.py,sha256=4eB0N2IEwhBm3LVp5d_ni2CkpYu3wTtkVS0k7qhYm2M,14805
20
+ bosdyn/client/data_acquisition_helpers.py,sha256=j6nTxk9QP4AsiYX9LPf0g2qDmBf-NU61kC2zZpbEBdA,14805
21
21
  bosdyn/client/data_acquisition_plugin.py,sha256=5IG2IYkL5FDPZhPRB8caoBjx34f63Eem5u5oZTHBaxo,6690
22
22
  bosdyn/client/data_acquisition_plugin_service.py,sha256=tzUBUg9LVPKvDpgogTqEzkhVdlxvHds2HdxRdNDfIJQ,28217
23
- bosdyn/client/data_acquisition_store.py,sha256=AeBUbgvybUCT7ROOwhvanN-fTKu6fH3ifvaxIRqOQHk,19647
23
+ bosdyn/client/data_acquisition_store.py,sha256=n7MUM5LLSzRJ7zC13d4pXCN-gbkduMYkt7YXU2syc1s,19647
24
24
  bosdyn/client/data_buffer.py,sha256=Ta-7CCoy_-StzXDm8cLIjvOnMDgKEzKFc9mcDmVkubc,26661
25
25
  bosdyn/client/data_chunk.py,sha256=6xq9zqLD-JH72ZxzEQEKYqhXvb34TlcZoeqAYaXRxCw,1959
26
26
  bosdyn/client/data_service.py,sha256=aKfXJCciJ2M2WZRKfdWiLS2n-UEKWSRkOgcTnArbc5o,5201
@@ -32,10 +32,10 @@ bosdyn/client/estop.py,sha256=-dy3SP6lcOryyTB_VXe0C_cFk-qK1TNJdSm9DKSz-MM,32073
32
32
  bosdyn/client/exceptions.py,sha256=VQg5cSrzB9_pmFcUCbBaRF2QtBUKfdzpR94N3q2rNx0,5323
33
33
  bosdyn/client/fault.py,sha256=ymo4M1Vy-bUasD8uOm1pxE1HnjheCds6qA9hZiJbAzY,6050
34
34
  bosdyn/client/frame_helpers.py,sha256=Rrm0Zx10LoaVsJv-FPCX02LVQwNkyKVO28lZz7Bmlvg,12572
35
- bosdyn/client/graph_nav.py,sha256=cR7iWMGSnF0a-tj7rb5TRG6mioOJI9XETlEc-Cqmkpk,69146
36
- bosdyn/client/gripper_camera_param.py,sha256=QKkHrA08c-BRhyLHrE4pDdh8AGUytoq6OABZpqsvVB0,2631
37
- bosdyn/client/image.py,sha256=UepSlmgZhHD-GJeYKclStkExHNZ6_n4gCzqQxB4nJTQ,21355
38
- bosdyn/client/image_service_helpers.py,sha256=u8sCev4slrz593m02RxPrMV9Kdns06xrspJkTIFHe9E,39374
35
+ bosdyn/client/graph_nav.py,sha256=8sULbBAFaFxJPF3ZdI_kqLYpzA0XbhGO-zECRyVH1J4,70681
36
+ bosdyn/client/gripper_camera_param.py,sha256=Zrd_YQfuaKaNRXSUQpcgsAkQjDVl39XtTIGAy9fKvZI,4393
37
+ bosdyn/client/image.py,sha256=fn41QOvaAOH7UT7m2ENXayI4fLXg5NQBZrmpLFZVBBE,21980
38
+ bosdyn/client/image_service_helpers.py,sha256=l2hZKqcG7PI05-_bhh8BLkpN4METmG53JCR0YF3q-8Y,40421
39
39
  bosdyn/client/inverse_kinematics.py,sha256=KBgvGdnt-JZJvDzbdJ72Kqw8RHoOsqKq_p9rQtvwuKo,1708
40
40
  bosdyn/client/ir_enable_disable.py,sha256=6c5MAuO1Fj0RlVcjkP1vhs-qTLiOpM3RnD8F7_ik1Gw,2153
41
41
  bosdyn/client/keepalive.py,sha256=C-Vf17-sSfAHq4cbuuVIh7JQM7NLzv2pRekjHJywfdU,13214
@@ -44,42 +44,45 @@ bosdyn/client/lease_resource_hierarchy.py,sha256=b_YpVCeiJwVQzAy1Xh5h-1HYjpbzZvm
44
44
  bosdyn/client/lease_validator.py,sha256=Vo5-2mtfCh50i7MDXLf4NlOBOgqd28ynPp2FF7NNGx0,14505
45
45
  bosdyn/client/license.py,sha256=mJRBtwo3UHUVXqAKq-3eBf35v9U_Za_P9lPRXF9q9Lk,1736
46
46
  bosdyn/client/local_grid.py,sha256=YszM_pTmeGuGIwExgRwB76PXJciO6rZqfaL2RHLxAf0,3475
47
- bosdyn/client/log_status.py,sha256=Om5S7RPS5y-lwCfumWPPocygpYmokT5J9A6ri44Q6co,12563
47
+ bosdyn/client/log_status.py,sha256=wcKZEFw8GHyWeYKysZ75i3PrLb1r2xVUEAyO3SDmxOI,12656
48
48
  bosdyn/client/manipulation_api_client.py,sha256=bdTTqZk73m7l9bty9CNC9Bs-hTTRFEA_wDweMb4mLu4,4204
49
49
  bosdyn/client/map_processing.py,sha256=xmwTkAfIIvRbaRnOCj-JTkrfS13n4z_DAqg-sc8hL2Y,10239
50
- bosdyn/client/math_helpers.py,sha256=yWGd4LW32KNXdaZ6TNIEWX-nriV72yBuawu37IjTtC4,47848
50
+ bosdyn/client/math_helpers.py,sha256=Xb74-Yxd85BChnOt7j9uiLKPd3h5aqREeiys0QMJiL8,48608
51
51
  bosdyn/client/metrics_logging.py,sha256=9gjVK5Xu4JpOqMg4_tKMHd-XHOh--xaiU_OP9zcGOMs,6646
52
52
  bosdyn/client/network_compute_bridge_client.py,sha256=L7RmgCRKiPBn3SVwIxCqP0hkEkhRhF5k5xz2BpC-Omk,7966
53
53
  bosdyn/client/payload.py,sha256=12vZirEI4-gu9KPHsDg6MH0QCmnxbolWR1j81lvgfVw,2271
54
54
  bosdyn/client/payload_registration.py,sha256=ilT-2W1iuCZImLeDlPLovPYg5HJCk7nLTHxod0Rn8nY,22316
55
- bosdyn/client/point_cloud.py,sha256=EZO67eqzTEX31RPHBvWXhu2GSSM82BfNNoWALFv21Xk,8382
55
+ bosdyn/client/payload_software_update.py,sha256=nYrFOxuikVd-cChkx8aZ9gpVQSxjadgPcxyT6eklwT4,8716
56
+ bosdyn/client/payload_software_update_initiation.py,sha256=LDAe_gDUCLDKOC54MbhC-hsywqNMmT_dtnYjmMaef1g,3216
57
+ bosdyn/client/point_cloud.py,sha256=F_AJBYql8b6Ok_-IEmxpV4ajdXZ_GOahPe_QwWLf7xk,8627
56
58
  bosdyn/client/power.py,sha256=teVPBPcwsUHvn996upF06Y5MJsfQrE-93ezMXAAYSmA,26955
57
59
  bosdyn/client/processors.py,sha256=Z-Djf_I_lhfokB-f_L0PewAY8J95LThdWVju1zJ2BaE,1275
58
60
  bosdyn/client/ray_cast.py,sha256=Ca1yJo0aY6OmVAazb19fy44L-9LzcKVxr_fHt_EoQtg,4465
59
61
  bosdyn/client/recording.py,sha256=sQ34G_ckrE-M42ER2GUbYI7UibvdrjHycaia58IpJ2s,25913
60
- bosdyn/client/robot.py,sha256=HlwDPETYiQ0GT1ko4jVv-9Atbu7qAhfdgFfAkWXD1Sg,30775
62
+ bosdyn/client/robot.py,sha256=kOtUJq-cg7ovn7EvePe06l5nCUDnvFYhm0XCwSL2XXE,30909
61
63
  bosdyn/client/robot_command.py,sha256=LtoVKlJwwhTmADRMvJIWJ4B5rY_MpdhHnL72zKm1ECU,108248
62
64
  bosdyn/client/robot_id.py,sha256=0VZHG9hltwTLAm1_Bt26Xq1O6EROswqNwHvjY7kaplk,2482
63
65
  bosdyn/client/robot_state.py,sha256=h551ke5eHdAC7NgVuLphY8FZR899Ii8_lYwuoX1w1nk,7073
64
- bosdyn/client/sdk.py,sha256=uyawohyi8-BpLoCJe7cKICIzfEsVD-hN5GtgKFuKRak,12861
66
+ bosdyn/client/sdk.py,sha256=UFG5sRbnzEiB7hlUBIPm9KVceBrEOLGDuLQJtoIdyzM,12864
65
67
  bosdyn/client/server_util.py,sha256=uLT12vs5nAhdJ0ryaKuE82dxXnBOupebyDuzI8tbLRo,10560
66
- bosdyn/client/service_customization_helpers.py,sha256=7x5of7UioiEN_jYshynFCRw7rjB8JhocCN1gpeyexaY,48335
68
+ bosdyn/client/service_customization_helpers.py,sha256=KSRp585Ux87Ozj_pGDLbzG119MGnIGf8YDQ8WFs2qGc,49122
67
69
  bosdyn/client/signals_helpers.py,sha256=Sp91IrMxVU-PeH6TK2njzFCKmFMyshRJqNa4DYRMqDU,3682
68
70
  bosdyn/client/spot_check.py,sha256=PKqN3kwL6oISkqwXEm_R4vz0uixIsfowWY9mC0mM8Cc,14619
69
71
  bosdyn/client/time_sync.py,sha256=mDkcR5RlAKfAOwEUoBjwxtJFDKuGFGmiDcrOeCO2P_g,23089
70
72
  bosdyn/client/token_cache.py,sha256=Vwf9YfsR7pTyu1fLRzXrvDo9hG5GBJcen8Azlo_5_iA,3507
71
73
  bosdyn/client/token_manager.py,sha256=FvDFCXKIiGXZNkagKZM41Ut8Q0ChlYHN3O61CzrqMF8,3144
72
74
  bosdyn/client/units_helpers.py,sha256=5SAmL8vsnl06oGNjzb57fUkuUbGvtbeNdg4NgW0wYAY,1084
73
- bosdyn/client/util.py,sha256=itOXkbGRuwLpMN0nOFCeLo2mHd1rcZofjawPGTcIrw4,19970
75
+ bosdyn/client/util.py,sha256=Cr_IB1taOh6Hmu1EdTHa_NU08eXnTEG7kzGX_2xDfoE,19968
74
76
  bosdyn/client/world_object.py,sha256=CNfZJxwdTjd-Oh35liNdkZ27sAzdnBVFTkpVIICfRTo,17066
75
- bosdyn/client/gps/NMEAParser.py,sha256=XD-qCjZwm0IlZz7wb--riI-c_L2N-8rf4ZKrFATyC_g,8392
77
+ bosdyn/client/gps/NMEAParser.py,sha256=4ZZDt7NbQiDQpeu2Cs7OsgWErUgMk5XtSIWaoEuLfHE,8709
76
78
  bosdyn/client/gps/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
77
79
  bosdyn/client/gps/aggregator_client.py,sha256=hMlmUcFope-QO51h0OAcDKWd_VUmkTkmeI6kLhj7OrU,2361
78
- bosdyn/client/gps/gps_listener.py,sha256=YJs_VLjXz7eQqjqqhndJWydRQzMdrTGMr05J5gaFSuw,6524
80
+ bosdyn/client/gps/gps_listener.py,sha256=Xx-H61o-uV4qO5XWOBnOJckYDi7c9azl9_EyWHjYJbU,7796
81
+ bosdyn/client/gps/ntrip_client.py,sha256=AvFThi3F3LyuES9vm_niHmktSLiGr_-gbIjg7pRku4Q,8311
79
82
  bosdyn/client/gps/registration_client.py,sha256=LqDLl_Ezv3HNUr9R1B4n2hcMArmGwLgg1asCkGhe2WA,1901
80
83
  bosdyn/client/resources/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
81
84
  bosdyn/client/resources/robot.pem,sha256=kWAr4xK29RtTVC_EhbwW2_NblIuecYqVudR2YIdTh84,1874
82
- bosdyn/client/spot_cam/__init__.py,sha256=EZAvjRSla78A2iAENu-VJLbmwamNenTZPwQspQ5iyx8,790
85
+ bosdyn/client/spot_cam/__init__.py,sha256=N0FRE-glagSWkK9HQZuGyHvRGCfDzxUyVoPFu0mkrPU,829
83
86
  bosdyn/client/spot_cam/audio.py,sha256=8DvUOhfHVYTOXqlQEny5qUjHvvDsijvJ_njqyNJWUrs,9845
84
87
  bosdyn/client/spot_cam/compositor.py,sha256=pU3OcyrSX8RukXgTygOC-Eub-slBCxm05u97-b3oKaw,10570
85
88
  bosdyn/client/spot_cam/health.py,sha256=HsmLOKVb7iM6bfbZye0UapPezL2naWo4yl_7HQDNGA4,4707
@@ -88,10 +91,10 @@ bosdyn/client/spot_cam/lights_helper.py,sha256=VWhXwcZ1a5X6OQ6Fd1CzGGPdW4BNQ5j63
88
91
  bosdyn/client/spot_cam/media_log.py,sha256=CJJepePouHr1QoXuev8oJSMhA-JUYpcm6IBUq4k-Bl4,10379
89
92
  bosdyn/client/spot_cam/network.py,sha256=W7z91ERPzba3BCK23jio8byDjVr6kYnucQ9zKg9BqUA,3023
90
93
  bosdyn/client/spot_cam/power.py,sha256=HS3nJF8hXq9m1JziOIwLHGLtlNMyLgewWBgs-mRZmTM,5181
91
- bosdyn/client/spot_cam/ptz.py,sha256=8e6fA07aGnymSXV2MB_QBx0Pv4PSAMOihxq1jyoinDU,10815
94
+ bosdyn/client/spot_cam/ptz.py,sha256=O1m7zDZ92zRmvy9qhjojiphMQwAweTO0HVizQFdWFFE,10630
92
95
  bosdyn/client/spot_cam/streamquality.py,sha256=e-RjizZPwZSOS4Jlqb5Ds-mC6uKam252dpEHkb58Oc8,6364
93
96
  bosdyn/client/spot_cam/version.py,sha256=R82eyCAY9PfZqbN8D6hNzSeZatpgpsFr995dRt1Mbe0,2856
94
- bosdyn_client-4.1.0.dist-info/METADATA,sha256=NoSWkd1tll0TvEfXY0iwBgpaMIVrxdVylGT1EEZwmMU,4014
95
- bosdyn_client-4.1.0.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
96
- bosdyn_client-4.1.0.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
97
- bosdyn_client-4.1.0.dist-info/RECORD,,
97
+ bosdyn_client-5.0.0.dist-info/METADATA,sha256=2nuQY0XUTFHO8hKP4nWMxstk-raf3F3O3VCg6ebzh3s,3987
98
+ bosdyn_client-5.0.0.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
99
+ bosdyn_client-5.0.0.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
100
+ bosdyn_client-5.0.0.dist-info/RECORD,,