bosdyn-client 5.0.1.1__py3-none-any.whl → 5.1.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.
- bosdyn/client/access_controlled_door_util.py +206 -0
- bosdyn/client/arm_surface_contact.py +2 -2
- bosdyn/client/async_tasks.py +3 -2
- bosdyn/client/audio_visual.py +6 -7
- bosdyn/client/audio_visual_helpers.py +3 -2
- bosdyn/client/autowalk.py +0 -2
- bosdyn/client/command_line.py +61 -4
- bosdyn/client/common.py +1 -1
- bosdyn/client/data_acquisition.py +3 -5
- bosdyn/client/data_acquisition_helpers.py +0 -3
- bosdyn/client/data_acquisition_plugin.py +1 -2
- bosdyn/client/data_acquisition_plugin_service.py +3 -2
- bosdyn/client/data_acquisition_store.py +1 -7
- bosdyn/client/data_buffer.py +5 -4
- bosdyn/client/directory_registration.py +3 -2
- bosdyn/client/estop.py +3 -2
- bosdyn/client/fault.py +1 -1
- bosdyn/client/gps/aggregator_client.py +2 -4
- bosdyn/client/gps/gps_listener.py +5 -7
- bosdyn/client/gps/ntrip_client.py +12 -3
- bosdyn/client/graph_nav.py +67 -13
- bosdyn/client/hazard_avoidance.py +119 -0
- bosdyn/client/image.py +5 -4
- bosdyn/client/image_service_helpers.py +6 -7
- bosdyn/client/ir_enable_disable.py +1 -1
- bosdyn/client/keepalive.py +4 -2
- bosdyn/client/lease.py +3 -2
- bosdyn/client/lease_validator.py +0 -1
- bosdyn/client/log_status.py +57 -3
- bosdyn/client/map_processing.py +2 -4
- bosdyn/client/network_compute_bridge_client.py +4 -6
- bosdyn/client/payload.py +2 -3
- bosdyn/client/payload_registration.py +11 -10
- bosdyn/client/power.py +84 -27
- bosdyn/client/processors.py +27 -2
- bosdyn/client/recording.py +3 -3
- bosdyn/client/robot_command.py +22 -22
- bosdyn/client/robot_state.py +1 -1
- bosdyn/client/sdk.py +2 -3
- bosdyn/client/service_customization_helpers.py +1 -1
- bosdyn/client/spot_cam/audio.py +1 -2
- bosdyn/client/spot_cam/health.py +1 -1
- bosdyn/client/spot_cam/lighting.py +1 -1
- bosdyn/client/spot_cam/media_log.py +1 -1
- bosdyn/client/spot_cam/network.py +3 -2
- bosdyn/client/spot_cam/power.py +1 -1
- bosdyn/client/spot_cam/ptz.py +1 -1
- bosdyn/client/spot_cam/streamquality.py +1 -1
- bosdyn/client/spot_cam/version.py +1 -1
- bosdyn/client/spot_check.py +5 -6
- bosdyn/client/url_validation_util.py +220 -0
- bosdyn/client/util.py +2 -4
- bosdyn/client/world_object.py +1 -1
- {bosdyn_client-5.0.1.1.dist-info → bosdyn_client-5.1.0.dist-info}/METADATA +3 -3
- bosdyn_client-5.1.0.dist-info/RECORD +106 -0
- bosdyn_client-5.0.1.1.dist-info/RECORD +0 -103
- {bosdyn_client-5.0.1.1.dist-info → bosdyn_client-5.1.0.dist-info}/WHEEL +0 -0
- {bosdyn_client-5.0.1.1.dist-info → bosdyn_client-5.1.0.dist-info}/top_level.txt +0 -0
bosdyn/client/spot_cam/ptz.py
CHANGED
|
@@ -13,7 +13,7 @@ _LOGGER = logging.getLogger(__name__)
|
|
|
13
13
|
from google.protobuf.wrappers_pb2 import FloatValue, Int32Value
|
|
14
14
|
|
|
15
15
|
from bosdyn.api.spot_cam import ptz_pb2, service_pb2_grpc
|
|
16
|
-
from bosdyn.client.common import BaseClient, common_header_errors
|
|
16
|
+
from bosdyn.client.common import BaseClient, common_header_errors
|
|
17
17
|
from bosdyn.client.math_helpers import recenter_value_mod
|
|
18
18
|
|
|
19
19
|
|
|
@@ -11,7 +11,7 @@ import logging
|
|
|
11
11
|
_LOGGER = logging.getLogger(__name__)
|
|
12
12
|
|
|
13
13
|
from bosdyn.api.spot_cam import service_pb2_grpc, streamquality_pb2
|
|
14
|
-
from bosdyn.client.common import BaseClient,
|
|
14
|
+
from bosdyn.client.common import BaseClient, handle_common_header_errors
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class StreamQualityClient(BaseClient):
|
|
@@ -11,7 +11,7 @@ import logging
|
|
|
11
11
|
_LOGGER = logging.getLogger(__name__)
|
|
12
12
|
|
|
13
13
|
from bosdyn.api.spot_cam import service_pb2_grpc, version_pb2
|
|
14
|
-
from bosdyn.client.common import BaseClient,
|
|
14
|
+
from bosdyn.client.common import BaseClient, handle_common_header_errors
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class VersionClient(BaseClient):
|
bosdyn/client/spot_check.py
CHANGED
|
@@ -7,12 +7,11 @@
|
|
|
7
7
|
import collections
|
|
8
8
|
import time
|
|
9
9
|
|
|
10
|
-
from urllib3 import Timeout
|
|
11
|
-
|
|
12
10
|
from bosdyn.api.spot import spot_check_pb2, spot_check_service_pb2_grpc
|
|
13
11
|
from bosdyn.client.common import (BaseClient, error_factory, handle_common_header_errors,
|
|
14
12
|
handle_lease_use_result_errors, handle_unset_status_error)
|
|
15
13
|
from bosdyn.client.exceptions import LeaseUseError, ResponseError, TimedOutError
|
|
14
|
+
from bosdyn.util import now_sec
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
class SpotCheckError(ResponseError):
|
|
@@ -191,7 +190,7 @@ def run_spot_check(spot_check_client, lease, timeout_sec=212, update_frequency=0
|
|
|
191
190
|
Raises:
|
|
192
191
|
bosdyn.client.exceptions.Error: Throws on any error failure.
|
|
193
192
|
"""
|
|
194
|
-
start_time =
|
|
193
|
+
start_time = now_sec()
|
|
195
194
|
end_time = start_time + timeout_sec
|
|
196
195
|
update_time = 1.0 / update_frequency
|
|
197
196
|
# Start spot check procedure.
|
|
@@ -201,7 +200,7 @@ def run_spot_check(spot_check_client, lease, timeout_sec=212, update_frequency=0
|
|
|
201
200
|
spot_check_client.spot_check_command(req)
|
|
202
201
|
# Check spot check feedback.
|
|
203
202
|
feedback_req = spot_check_pb2.SpotCheckFeedbackRequest()
|
|
204
|
-
while (
|
|
203
|
+
while (now_sec() < end_time):
|
|
205
204
|
time.sleep(update_time)
|
|
206
205
|
res = spot_check_client.spot_check_feedback(feedback_req)
|
|
207
206
|
if (res.state == spot_check_pb2.SpotCheckFeedbackResponse.STATE_WAITING_FOR_COMMAND or
|
|
@@ -234,7 +233,7 @@ def run_camera_calibration(spot_check_client, lease, timeout_sec=1200, update_fr
|
|
|
234
233
|
Raises:
|
|
235
234
|
bosdyn.client.exceptions.Error: Throws on any calibration failure.
|
|
236
235
|
"""
|
|
237
|
-
start_time =
|
|
236
|
+
start_time = now_sec()
|
|
238
237
|
end_time = start_time + timeout_sec
|
|
239
238
|
update_time = 1.0 / update_frequency
|
|
240
239
|
# Start camera calibration procedure.
|
|
@@ -244,7 +243,7 @@ def run_camera_calibration(spot_check_client, lease, timeout_sec=1200, update_fr
|
|
|
244
243
|
spot_check_client.camera_calibration_command(req)
|
|
245
244
|
# Check camera calibration feedback.
|
|
246
245
|
feedback_req = spot_check_pb2.CameraCalibrationFeedbackRequest()
|
|
247
|
-
while (
|
|
246
|
+
while (now_sec() < end_time):
|
|
248
247
|
time.sleep(update_time)
|
|
249
248
|
res = spot_check_client.camera_calibration_feedback(feedback_req)
|
|
250
249
|
if (res.status == spot_check_pb2.CameraCalibrationFeedbackResponse.STATUS_SUCCESS):
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# Copyright (c) 2023 Boston Dynamics, Inc. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Downloading, reproducing, distributing or otherwise using the SDK Software
|
|
4
|
+
# is subject to the terms and conditions of the Boston Dynamics Software
|
|
5
|
+
# Development Kit License (20191101-BDSDK-SL).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import enum
|
|
9
|
+
import ipaddress
|
|
10
|
+
import logging
|
|
11
|
+
import socket
|
|
12
|
+
from contextlib import contextmanager
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
from urllib.parse import urlparse, urlunparse
|
|
15
|
+
|
|
16
|
+
import requests
|
|
17
|
+
|
|
18
|
+
MAX_REDIRECTS = 3
|
|
19
|
+
SO_BINDTODEVICE = getattr(socket, "SO_BINDTODEVICE", 25)
|
|
20
|
+
|
|
21
|
+
_LOGGER = logging.getLogger(__name__)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class InterfaceNameNotFound(Exception):
|
|
26
|
+
"""Raised when a specified network interface is not present on the
|
|
27
|
+
system."""
|
|
28
|
+
|
|
29
|
+
def __init__(self, name: str):
|
|
30
|
+
super().__init__(f"Interface '{name}' is not found on system.")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class BindAdapter(requests.adapters.HTTPAdapter):
|
|
36
|
+
"""Allows binding to a specific network interface and enforcing a custom
|
|
37
|
+
Host header for HTTP."""
|
|
38
|
+
|
|
39
|
+
def __init__(self, is_robot=True, interface=None, resolved_ip=None, assert_hostname=None,
|
|
40
|
+
force_host=None, *args, **kwargs):
|
|
41
|
+
if not is_robot:
|
|
42
|
+
self.interface = interface
|
|
43
|
+
self.resolved_ip = resolved_ip
|
|
44
|
+
self.assert_hostname = assert_hostname
|
|
45
|
+
self.force_host = force_host
|
|
46
|
+
super().__init__(*args, **kwargs)
|
|
47
|
+
|
|
48
|
+
def send(self, request, **kwargs):
|
|
49
|
+
"""Override the send method to enforce a custom Host header for
|
|
50
|
+
HTTP."""
|
|
51
|
+
if self.force_host:
|
|
52
|
+
request.headers["Host"] = self.force_host
|
|
53
|
+
return super().send(request, **kwargs)
|
|
54
|
+
|
|
55
|
+
def get_connection_with_tls_context(self, request, verify, proxies=None, cert=None):
|
|
56
|
+
host_params, pool_kwargs = super().build_connection_pool_key_attributes(
|
|
57
|
+
request, verify, cert)
|
|
58
|
+
|
|
59
|
+
if self.resolved_ip:
|
|
60
|
+
host_params["host"] = self.resolved_ip
|
|
61
|
+
else:
|
|
62
|
+
raise ValueError("BindAdapter requires a resolved IP address to connect to.")
|
|
63
|
+
|
|
64
|
+
if host_params.get("scheme") == "https":
|
|
65
|
+
vanity = self.assert_hostname or (urlparse(request.url).hostname) or self.force_host
|
|
66
|
+
if vanity:
|
|
67
|
+
pool_kwargs["server_hostname"] = vanity # SNI
|
|
68
|
+
pool_kwargs["assert_hostname"] = vanity # cert hostname check
|
|
69
|
+
|
|
70
|
+
if self.interface:
|
|
71
|
+
so = pool_kwargs.get("socket_options") or []
|
|
72
|
+
so.append((socket.SOL_SOCKET, SO_BINDTODEVICE, (self.interface + "\0").encode("utf-8")))
|
|
73
|
+
pool_kwargs["socket_options"] = so
|
|
74
|
+
|
|
75
|
+
conn = self.poolmanager.connection_from_host(
|
|
76
|
+
host=host_params["host"],
|
|
77
|
+
port=host_params.get("port"),
|
|
78
|
+
scheme=host_params.get("scheme", "https"),
|
|
79
|
+
pool_kwargs=pool_kwargs,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
return conn
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
@contextmanager
|
|
86
|
+
def create_bound_session(is_robot=True, interface=None, resolved_ip=None, sni_hostname=None,
|
|
87
|
+
force_host=None):
|
|
88
|
+
"""Creates a session bound to optional interface with optional SNI
|
|
89
|
+
hostname."""
|
|
90
|
+
session = requests.Session()
|
|
91
|
+
adapter = BindAdapter(is_robot, interface=interface, resolved_ip=resolved_ip,
|
|
92
|
+
assert_hostname=sni_hostname, force_host=force_host)
|
|
93
|
+
session.mount("http://", adapter)
|
|
94
|
+
session.mount("https://", adapter)
|
|
95
|
+
|
|
96
|
+
try:
|
|
97
|
+
yield session
|
|
98
|
+
finally:
|
|
99
|
+
session.close()
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def validate_url(url):
|
|
105
|
+
"""Checks if any IP address resolved from a URL is in the blacklist. First
|
|
106
|
+
checks if the hostname is already a valid IP address.
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
url: The URL to check.
|
|
110
|
+
|
|
111
|
+
Returns:
|
|
112
|
+
A Tuple, where the first value is whether or not the given url was valid.
|
|
113
|
+
If True, the second value is a dict containing the url and hostname,
|
|
114
|
+
if False, the second value is an error statement of what went wrong.
|
|
115
|
+
"""
|
|
116
|
+
try:
|
|
117
|
+
# The URL here could be a vanity name or IP address (IPv4 or IPv6), with or without a port, e.g., example.com, example.com:1234, 1.1.1.1, 1.1.1.1:1234, [::ffff:101:101], or [::ffff:101:101]:1234.
|
|
118
|
+
parsed_url = urlparse(url)
|
|
119
|
+
ret = {"parsed_url": parsed_url}
|
|
120
|
+
|
|
121
|
+
try:
|
|
122
|
+
# This try block is for the case where the host is an explicit IP address, e.g., 1.1.1.1 or [::ffff:101:101].
|
|
123
|
+
ip_address = ipaddress.ip_address(parsed_url.hostname)
|
|
124
|
+
# NOTE: this isn't actually a resolved IP, it's just the IP we were given.
|
|
125
|
+
ret["resolved_ip"] = str(ip_address)
|
|
126
|
+
return (True, ret)
|
|
127
|
+
except ValueError:
|
|
128
|
+
pass
|
|
129
|
+
|
|
130
|
+
try:
|
|
131
|
+
# This try block is for the case where the host is a vanity name, e.g., example.com. Note that this can resolve to either an IPv4 or IPv6 address.
|
|
132
|
+
ip_address = socket.getaddrinfo(parsed_url.hostname, port=parsed_url.port)[0][4][0]
|
|
133
|
+
ret["resolved_ip"] = str(ip_address)
|
|
134
|
+
return (True, ret)
|
|
135
|
+
except Exception as e:
|
|
136
|
+
status = f"No IP addresses resolved for URL: {url}"
|
|
137
|
+
_LOGGER.error(f"validate_url exception: {e}\nstatus: {status}")
|
|
138
|
+
return (False, status)
|
|
139
|
+
except ValueError:
|
|
140
|
+
return (False, f"Invalid URL format: {url}")
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def safe_api_call(method, url, sni_hostname, timeout, is_robot=True, interface=None,
|
|
144
|
+
**request_data):
|
|
145
|
+
"""Make an API call to a URL, validating the URL and checking for
|
|
146
|
+
redirects. Will attempt to bind the provided network interface.
|
|
147
|
+
|
|
148
|
+
Args:
|
|
149
|
+
method (str): method for HTTP request to use
|
|
150
|
+
url (str): URL to make the request to
|
|
151
|
+
sni_hostname (str): Hostname to assert for the Request
|
|
152
|
+
timeout (float): Timeout for the request
|
|
153
|
+
interface (str, optional): Network interface to bind all HTTP calls to, use ("WIFI", "LTE", "ETHERNET"). Will override default interface if provided, currently set to WIFI = "wlp5s0".
|
|
154
|
+
|
|
155
|
+
Returns:
|
|
156
|
+
Tuple[Response|None, str]: A tuple containing the response object (or None) and a status message.
|
|
157
|
+
"""
|
|
158
|
+
num_redirects = 0
|
|
159
|
+
url_to_check = url
|
|
160
|
+
status = ""
|
|
161
|
+
|
|
162
|
+
# Allow only 3 redirects per API call
|
|
163
|
+
while num_redirects < MAX_REDIRECTS:
|
|
164
|
+
(url_valid, return_value) = validate_url(url_to_check)
|
|
165
|
+
if url_valid:
|
|
166
|
+
parsed_url = return_value["parsed_url"]
|
|
167
|
+
resolved_ip = return_value["resolved_ip"]
|
|
168
|
+
status = f"Validation of {url} successful with resolved_ip: {resolved_ip}"
|
|
169
|
+
try:
|
|
170
|
+
with create_bound_session(is_robot, interface, resolved_ip, sni_hostname,
|
|
171
|
+
sni_hostname) as session:
|
|
172
|
+
# Potential argument injection through user-controlled keys and values in request_data.
|
|
173
|
+
# This is made secure by the webserver's JSON schema allowing only specifically named fields.
|
|
174
|
+
# Disable automatic redirects, so we can track the new hostname before the call is made.
|
|
175
|
+
response = session.request(method, urlunparse(parsed_url), timeout=timeout,
|
|
176
|
+
allow_redirects=False, **request_data)
|
|
177
|
+
|
|
178
|
+
if 300 <= response.status_code < 400:
|
|
179
|
+
redirect_location = response.headers.get("Location")
|
|
180
|
+
url_to_check = redirect_location
|
|
181
|
+
num_redirects += 1
|
|
182
|
+
continue
|
|
183
|
+
else:
|
|
184
|
+
return response, status
|
|
185
|
+
except requests.exceptions.RequestException as e:
|
|
186
|
+
if isinstance(e, requests.exceptions.SSLError):
|
|
187
|
+
status = "SSL error occurred. Please upload server SSL certificate to robot."
|
|
188
|
+
elif isinstance(e, requests.exceptions.ConnectTimeout):
|
|
189
|
+
status = "Connection to server timed out. Check firewall, network, route, server, etc."
|
|
190
|
+
elif isinstance(e, requests.exceptions.ReadTimeout):
|
|
191
|
+
status = "Connected to server, but server did not respond in time. Check server logs."
|
|
192
|
+
elif isinstance(e, requests.exceptions.URLRequired):
|
|
193
|
+
status = "URL is required for request."
|
|
194
|
+
elif isinstance(e, requests.exceptions.TooManyRedirects):
|
|
195
|
+
status = "Too many redirects when accessing server."
|
|
196
|
+
elif isinstance(e, requests.exceptions.MissingSchema):
|
|
197
|
+
status = "URL is missing schema (http or https)."
|
|
198
|
+
elif isinstance(e, requests.exceptions.InvalidSchema):
|
|
199
|
+
status = "URL has invalid schema (http and https are supported)."
|
|
200
|
+
elif isinstance(e, requests.exceptions.InvalidURL):
|
|
201
|
+
status = "Invalid URL for request."
|
|
202
|
+
elif isinstance(e, requests.exceptions.InvalidHeader):
|
|
203
|
+
status = "Invalid header(s) in request."
|
|
204
|
+
# This catches all other RequestException types, which are not expected to occur. But, if they do, telling the user what type of exception occurred may help them resolve the problem on their own.
|
|
205
|
+
else:
|
|
206
|
+
status = f"Unknown RequestException of type {e.__class__.__name__} occurred."
|
|
207
|
+
_LOGGER.error(f"safe_api_call exception: {e}\nstatus: {status}")
|
|
208
|
+
except InterfaceNameNotFound as e:
|
|
209
|
+
status = "Check route in config file. Only WIFI, LTE, and ETHERNET are supported."
|
|
210
|
+
_LOGGER.error(f"safe_api_call exception: {e}\nstatus: {status}")
|
|
211
|
+
except Exception as e:
|
|
212
|
+
status = (f"Unknown exception of type {e.__class__.__name__} occurred.")
|
|
213
|
+
_LOGGER.error(f"safe_api_call exception: {e}\nstatus: {status}")
|
|
214
|
+
else:
|
|
215
|
+
status = f"{return_value}"
|
|
216
|
+
return None, status
|
|
217
|
+
|
|
218
|
+
# Don't expect to get here, but if it does there was a problem
|
|
219
|
+
status = f"Max redirects reached on url {url}"
|
|
220
|
+
return None, status
|
bosdyn/client/util.py
CHANGED
|
@@ -16,7 +16,6 @@ from concurrent import futures
|
|
|
16
16
|
from secrets import token_urlsafe
|
|
17
17
|
from uuid import uuid4
|
|
18
18
|
|
|
19
|
-
import google.protobuf.descriptor
|
|
20
19
|
import grpc
|
|
21
20
|
from deprecated.sphinx import deprecated
|
|
22
21
|
|
|
@@ -185,9 +184,8 @@ def does_dedup_filter_exist(logger, always_print_logger_levels):
|
|
|
185
184
|
Boolean indicating if the DedupLoggingMessages filter already exists and matches the new parameters.
|
|
186
185
|
"""
|
|
187
186
|
for filt in logger.filters:
|
|
188
|
-
if type(
|
|
189
|
-
filt
|
|
190
|
-
) == DedupLoggingMessages and filt.always_print_logger_levels == always_print_logger_levels:
|
|
187
|
+
if (type(filt) is DedupLoggingMessages and
|
|
188
|
+
filt.always_print_logger_levels == always_print_logger_levels):
|
|
191
189
|
return True
|
|
192
190
|
return False
|
|
193
191
|
|
bosdyn/client/world_object.py
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"""For clients to use the world object service"""
|
|
8
8
|
|
|
9
9
|
from bosdyn.api import geometry_pb2 as geom
|
|
10
|
-
from bosdyn.api import world_object_pb2
|
|
10
|
+
from bosdyn.api import world_object_pb2
|
|
11
11
|
from bosdyn.api import world_object_service_pb2_grpc as world_object_service
|
|
12
12
|
from bosdyn.client.common import BaseClient, common_header_errors
|
|
13
13
|
from bosdyn.client.frame_helpers import *
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: bosdyn-client
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.1.0
|
|
4
4
|
Summary: Boston Dynamics API client code and interfaces
|
|
5
5
|
Home-page: https://dev.bostondynamics.com/
|
|
6
6
|
Author: Boston Dynamics
|
|
@@ -15,8 +15,8 @@ Classifier: License :: Other/Proprietary License
|
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Requires-Python: >=3.7
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
|
-
Requires-Dist: bosdyn-api (==5.
|
|
19
|
-
Requires-Dist: bosdyn-core (==5.
|
|
18
|
+
Requires-Dist: bosdyn-api (==5.1.0)
|
|
19
|
+
Requires-Dist: bosdyn-core (==5.1.0)
|
|
20
20
|
Requires-Dist: grpcio
|
|
21
21
|
Requires-Dist: pyjwt
|
|
22
22
|
Requires-Dist: numpy
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
bosdyn/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
2
|
+
bosdyn/client/__init__.py,sha256=PsouppDAVJC_29ETHUpDsGg6LWI6QDYIcQdFZGncWq4,1313
|
|
3
|
+
bosdyn/client/__main__.py,sha256=g__h-0z_Q6yzuiXdHQQTh9AI3C2cSc3PocpvbLVwa3E,466
|
|
4
|
+
bosdyn/client/access_controlled_door_util.py,sha256=tBOT7KLSXG1n_EIQeI8PauUH_5-uy_8umIWzDIXxaoc,8829
|
|
5
|
+
bosdyn/client/area_callback.py,sha256=nQnhJR8-f0PMq9uILpKhYitVuIZHl6VViUDndN2K4u8,6270
|
|
6
|
+
bosdyn/client/area_callback_region_handler_base.py,sha256=cr5SwGogXmuMbAbbMeHvQZQBflYyFTOCj7wrUOgsUHQ,16467
|
|
7
|
+
bosdyn/client/area_callback_service_runner.py,sha256=Rr30BV3TSXHQGcsUGlTa1F-noQDvgq6wv5XxQ_zTIa0,1869
|
|
8
|
+
bosdyn/client/area_callback_service_servicer.py,sha256=o1kYKV83Q-ud-_rmT17XTSqBdHqph_xYsgvvnpjsKtE,13229
|
|
9
|
+
bosdyn/client/area_callback_service_utils.py,sha256=R8ljJe8fPszMI6RyuGRyv_QGu63kw1yZAveZydlpERI,5858
|
|
10
|
+
bosdyn/client/arm_surface_contact.py,sha256=GS2WXvP_eGyTa_k1GDqYF5OGDG9R0Yy1mKL7sWT0b14,3663
|
|
11
|
+
bosdyn/client/async_tasks.py,sha256=-gc2pJXNZp6PmaLNdSkyiSYTdegX19bszhy9_ekLPes,5613
|
|
12
|
+
bosdyn/client/audio_visual.py,sha256=MVwmcAtBQ4xcAY-pYsbKtoAti_2jwQH2a02zNkW-ixY,23150
|
|
13
|
+
bosdyn/client/audio_visual_helpers.py,sha256=TkpdQ3DSE-_3oG2XH-ZfI9RChkOvAk5fOtmwqf79II4,4530
|
|
14
|
+
bosdyn/client/auth.py,sha256=YLo6jP0Ssl_Z6rHtTiPiKUNIweDRYub9w3iHdUe6n40,5302
|
|
15
|
+
bosdyn/client/auto_return.py,sha256=kqT1gaaneLYIPFVAFzpvTHRwa8NYYQ2OBf7wViBQudE,5598
|
|
16
|
+
bosdyn/client/autowalk.py,sha256=e7W_r8gnlIZArrLyYCldpRHZazQp9AIXpc4HgV1A2DM,5695
|
|
17
|
+
bosdyn/client/bddf.py,sha256=ok_2JcflSCQfcM25lpEgzKnkEJl0FDcJ16Bgo9Rjyzc,1763
|
|
18
|
+
bosdyn/client/bddf_download.py,sha256=oDztm-aS5J_ABLb-cxomNtwNPrdlnFp8hEuOMVxVRH4,7586
|
|
19
|
+
bosdyn/client/channel.py,sha256=voNa-3S6LXsTlsXPXPLEoqNxYl2Xx5CNP7w9EELEtdY,8840
|
|
20
|
+
bosdyn/client/command_line.py,sha256=FGuFygg-K-GPisLqehGQ1QSmam1pzSWWRm7dx4n4NFc,100713
|
|
21
|
+
bosdyn/client/common.py,sha256=gbjhMnmq2pR8ECS6XnhNeQ5fWN5oSQKkoIeVlhnnawc,24981
|
|
22
|
+
bosdyn/client/data_acquisition.py,sha256=bFtP7p1OaZAhB5cbZtnyj3g668wzoeXWU9UI196ieyo,15139
|
|
23
|
+
bosdyn/client/data_acquisition_helpers.py,sha256=1zkiHr3JMLjYr3Sf3FRylaXWzTMrYQKH8Msy_JCnaSE,14718
|
|
24
|
+
bosdyn/client/data_acquisition_plugin.py,sha256=IhKCZyPxOur8xemwtU3ydSTg4bMoP1_aHUX66SebQ4I,6636
|
|
25
|
+
bosdyn/client/data_acquisition_plugin_service.py,sha256=Je0mZsh-i0jj2tiJzXnDBtl5NaAK5xcsvLm2zcjLSOI,28245
|
|
26
|
+
bosdyn/client/data_acquisition_store.py,sha256=gpGeDUZfA1UnJWCDPFnaRCpPMQeBasUuIx2_f7ZW9Ns,19346
|
|
27
|
+
bosdyn/client/data_buffer.py,sha256=x-lXu3pTTr3oqlYWNrVEEog5R9hCjwudMb4ft3RiuoI,26685
|
|
28
|
+
bosdyn/client/data_chunk.py,sha256=6xq9zqLD-JH72ZxzEQEKYqhXvb34TlcZoeqAYaXRxCw,1959
|
|
29
|
+
bosdyn/client/data_service.py,sha256=aKfXJCciJ2M2WZRKfdWiLS2n-UEKWSRkOgcTnArbc5o,5201
|
|
30
|
+
bosdyn/client/directory.py,sha256=jWBxnPzBJSrfr4fuLf2VuZGsxOo8Q5iX5tEw6Zx2VY0,4906
|
|
31
|
+
bosdyn/client/directory_registration.py,sha256=s_zA5f22M5Hw-ivUhsUr0aM-yTDwwhdKRDFG6qc1hEw,20834
|
|
32
|
+
bosdyn/client/docking.py,sha256=hYwZNIir3_pt-WvMFiXzMqDCwW8nA5H1BYOUD6_3-00,17596
|
|
33
|
+
bosdyn/client/door.py,sha256=dbBuGcuoZL3gRhxTQoQHKDlnzcML8ELBtQxCQqomYpo,3110
|
|
34
|
+
bosdyn/client/error_callback_result.py,sha256=B3O9D8ceV1ZsS19UvguISlbvJSjtQ1aZfktVuekZXLU,1317
|
|
35
|
+
bosdyn/client/estop.py,sha256=flVnVvLJM_esUMrR2Ebjh6TfvCypRJIv5XAPt7zOqKQ,32101
|
|
36
|
+
bosdyn/client/exceptions.py,sha256=VQg5cSrzB9_pmFcUCbBaRF2QtBUKfdzpR94N3q2rNx0,5323
|
|
37
|
+
bosdyn/client/fault.py,sha256=P6H2kPwLB-sFkSi-vwqziqM21LtxkNfmBFuzYIK__TI,6028
|
|
38
|
+
bosdyn/client/frame_helpers.py,sha256=Rrm0Zx10LoaVsJv-FPCX02LVQwNkyKVO28lZz7Bmlvg,12572
|
|
39
|
+
bosdyn/client/graph_nav.py,sha256=gHxDR2i8WrUUyXNDeYdgMsMM0qMhopvOgDSNLNBMpO8,73488
|
|
40
|
+
bosdyn/client/gripper_camera_param.py,sha256=kxhBffjbq5R-t1OxWEAFguo_tKW5xGIuasdflSmfAwY,4683
|
|
41
|
+
bosdyn/client/hazard_avoidance.py,sha256=xBpZEu3_N6PdqF9ThVQ48mQuuvETgCf2WpSV0VgbQSI,5562
|
|
42
|
+
bosdyn/client/image.py,sha256=0cvskrQ37ydN4RJvCB2Wg7fOKD1Qj-vt8OSNjAoONsU,22105
|
|
43
|
+
bosdyn/client/image_service_helpers.py,sha256=zxowpG6lP6r1lnj40OP5Qsewa5dpR9ERVwHChSuNK6k,40293
|
|
44
|
+
bosdyn/client/inverse_kinematics.py,sha256=KBgvGdnt-JZJvDzbdJ72Kqw8RHoOsqKq_p9rQtvwuKo,1708
|
|
45
|
+
bosdyn/client/ir_enable_disable.py,sha256=GwcQDewEGgCryFwaF-w0ORMG_wpm1XJyaW-PgGeBIKY,2154
|
|
46
|
+
bosdyn/client/keepalive.py,sha256=B_r3TSoF1yiYBPqo0b88FmJoIHheYbO0JV-beADSMII,14953
|
|
47
|
+
bosdyn/client/lease.py,sha256=d1VyCxcGmL0hJ6c3d4LvpXEQNlzNpyvS0SHWwg4xvTg,45440
|
|
48
|
+
bosdyn/client/lease_resource_hierarchy.py,sha256=b_YpVCeiJwVQzAy1Xh5h-1HYjpbzZvmDZAcREGCOgBc,3070
|
|
49
|
+
bosdyn/client/lease_validator.py,sha256=DOKjKlThwXrkrBKNajXjqgc9YujeoVgTik-M3C1bdZw,14462
|
|
50
|
+
bosdyn/client/license.py,sha256=mJRBtwo3UHUVXqAKq-3eBf35v9U_Za_P9lPRXF9q9Lk,1736
|
|
51
|
+
bosdyn/client/local_grid.py,sha256=YszM_pTmeGuGIwExgRwB76PXJciO6rZqfaL2RHLxAf0,3475
|
|
52
|
+
bosdyn/client/log_status.py,sha256=jtaifRg1g__NcehTsh9Z688v6SMeKK_s-JOJxlLXmOg,15475
|
|
53
|
+
bosdyn/client/manipulation_api_client.py,sha256=bdTTqZk73m7l9bty9CNC9Bs-hTTRFEA_wDweMb4mLu4,4204
|
|
54
|
+
bosdyn/client/map_processing.py,sha256=fyxfKjtrd5W0G7KceNWkkvwkK3l-Z9SjsJ4HJ6o1j-g,10063
|
|
55
|
+
bosdyn/client/math_helpers.py,sha256=HLJ2pmul--Ualfa2cWHIgdNAZScK8MC6kjwqNKSCX44,48793
|
|
56
|
+
bosdyn/client/metrics_logging.py,sha256=9gjVK5Xu4JpOqMg4_tKMHd-XHOh--xaiU_OP9zcGOMs,6646
|
|
57
|
+
bosdyn/client/network_compute_bridge_client.py,sha256=7WQmYDlrNolzWCDhNY1wgU5ItvtlerH7nj2Ti6ovzkY,7768
|
|
58
|
+
bosdyn/client/payload.py,sha256=xkkpvri5DNIes1xSvqqH2EC-FoxFzgrYLcPWA0c1tac,2207
|
|
59
|
+
bosdyn/client/payload_registration.py,sha256=r5TS_mEnJCzw3LkyDZqQLKFIXHHblc26_ZpeBagR3uA,24253
|
|
60
|
+
bosdyn/client/payload_software_update.py,sha256=nYrFOxuikVd-cChkx8aZ9gpVQSxjadgPcxyT6eklwT4,8716
|
|
61
|
+
bosdyn/client/payload_software_update_initiation.py,sha256=LDAe_gDUCLDKOC54MbhC-hsywqNMmT_dtnYjmMaef1g,3216
|
|
62
|
+
bosdyn/client/point_cloud.py,sha256=F_AJBYql8b6Ok_-IEmxpV4ajdXZ_GOahPe_QwWLf7xk,8627
|
|
63
|
+
bosdyn/client/power.py,sha256=Xl4xRHsxAitHxxnPu15JN7Cd9YhedUULdgVsohakEDE,29220
|
|
64
|
+
bosdyn/client/processors.py,sha256=IIouTLq0K4b4JRtwsjW__gZYIV3Eo6EJOlHQixxOFvE,2138
|
|
65
|
+
bosdyn/client/ray_cast.py,sha256=Ca1yJo0aY6OmVAazb19fy44L-9LzcKVxr_fHt_EoQtg,4465
|
|
66
|
+
bosdyn/client/recording.py,sha256=ekmDLAl5iGrtwaZA0zFGXAuYhxDR7DQ-9nXRJy2RdxA,25849
|
|
67
|
+
bosdyn/client/robot.py,sha256=XQCp9NjcwS4Bhhohjup_AcLlYm67DV0tlPxuqZTwU1M,31114
|
|
68
|
+
bosdyn/client/robot_command.py,sha256=8ctR2Ej73dB30_HTxAlzBX175Pl0bij4LaAKSSbnwrs,108291
|
|
69
|
+
bosdyn/client/robot_id.py,sha256=0VZHG9hltwTLAm1_Bt26Xq1O6EROswqNwHvjY7kaplk,2482
|
|
70
|
+
bosdyn/client/robot_state.py,sha256=kJ2ok3deOc5GFCcmRxaAjZ-bKLoUEXLpOBLNmqXsYhE,7069
|
|
71
|
+
bosdyn/client/sdk.py,sha256=X0bTq28_o-0vKphv_6YrFh2vlm5FXCH8p67gor8NCAM,12875
|
|
72
|
+
bosdyn/client/server_util.py,sha256=uLT12vs5nAhdJ0ryaKuE82dxXnBOupebyDuzI8tbLRo,10560
|
|
73
|
+
bosdyn/client/service_customization_helpers.py,sha256=cw5l02J1aNykCyytlQOAlDjOXuWpheclyP7lfFN838c,49159
|
|
74
|
+
bosdyn/client/signals_helpers.py,sha256=Sp91IrMxVU-PeH6TK2njzFCKmFMyshRJqNa4DYRMqDU,3682
|
|
75
|
+
bosdyn/client/spot_check.py,sha256=-tEwnjpUqs06KSz6X4ql5TrpF6qhvsXdekGFPFnwg78,14614
|
|
76
|
+
bosdyn/client/time_sync.py,sha256=mDkcR5RlAKfAOwEUoBjwxtJFDKuGFGmiDcrOeCO2P_g,23089
|
|
77
|
+
bosdyn/client/token_cache.py,sha256=Vwf9YfsR7pTyu1fLRzXrvDo9hG5GBJcen8Azlo_5_iA,3507
|
|
78
|
+
bosdyn/client/token_manager.py,sha256=FkF2-xWXrKG1ttTH2omhjx7FtbIGnYkB1vAaKEhg3xM,5112
|
|
79
|
+
bosdyn/client/units_helpers.py,sha256=5SAmL8vsnl06oGNjzb57fUkuUbGvtbeNdg4NgW0wYAY,1084
|
|
80
|
+
bosdyn/client/url_validation_util.py,sha256=L_kB7BoEkaySMUcQs0LNC7C7asDt2li0TP5Ej_YxWSc,9913
|
|
81
|
+
bosdyn/client/util.py,sha256=icFEhvA5u5skEJc3PV3VfCXjC8L_STyiJ7NP_v4zkMk,19926
|
|
82
|
+
bosdyn/client/world_object.py,sha256=5ZIJWx9mPpYfPzMIeL0l0slz4AgGGNK4jJQfpjJJiIw,17040
|
|
83
|
+
bosdyn/client/gps/NMEAParser.py,sha256=4ZZDt7NbQiDQpeu2Cs7OsgWErUgMk5XtSIWaoEuLfHE,8709
|
|
84
|
+
bosdyn/client/gps/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
|
|
85
|
+
bosdyn/client/gps/aggregator_client.py,sha256=W1f7rVM0HDQvpsj3aex7YyRN4tDmD0BcSiaoxkK3SJk,2189
|
|
86
|
+
bosdyn/client/gps/gps_listener.py,sha256=RRyeqAIg4sfRk7e7a_5dZMXlWRluo_hbe5LKw6qlw6w,7732
|
|
87
|
+
bosdyn/client/gps/ntrip_client.py,sha256=pVrypwzKJ4PuGHxDoAtSqDmbXZcvVN_t-NxaXkZ75_w,8927
|
|
88
|
+
bosdyn/client/gps/registration_client.py,sha256=LqDLl_Ezv3HNUr9R1B4n2hcMArmGwLgg1asCkGhe2WA,1901
|
|
89
|
+
bosdyn/client/resources/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
|
|
90
|
+
bosdyn/client/resources/robot.pem,sha256=kWAr4xK29RtTVC_EhbwW2_NblIuecYqVudR2YIdTh84,1874
|
|
91
|
+
bosdyn/client/spot_cam/__init__.py,sha256=N0FRE-glagSWkK9HQZuGyHvRGCfDzxUyVoPFu0mkrPU,829
|
|
92
|
+
bosdyn/client/spot_cam/audio.py,sha256=Cnp5gL0mRFBMtAIWAfeYU66FyIltsYOciceK_uWcUQ8,9785
|
|
93
|
+
bosdyn/client/spot_cam/compositor.py,sha256=pU3OcyrSX8RukXgTygOC-Eub-slBCxm05u97-b3oKaw,10570
|
|
94
|
+
bosdyn/client/spot_cam/health.py,sha256=eDsn1QJy4w18k_pnzkCq3FsWIpGsz46Wt78iO9GBVAw,4685
|
|
95
|
+
bosdyn/client/spot_cam/lighting.py,sha256=kpUQl9xI0C7zXMhhluIJ8L-3uQpN-UDPcTUutuNRyjQ,3067
|
|
96
|
+
bosdyn/client/spot_cam/lights_helper.py,sha256=VWhXwcZ1a5X6OQ6Fd1CzGGPdW4BNQ5j636BCn6t9F58,3963
|
|
97
|
+
bosdyn/client/spot_cam/media_log.py,sha256=akHtOdRpqQsMNd07snVLQIi9j4isQBptc-MHFsaTUfc,10357
|
|
98
|
+
bosdyn/client/spot_cam/network.py,sha256=6_uJ_hXwyQvnpUZOJLapT-_31Bfjp0zrarxhUo-xKN8,3024
|
|
99
|
+
bosdyn/client/spot_cam/power.py,sha256=UOcyK9UdOH6cxd3U7LvSlD88XhzQjTOQoVBzEoBePtQ,5159
|
|
100
|
+
bosdyn/client/spot_cam/ptz.py,sha256=jlj2KKuhPct1NZklfa6rPzrdQbMh3eoNGonA25KmNm8,10601
|
|
101
|
+
bosdyn/client/spot_cam/streamquality.py,sha256=VuGfT5yY_qsFtX1rQzjrKosPPMIKSwqQnVaXSAEzxEg,6342
|
|
102
|
+
bosdyn/client/spot_cam/version.py,sha256=YuYH0zyAFgy6G7_aUArBPNY1I4m_8qAfikf66fxAddo,2834
|
|
103
|
+
bosdyn_client-5.1.0.dist-info/METADATA,sha256=xUV5iOag7suJ3MB022t498zij20wZTMCjCr4IJRhaWk,3987
|
|
104
|
+
bosdyn_client-5.1.0.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
|
105
|
+
bosdyn_client-5.1.0.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
|
|
106
|
+
bosdyn_client-5.1.0.dist-info/RECORD,,
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
bosdyn/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
2
|
-
bosdyn/client/__init__.py,sha256=PsouppDAVJC_29ETHUpDsGg6LWI6QDYIcQdFZGncWq4,1313
|
|
3
|
-
bosdyn/client/__main__.py,sha256=g__h-0z_Q6yzuiXdHQQTh9AI3C2cSc3PocpvbLVwa3E,466
|
|
4
|
-
bosdyn/client/area_callback.py,sha256=nQnhJR8-f0PMq9uILpKhYitVuIZHl6VViUDndN2K4u8,6270
|
|
5
|
-
bosdyn/client/area_callback_region_handler_base.py,sha256=cr5SwGogXmuMbAbbMeHvQZQBflYyFTOCj7wrUOgsUHQ,16467
|
|
6
|
-
bosdyn/client/area_callback_service_runner.py,sha256=Rr30BV3TSXHQGcsUGlTa1F-noQDvgq6wv5XxQ_zTIa0,1869
|
|
7
|
-
bosdyn/client/area_callback_service_servicer.py,sha256=o1kYKV83Q-ud-_rmT17XTSqBdHqph_xYsgvvnpjsKtE,13229
|
|
8
|
-
bosdyn/client/area_callback_service_utils.py,sha256=R8ljJe8fPszMI6RyuGRyv_QGu63kw1yZAveZydlpERI,5858
|
|
9
|
-
bosdyn/client/arm_surface_contact.py,sha256=DRfPfsFEzfk6ufe080ViqasUefl2ZUtcvcNENgcf55k,3710
|
|
10
|
-
bosdyn/client/async_tasks.py,sha256=gEPev6_jaUCe-G5PqktMiMGb7ohDy0daunxzQD5jafg,5594
|
|
11
|
-
bosdyn/client/audio_visual.py,sha256=_o2kvOuTgYfXfOgCPotBGdg3xYRCz55wv2tZt4VhvgE,23194
|
|
12
|
-
bosdyn/client/audio_visual_helpers.py,sha256=9qksn7epH5jBdbwa6VVMcm2mn8HCVtJuSW1C847Jo6w,4499
|
|
13
|
-
bosdyn/client/auth.py,sha256=YLo6jP0Ssl_Z6rHtTiPiKUNIweDRYub9w3iHdUe6n40,5302
|
|
14
|
-
bosdyn/client/auto_return.py,sha256=kqT1gaaneLYIPFVAFzpvTHRwa8NYYQ2OBf7wViBQudE,5598
|
|
15
|
-
bosdyn/client/autowalk.py,sha256=e57FcAC4fu2BPD57Yy4j1F8DPIPPic0Qt1E0UM-oZWo,5734
|
|
16
|
-
bosdyn/client/bddf.py,sha256=ok_2JcflSCQfcM25lpEgzKnkEJl0FDcJ16Bgo9Rjyzc,1763
|
|
17
|
-
bosdyn/client/bddf_download.py,sha256=oDztm-aS5J_ABLb-cxomNtwNPrdlnFp8hEuOMVxVRH4,7586
|
|
18
|
-
bosdyn/client/channel.py,sha256=voNa-3S6LXsTlsXPXPLEoqNxYl2Xx5CNP7w9EELEtdY,8840
|
|
19
|
-
bosdyn/client/command_line.py,sha256=lg5lhCAOP4Zgt6At8wis21_O2NB_SbGLL6MR22eIHL4,98748
|
|
20
|
-
bosdyn/client/common.py,sha256=n4iTcdLCWTS9k0iH8_qrQAOhryqWjSfoEIgiBynjhOY,24997
|
|
21
|
-
bosdyn/client/data_acquisition.py,sha256=jd3XvrktXsGUh3mlL4zMzs6zSvynayVE2_GodnYgFH4,15226
|
|
22
|
-
bosdyn/client/data_acquisition_helpers.py,sha256=j6nTxk9QP4AsiYX9LPf0g2qDmBf-NU61kC2zZpbEBdA,14805
|
|
23
|
-
bosdyn/client/data_acquisition_plugin.py,sha256=5IG2IYkL5FDPZhPRB8caoBjx34f63Eem5u5oZTHBaxo,6690
|
|
24
|
-
bosdyn/client/data_acquisition_plugin_service.py,sha256=tzUBUg9LVPKvDpgogTqEzkhVdlxvHds2HdxRdNDfIJQ,28217
|
|
25
|
-
bosdyn/client/data_acquisition_store.py,sha256=n7MUM5LLSzRJ7zC13d4pXCN-gbkduMYkt7YXU2syc1s,19647
|
|
26
|
-
bosdyn/client/data_buffer.py,sha256=Ta-7CCoy_-StzXDm8cLIjvOnMDgKEzKFc9mcDmVkubc,26661
|
|
27
|
-
bosdyn/client/data_chunk.py,sha256=6xq9zqLD-JH72ZxzEQEKYqhXvb34TlcZoeqAYaXRxCw,1959
|
|
28
|
-
bosdyn/client/data_service.py,sha256=aKfXJCciJ2M2WZRKfdWiLS2n-UEKWSRkOgcTnArbc5o,5201
|
|
29
|
-
bosdyn/client/directory.py,sha256=jWBxnPzBJSrfr4fuLf2VuZGsxOo8Q5iX5tEw6Zx2VY0,4906
|
|
30
|
-
bosdyn/client/directory_registration.py,sha256=SV2xWly0Zu1XaWhyJ9eqXYeWSjFbwfyFmup_RjR3Cdw,20806
|
|
31
|
-
bosdyn/client/docking.py,sha256=hYwZNIir3_pt-WvMFiXzMqDCwW8nA5H1BYOUD6_3-00,17596
|
|
32
|
-
bosdyn/client/door.py,sha256=dbBuGcuoZL3gRhxTQoQHKDlnzcML8ELBtQxCQqomYpo,3110
|
|
33
|
-
bosdyn/client/error_callback_result.py,sha256=B3O9D8ceV1ZsS19UvguISlbvJSjtQ1aZfktVuekZXLU,1317
|
|
34
|
-
bosdyn/client/estop.py,sha256=-dy3SP6lcOryyTB_VXe0C_cFk-qK1TNJdSm9DKSz-MM,32073
|
|
35
|
-
bosdyn/client/exceptions.py,sha256=VQg5cSrzB9_pmFcUCbBaRF2QtBUKfdzpR94N3q2rNx0,5323
|
|
36
|
-
bosdyn/client/fault.py,sha256=ymo4M1Vy-bUasD8uOm1pxE1HnjheCds6qA9hZiJbAzY,6050
|
|
37
|
-
bosdyn/client/frame_helpers.py,sha256=Rrm0Zx10LoaVsJv-FPCX02LVQwNkyKVO28lZz7Bmlvg,12572
|
|
38
|
-
bosdyn/client/graph_nav.py,sha256=8sULbBAFaFxJPF3ZdI_kqLYpzA0XbhGO-zECRyVH1J4,70681
|
|
39
|
-
bosdyn/client/gripper_camera_param.py,sha256=kxhBffjbq5R-t1OxWEAFguo_tKW5xGIuasdflSmfAwY,4683
|
|
40
|
-
bosdyn/client/image.py,sha256=fn41QOvaAOH7UT7m2ENXayI4fLXg5NQBZrmpLFZVBBE,21980
|
|
41
|
-
bosdyn/client/image_service_helpers.py,sha256=l2hZKqcG7PI05-_bhh8BLkpN4METmG53JCR0YF3q-8Y,40421
|
|
42
|
-
bosdyn/client/inverse_kinematics.py,sha256=KBgvGdnt-JZJvDzbdJ72Kqw8RHoOsqKq_p9rQtvwuKo,1708
|
|
43
|
-
bosdyn/client/ir_enable_disable.py,sha256=6c5MAuO1Fj0RlVcjkP1vhs-qTLiOpM3RnD8F7_ik1Gw,2153
|
|
44
|
-
bosdyn/client/keepalive.py,sha256=Sz1sobzkyDfamKfaam7-dP3jIVlVOBs4l6JE5qqTjEA,14892
|
|
45
|
-
bosdyn/client/lease.py,sha256=-B698QATgRuddH_pc5YN2LhMkZDacZP1kkf1MeYjqec,45412
|
|
46
|
-
bosdyn/client/lease_resource_hierarchy.py,sha256=b_YpVCeiJwVQzAy1Xh5h-1HYjpbzZvmDZAcREGCOgBc,3070
|
|
47
|
-
bosdyn/client/lease_validator.py,sha256=Vo5-2mtfCh50i7MDXLf4NlOBOgqd28ynPp2FF7NNGx0,14505
|
|
48
|
-
bosdyn/client/license.py,sha256=mJRBtwo3UHUVXqAKq-3eBf35v9U_Za_P9lPRXF9q9Lk,1736
|
|
49
|
-
bosdyn/client/local_grid.py,sha256=YszM_pTmeGuGIwExgRwB76PXJciO6rZqfaL2RHLxAf0,3475
|
|
50
|
-
bosdyn/client/log_status.py,sha256=wcKZEFw8GHyWeYKysZ75i3PrLb1r2xVUEAyO3SDmxOI,12656
|
|
51
|
-
bosdyn/client/manipulation_api_client.py,sha256=bdTTqZk73m7l9bty9CNC9Bs-hTTRFEA_wDweMb4mLu4,4204
|
|
52
|
-
bosdyn/client/map_processing.py,sha256=xmwTkAfIIvRbaRnOCj-JTkrfS13n4z_DAqg-sc8hL2Y,10239
|
|
53
|
-
bosdyn/client/math_helpers.py,sha256=HLJ2pmul--Ualfa2cWHIgdNAZScK8MC6kjwqNKSCX44,48793
|
|
54
|
-
bosdyn/client/metrics_logging.py,sha256=9gjVK5Xu4JpOqMg4_tKMHd-XHOh--xaiU_OP9zcGOMs,6646
|
|
55
|
-
bosdyn/client/network_compute_bridge_client.py,sha256=L7RmgCRKiPBn3SVwIxCqP0hkEkhRhF5k5xz2BpC-Omk,7966
|
|
56
|
-
bosdyn/client/payload.py,sha256=12vZirEI4-gu9KPHsDg6MH0QCmnxbolWR1j81lvgfVw,2271
|
|
57
|
-
bosdyn/client/payload_registration.py,sha256=rDGMK3ZtI6nmvCFsjm1MjueYglDNuHHu-7Q5V901VM8,24306
|
|
58
|
-
bosdyn/client/payload_software_update.py,sha256=nYrFOxuikVd-cChkx8aZ9gpVQSxjadgPcxyT6eklwT4,8716
|
|
59
|
-
bosdyn/client/payload_software_update_initiation.py,sha256=LDAe_gDUCLDKOC54MbhC-hsywqNMmT_dtnYjmMaef1g,3216
|
|
60
|
-
bosdyn/client/point_cloud.py,sha256=F_AJBYql8b6Ok_-IEmxpV4ajdXZ_GOahPe_QwWLf7xk,8627
|
|
61
|
-
bosdyn/client/power.py,sha256=teVPBPcwsUHvn996upF06Y5MJsfQrE-93ezMXAAYSmA,26955
|
|
62
|
-
bosdyn/client/processors.py,sha256=Z-Djf_I_lhfokB-f_L0PewAY8J95LThdWVju1zJ2BaE,1275
|
|
63
|
-
bosdyn/client/ray_cast.py,sha256=Ca1yJo0aY6OmVAazb19fy44L-9LzcKVxr_fHt_EoQtg,4465
|
|
64
|
-
bosdyn/client/recording.py,sha256=sQ34G_ckrE-M42ER2GUbYI7UibvdrjHycaia58IpJ2s,25913
|
|
65
|
-
bosdyn/client/robot.py,sha256=XQCp9NjcwS4Bhhohjup_AcLlYm67DV0tlPxuqZTwU1M,31114
|
|
66
|
-
bosdyn/client/robot_command.py,sha256=LtoVKlJwwhTmADRMvJIWJ4B5rY_MpdhHnL72zKm1ECU,108248
|
|
67
|
-
bosdyn/client/robot_id.py,sha256=0VZHG9hltwTLAm1_Bt26Xq1O6EROswqNwHvjY7kaplk,2482
|
|
68
|
-
bosdyn/client/robot_state.py,sha256=h551ke5eHdAC7NgVuLphY8FZR899Ii8_lYwuoX1w1nk,7073
|
|
69
|
-
bosdyn/client/sdk.py,sha256=XGW0DqlBfZv31LNYjjtU8p-86C5U-x2zJd7bAF3eDzg,12945
|
|
70
|
-
bosdyn/client/server_util.py,sha256=uLT12vs5nAhdJ0ryaKuE82dxXnBOupebyDuzI8tbLRo,10560
|
|
71
|
-
bosdyn/client/service_customization_helpers.py,sha256=GD23vhBfwCi1S4eBYIBoTbvHe9kwap1cbq0CHXlciGw,49155
|
|
72
|
-
bosdyn/client/signals_helpers.py,sha256=Sp91IrMxVU-PeH6TK2njzFCKmFMyshRJqNa4DYRMqDU,3682
|
|
73
|
-
bosdyn/client/spot_check.py,sha256=PKqN3kwL6oISkqwXEm_R4vz0uixIsfowWY9mC0mM8Cc,14619
|
|
74
|
-
bosdyn/client/time_sync.py,sha256=mDkcR5RlAKfAOwEUoBjwxtJFDKuGFGmiDcrOeCO2P_g,23089
|
|
75
|
-
bosdyn/client/token_cache.py,sha256=Vwf9YfsR7pTyu1fLRzXrvDo9hG5GBJcen8Azlo_5_iA,3507
|
|
76
|
-
bosdyn/client/token_manager.py,sha256=FkF2-xWXrKG1ttTH2omhjx7FtbIGnYkB1vAaKEhg3xM,5112
|
|
77
|
-
bosdyn/client/units_helpers.py,sha256=5SAmL8vsnl06oGNjzb57fUkuUbGvtbeNdg4NgW0wYAY,1084
|
|
78
|
-
bosdyn/client/util.py,sha256=Cr_IB1taOh6Hmu1EdTHa_NU08eXnTEG7kzGX_2xDfoE,19968
|
|
79
|
-
bosdyn/client/world_object.py,sha256=CNfZJxwdTjd-Oh35liNdkZ27sAzdnBVFTkpVIICfRTo,17066
|
|
80
|
-
bosdyn/client/gps/NMEAParser.py,sha256=4ZZDt7NbQiDQpeu2Cs7OsgWErUgMk5XtSIWaoEuLfHE,8709
|
|
81
|
-
bosdyn/client/gps/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
|
|
82
|
-
bosdyn/client/gps/aggregator_client.py,sha256=hMlmUcFope-QO51h0OAcDKWd_VUmkTkmeI6kLhj7OrU,2361
|
|
83
|
-
bosdyn/client/gps/gps_listener.py,sha256=Xx-H61o-uV4qO5XWOBnOJckYDi7c9azl9_EyWHjYJbU,7796
|
|
84
|
-
bosdyn/client/gps/ntrip_client.py,sha256=AvFThi3F3LyuES9vm_niHmktSLiGr_-gbIjg7pRku4Q,8311
|
|
85
|
-
bosdyn/client/gps/registration_client.py,sha256=LqDLl_Ezv3HNUr9R1B4n2hcMArmGwLgg1asCkGhe2WA,1901
|
|
86
|
-
bosdyn/client/resources/__init__.py,sha256=1qUAbnMKYlERYZvxtGz4ThjYef7Tx-ZBclLoVE_ecjU,265
|
|
87
|
-
bosdyn/client/resources/robot.pem,sha256=kWAr4xK29RtTVC_EhbwW2_NblIuecYqVudR2YIdTh84,1874
|
|
88
|
-
bosdyn/client/spot_cam/__init__.py,sha256=N0FRE-glagSWkK9HQZuGyHvRGCfDzxUyVoPFu0mkrPU,829
|
|
89
|
-
bosdyn/client/spot_cam/audio.py,sha256=8DvUOhfHVYTOXqlQEny5qUjHvvDsijvJ_njqyNJWUrs,9845
|
|
90
|
-
bosdyn/client/spot_cam/compositor.py,sha256=pU3OcyrSX8RukXgTygOC-Eub-slBCxm05u97-b3oKaw,10570
|
|
91
|
-
bosdyn/client/spot_cam/health.py,sha256=HsmLOKVb7iM6bfbZye0UapPezL2naWo4yl_7HQDNGA4,4707
|
|
92
|
-
bosdyn/client/spot_cam/lighting.py,sha256=mEUK8EWs-NRTXzDTu5VSIYD6IfyiTkfMF82Y-agHZ5g,3089
|
|
93
|
-
bosdyn/client/spot_cam/lights_helper.py,sha256=VWhXwcZ1a5X6OQ6Fd1CzGGPdW4BNQ5j636BCn6t9F58,3963
|
|
94
|
-
bosdyn/client/spot_cam/media_log.py,sha256=CJJepePouHr1QoXuev8oJSMhA-JUYpcm6IBUq4k-Bl4,10379
|
|
95
|
-
bosdyn/client/spot_cam/network.py,sha256=W7z91ERPzba3BCK23jio8byDjVr6kYnucQ9zKg9BqUA,3023
|
|
96
|
-
bosdyn/client/spot_cam/power.py,sha256=HS3nJF8hXq9m1JziOIwLHGLtlNMyLgewWBgs-mRZmTM,5181
|
|
97
|
-
bosdyn/client/spot_cam/ptz.py,sha256=O1m7zDZ92zRmvy9qhjojiphMQwAweTO0HVizQFdWFFE,10630
|
|
98
|
-
bosdyn/client/spot_cam/streamquality.py,sha256=e-RjizZPwZSOS4Jlqb5Ds-mC6uKam252dpEHkb58Oc8,6364
|
|
99
|
-
bosdyn/client/spot_cam/version.py,sha256=R82eyCAY9PfZqbN8D6hNzSeZatpgpsFr995dRt1Mbe0,2856
|
|
100
|
-
bosdyn_client-5.0.1.1.dist-info/METADATA,sha256=4xSEgKQR1XVaeQsiKHhel8oRa_4wNT1QJDSMXRUV1-U,3993
|
|
101
|
-
bosdyn_client-5.0.1.1.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
|
102
|
-
bosdyn_client-5.0.1.1.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
|
|
103
|
-
bosdyn_client-5.0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|