wandelbots-api-client 26.2.0.dev62__py3-none-any.whl → 26.2.0.dev64__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.
- wandelbots_api_client/__init__.py +1 -1
- wandelbots_api_client/api_client.py +1 -1
- wandelbots_api_client/configuration.py +1 -1
- wandelbots_api_client/v2/__init__.py +1 -1
- wandelbots_api_client/v2/api/robot_configurations_api.py +278 -0
- wandelbots_api_client/v2/api/virtual_controller_api.py +3 -3
- wandelbots_api_client/v2/api_client.py +1 -1
- wandelbots_api_client/v2/configuration.py +1 -1
- wandelbots_api_client/v2/models/__init__.py +2 -0
- wandelbots_api_client/v2/models/motion_group_from_json.py +3 -3
- wandelbots_api_client/v2/models/robot_controller_configuration_request.py +110 -0
- wandelbots_api_client/v2_pydantic/__init__.py +1 -1
- wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +281 -0
- wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +3 -3
- wandelbots_api_client/v2_pydantic/api_client.py +1 -1
- wandelbots_api_client/v2_pydantic/configuration.py +1 -1
- wandelbots_api_client/v2_pydantic/models.py +15 -2
- {wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/METADATA +2 -2
- {wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/RECORD +22 -21
- {wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/WHEEL +0 -0
- {wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/licenses/LICENSE +0 -0
- {wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/top_level.txt +0 -0
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.dev64'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -511,7 +511,7 @@ class Configuration:
|
|
|
511
511
|
"OS: {env}\n"\
|
|
512
512
|
"Python Version: {pyversion}\n"\
|
|
513
513
|
"Version of the API: 1.3.0 dev\n"\
|
|
514
|
-
"SDK Package Version: 26.2.0.
|
|
514
|
+
"SDK Package Version: 26.2.0.dev64".\
|
|
515
515
|
format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
|
|
517
517
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -24,6 +24,8 @@ from urllib.parse import quote
|
|
|
24
24
|
|
|
25
25
|
from pydantic import StrictStr
|
|
26
26
|
from typing import List
|
|
27
|
+
from wandelbots_api_client.v2.models.robot_controller import RobotController
|
|
28
|
+
from wandelbots_api_client.v2.models.robot_controller_configuration_request import RobotControllerConfigurationRequest
|
|
27
29
|
|
|
28
30
|
from wandelbots_api_client.v2.api_client import ApiClient, RequestSerialized
|
|
29
31
|
from wandelbots_api_client.v2.api_response import ApiResponse
|
|
@@ -41,6 +43,282 @@ class RobotConfigurationsApi:
|
|
|
41
43
|
api_client = ApiClient.get_default()
|
|
42
44
|
self.api_client = api_client
|
|
43
45
|
|
|
46
|
+
@validate_call
|
|
47
|
+
async def get_controller_config_from_arp_scan(
|
|
48
|
+
self,
|
|
49
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
50
|
+
_request_timeout: Union[
|
|
51
|
+
None,
|
|
52
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
53
|
+
Tuple[
|
|
54
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
55
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
56
|
+
]
|
|
57
|
+
] = None,
|
|
58
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
59
|
+
_content_type: Optional[StrictStr] = None,
|
|
60
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
61
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
62
|
+
) -> List[RobotController]:
|
|
63
|
+
"""Robot Controller Configurations
|
|
64
|
+
|
|
65
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
66
|
+
|
|
67
|
+
:param robot_controller_configuration_request: (required)
|
|
68
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
69
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
70
|
+
number provided, it will be total request
|
|
71
|
+
timeout. It can also be a pair (tuple) of
|
|
72
|
+
(connection, read) timeouts.
|
|
73
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
74
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
75
|
+
request; this effectively ignores the
|
|
76
|
+
authentication in the spec for a single request.
|
|
77
|
+
:type _request_auth: dict, optional
|
|
78
|
+
:param _content_type: force content-type for the request.
|
|
79
|
+
:type _content_type: str, Optional
|
|
80
|
+
:param _headers: set to override the headers for a single
|
|
81
|
+
request; this effectively ignores the headers
|
|
82
|
+
in the spec for a single request.
|
|
83
|
+
:type _headers: dict, optional
|
|
84
|
+
:param _host_index: set to override the host_index for a single
|
|
85
|
+
request; this effectively ignores the host_index
|
|
86
|
+
in the spec for a single request.
|
|
87
|
+
:type _host_index: int, optional
|
|
88
|
+
:return: Returns the result object.
|
|
89
|
+
""" # noqa: E501
|
|
90
|
+
|
|
91
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
92
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
93
|
+
_request_auth=_request_auth,
|
|
94
|
+
_content_type=_content_type,
|
|
95
|
+
_headers=_headers,
|
|
96
|
+
_host_index=_host_index
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
100
|
+
'200': "List[RobotController]",
|
|
101
|
+
'404': None,
|
|
102
|
+
'500': None,
|
|
103
|
+
}
|
|
104
|
+
response_data = await self.api_client.call_api(
|
|
105
|
+
*_param,
|
|
106
|
+
_request_timeout=_request_timeout
|
|
107
|
+
)
|
|
108
|
+
await response_data.read()
|
|
109
|
+
return self.api_client.response_deserialize(
|
|
110
|
+
response_data=response_data,
|
|
111
|
+
response_types_map=_response_types_map,
|
|
112
|
+
).data
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@validate_call
|
|
116
|
+
async def get_controller_config_from_arp_scan_with_http_info(
|
|
117
|
+
self,
|
|
118
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
119
|
+
_request_timeout: Union[
|
|
120
|
+
None,
|
|
121
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
122
|
+
Tuple[
|
|
123
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
124
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
125
|
+
]
|
|
126
|
+
] = None,
|
|
127
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
128
|
+
_content_type: Optional[StrictStr] = None,
|
|
129
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
130
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
131
|
+
) -> ApiResponse[List[RobotController]]:
|
|
132
|
+
"""Robot Controller Configurations
|
|
133
|
+
|
|
134
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
135
|
+
|
|
136
|
+
:param robot_controller_configuration_request: (required)
|
|
137
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
138
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
139
|
+
number provided, it will be total request
|
|
140
|
+
timeout. It can also be a pair (tuple) of
|
|
141
|
+
(connection, read) timeouts.
|
|
142
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
143
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
144
|
+
request; this effectively ignores the
|
|
145
|
+
authentication in the spec for a single request.
|
|
146
|
+
:type _request_auth: dict, optional
|
|
147
|
+
:param _content_type: force content-type for the request.
|
|
148
|
+
:type _content_type: str, Optional
|
|
149
|
+
:param _headers: set to override the headers for a single
|
|
150
|
+
request; this effectively ignores the headers
|
|
151
|
+
in the spec for a single request.
|
|
152
|
+
:type _headers: dict, optional
|
|
153
|
+
:param _host_index: set to override the host_index for a single
|
|
154
|
+
request; this effectively ignores the host_index
|
|
155
|
+
in the spec for a single request.
|
|
156
|
+
:type _host_index: int, optional
|
|
157
|
+
:return: Returns the result object.
|
|
158
|
+
""" # noqa: E501
|
|
159
|
+
|
|
160
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
161
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
162
|
+
_request_auth=_request_auth,
|
|
163
|
+
_content_type=_content_type,
|
|
164
|
+
_headers=_headers,
|
|
165
|
+
_host_index=_host_index
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
169
|
+
'200': "List[RobotController]",
|
|
170
|
+
'404': None,
|
|
171
|
+
'500': None,
|
|
172
|
+
}
|
|
173
|
+
response_data = await self.api_client.call_api(
|
|
174
|
+
*_param,
|
|
175
|
+
_request_timeout=_request_timeout
|
|
176
|
+
)
|
|
177
|
+
await response_data.read()
|
|
178
|
+
return self.api_client.response_deserialize(
|
|
179
|
+
response_data=response_data,
|
|
180
|
+
response_types_map=_response_types_map,
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
@validate_call
|
|
185
|
+
async def get_controller_config_from_arp_scan_without_preload_content(
|
|
186
|
+
self,
|
|
187
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
188
|
+
_request_timeout: Union[
|
|
189
|
+
None,
|
|
190
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
191
|
+
Tuple[
|
|
192
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
193
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
194
|
+
]
|
|
195
|
+
] = None,
|
|
196
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
197
|
+
_content_type: Optional[StrictStr] = None,
|
|
198
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
199
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
200
|
+
) -> RESTResponseType:
|
|
201
|
+
"""Robot Controller Configurations
|
|
202
|
+
|
|
203
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
204
|
+
|
|
205
|
+
:param robot_controller_configuration_request: (required)
|
|
206
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
207
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
208
|
+
number provided, it will be total request
|
|
209
|
+
timeout. It can also be a pair (tuple) of
|
|
210
|
+
(connection, read) timeouts.
|
|
211
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
212
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
213
|
+
request; this effectively ignores the
|
|
214
|
+
authentication in the spec for a single request.
|
|
215
|
+
:type _request_auth: dict, optional
|
|
216
|
+
:param _content_type: force content-type for the request.
|
|
217
|
+
:type _content_type: str, Optional
|
|
218
|
+
:param _headers: set to override the headers for a single
|
|
219
|
+
request; this effectively ignores the headers
|
|
220
|
+
in the spec for a single request.
|
|
221
|
+
:type _headers: dict, optional
|
|
222
|
+
:param _host_index: set to override the host_index for a single
|
|
223
|
+
request; this effectively ignores the host_index
|
|
224
|
+
in the spec for a single request.
|
|
225
|
+
:type _host_index: int, optional
|
|
226
|
+
:return: Returns the result object.
|
|
227
|
+
""" # noqa: E501
|
|
228
|
+
|
|
229
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
230
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
231
|
+
_request_auth=_request_auth,
|
|
232
|
+
_content_type=_content_type,
|
|
233
|
+
_headers=_headers,
|
|
234
|
+
_host_index=_host_index
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
238
|
+
'200': "List[RobotController]",
|
|
239
|
+
'404': None,
|
|
240
|
+
'500': None,
|
|
241
|
+
}
|
|
242
|
+
response_data = await self.api_client.call_api(
|
|
243
|
+
*_param,
|
|
244
|
+
_request_timeout=_request_timeout
|
|
245
|
+
)
|
|
246
|
+
return response_data.response
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
def _get_controller_config_from_arp_scan_serialize(
|
|
250
|
+
self,
|
|
251
|
+
robot_controller_configuration_request,
|
|
252
|
+
_request_auth,
|
|
253
|
+
_content_type,
|
|
254
|
+
_headers,
|
|
255
|
+
_host_index,
|
|
256
|
+
) -> RequestSerialized:
|
|
257
|
+
|
|
258
|
+
_host = None
|
|
259
|
+
|
|
260
|
+
_collection_formats: Dict[str, str] = {
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
_path_params: Dict[str, str] = {}
|
|
264
|
+
_query_params: List[Tuple[str, str]] = []
|
|
265
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
266
|
+
_form_params: List[Tuple[str, str]] = []
|
|
267
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
268
|
+
_body_params: Optional[bytes] = None
|
|
269
|
+
|
|
270
|
+
# process the path parameters
|
|
271
|
+
# process the query parameters
|
|
272
|
+
# process the header parameters
|
|
273
|
+
# process the form parameters
|
|
274
|
+
# process the body parameter
|
|
275
|
+
if robot_controller_configuration_request is not None:
|
|
276
|
+
_body_params = robot_controller_configuration_request
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
# set the HTTP header `Accept`
|
|
280
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
281
|
+
[
|
|
282
|
+
'application/json'
|
|
283
|
+
]
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
# set the HTTP header `Content-Type`
|
|
287
|
+
if _content_type:
|
|
288
|
+
_header_params['Content-Type'] = _content_type
|
|
289
|
+
else:
|
|
290
|
+
_default_content_type = (
|
|
291
|
+
self.api_client.select_header_content_type(
|
|
292
|
+
[
|
|
293
|
+
'application/json'
|
|
294
|
+
]
|
|
295
|
+
)
|
|
296
|
+
)
|
|
297
|
+
if _default_content_type is not None:
|
|
298
|
+
_header_params['Content-Type'] = _default_content_type
|
|
299
|
+
|
|
300
|
+
# authentication setting
|
|
301
|
+
_auth_settings: List[str] = [
|
|
302
|
+
'BearerAuth'
|
|
303
|
+
]
|
|
304
|
+
|
|
305
|
+
return self.api_client.param_serialize(
|
|
306
|
+
method='POST',
|
|
307
|
+
resource_path='/v2/experimental/system/network/controllers',
|
|
308
|
+
path_params=_path_params,
|
|
309
|
+
query_params=_query_params,
|
|
310
|
+
header_params=_header_params,
|
|
311
|
+
body=_body_params,
|
|
312
|
+
post_params=_form_params,
|
|
313
|
+
files=_files,
|
|
314
|
+
auth_settings=_auth_settings,
|
|
315
|
+
collection_formats=_collection_formats,
|
|
316
|
+
_host=_host,
|
|
317
|
+
_request_auth=_request_auth
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
44
322
|
@validate_call
|
|
45
323
|
async def get_robot_configurations(
|
|
46
324
|
self,
|
|
@@ -394,7 +394,7 @@ class VirtualControllerApi:
|
|
|
394
394
|
) -> None:
|
|
395
395
|
"""Add Motion Group
|
|
396
396
|
|
|
397
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
397
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
398
398
|
|
|
399
399
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
400
400
|
:type cell: str
|
|
@@ -471,7 +471,7 @@ class VirtualControllerApi:
|
|
|
471
471
|
) -> ApiResponse[None]:
|
|
472
472
|
"""Add Motion Group
|
|
473
473
|
|
|
474
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
474
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
475
475
|
|
|
476
476
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
477
477
|
:type cell: str
|
|
@@ -548,7 +548,7 @@ class VirtualControllerApi:
|
|
|
548
548
|
) -> RESTResponseType:
|
|
549
549
|
"""Add Motion Group
|
|
550
550
|
|
|
551
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
551
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
552
552
|
|
|
553
553
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
554
554
|
:type cell: str
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.dev64'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -511,7 +511,7 @@ class Configuration:
|
|
|
511
511
|
"OS: {env}\n"\
|
|
512
512
|
"Python Version: {pyversion}\n"\
|
|
513
513
|
"Version of the API: 2.2.0 dev\n"\
|
|
514
|
-
"SDK Package Version: 26.2.0.
|
|
514
|
+
"SDK Package Version: 26.2.0.dev64".\
|
|
515
515
|
format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
|
|
517
517
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -228,6 +228,7 @@ from .rectangular_capsule import RectangularCapsule
|
|
|
228
228
|
from .release_channel import ReleaseChannel
|
|
229
229
|
from .robot_controller import RobotController
|
|
230
230
|
from .robot_controller_configuration import RobotControllerConfiguration
|
|
231
|
+
from .robot_controller_configuration_request import RobotControllerConfigurationRequest
|
|
231
232
|
from .robot_controller_state import RobotControllerState
|
|
232
233
|
from .robot_system_mode import RobotSystemMode
|
|
233
234
|
from .robot_tcp import RobotTcp
|
|
@@ -492,6 +493,7 @@ __all__ = [
|
|
|
492
493
|
"ReleaseChannel",
|
|
493
494
|
"RobotController",
|
|
494
495
|
"RobotControllerConfiguration",
|
|
496
|
+
"RobotControllerConfigurationRequest",
|
|
495
497
|
"RobotControllerState",
|
|
496
498
|
"RobotSystemMode",
|
|
497
499
|
"RobotTcp",
|
|
@@ -27,10 +27,10 @@ class MotionGroupFromJson(BaseModel):
|
|
|
27
27
|
MotionGroupFromJson
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
motion_group: StrictStr = Field(description="Unique identifier for the motion group to be added.")
|
|
30
|
-
|
|
30
|
+
json_data: StrictStr = Field(description="Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). ")
|
|
31
31
|
extracted_motion_group_id: StrictStr = Field(description="The identifier of the motion group that needs to be extracted from the provided JSON configuration. ")
|
|
32
32
|
initial_joint_position: Optional[StrictStr] = Field(default=None, description="Initial joint position of the added motion group. Provides the joint position as a JSON array of float values in radians, where the array length must match the robot's degrees of freedom (DOF), e.g., `\"[0, 0, 0, 0, 0, 0]\"` for a 6-DOF robot. If the provided array length does not match the robot's DOF, the array will be adjusted: if it is longer, extra values will be truncated; if it is shorter, missing values will be filled with zeros. ")
|
|
33
|
-
__properties: ClassVar[List[str]] = ["motion_group", "
|
|
33
|
+
__properties: ClassVar[List[str]] = ["motion_group", "json_data", "extracted_motion_group_id", "initial_joint_position"]
|
|
34
34
|
|
|
35
35
|
model_config = ConfigDict(
|
|
36
36
|
populate_by_name=True,
|
|
@@ -88,7 +88,7 @@ class MotionGroupFromJson(BaseModel):
|
|
|
88
88
|
|
|
89
89
|
_obj = cls.model_validate({
|
|
90
90
|
"motion_group": obj.get("motion_group"),
|
|
91
|
-
"
|
|
91
|
+
"json_data": obj.get("json_data"),
|
|
92
92
|
"extracted_motion_group_id": obj.get("extracted_motion_group_id"),
|
|
93
93
|
"initial_joint_position": obj.get("initial_joint_position")
|
|
94
94
|
})
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Wandelbots NOVA API
|
|
5
|
+
|
|
6
|
+
Interact with robots in an easy and intuitive way.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.2.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from wandelbots_api_client.v2.models.network_device import NetworkDevice
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class RobotControllerConfigurationRequest(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
Information to generate all robot controller configurations that match a given ARP scan result.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
ip: StrictStr = Field(description="The IPv4 address assigned to the network interface where the ARP scan was performed. ")
|
|
31
|
+
network_devices: List[NetworkDevice] = Field(description="Array of network devices.")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["ip", "network_devices"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True, exclude_none=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""
|
|
47
|
+
Returns the JSON representation of the model using alias
|
|
48
|
+
|
|
49
|
+
Do not use pydantic v2 .model_dump_json(by_alias=True, exclude_unset=True) here!
|
|
50
|
+
It is unable to resolve nested types generated by openapi-generator.
|
|
51
|
+
"""
|
|
52
|
+
return json.dumps(self.to_dict())
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
56
|
+
"""Create an instance of RobotControllerConfigurationRequest from a JSON string"""
|
|
57
|
+
return cls.from_dict(json.loads(json_str))
|
|
58
|
+
|
|
59
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
60
|
+
"""Return the dictionary representation of the model using alias.
|
|
61
|
+
|
|
62
|
+
This has the following differences from calling pydantic's
|
|
63
|
+
`self.model_dump(by_alias=True)`:
|
|
64
|
+
|
|
65
|
+
* `None` is only added to the output dict for nullable fields that
|
|
66
|
+
were set at model initialization. Other fields with value `None`
|
|
67
|
+
are ignored.
|
|
68
|
+
"""
|
|
69
|
+
excluded_fields: Set[str] = set([
|
|
70
|
+
])
|
|
71
|
+
|
|
72
|
+
_dict = self.model_dump(
|
|
73
|
+
by_alias=True,
|
|
74
|
+
exclude=excluded_fields,
|
|
75
|
+
exclude_none=True,
|
|
76
|
+
)
|
|
77
|
+
# override the default output from pydantic by calling `to_dict()` of each item in network_devices (list)
|
|
78
|
+
_items = []
|
|
79
|
+
if self.network_devices:
|
|
80
|
+
for _item in self.network_devices:
|
|
81
|
+
# >>> Modified from https://github.com/OpenAPITools/openapi-generator/blob/v7.6.0/modules/openapi-generator/src/main/resources/python/model_generic.mustache
|
|
82
|
+
# to not drop empty elements in lists
|
|
83
|
+
if _item is not None:
|
|
84
|
+
_items.append(_item.to_dict())
|
|
85
|
+
# <<< End modification
|
|
86
|
+
_dict['network_devices'] = _items
|
|
87
|
+
return _dict
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
91
|
+
"""Create an instance of RobotControllerConfigurationRequest from a dict"""
|
|
92
|
+
if obj is None:
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
if not isinstance(obj, dict):
|
|
96
|
+
return cls.model_validate(obj)
|
|
97
|
+
|
|
98
|
+
_obj = cls.model_validate({
|
|
99
|
+
"ip": obj.get("ip"),
|
|
100
|
+
"network_devices": [
|
|
101
|
+
# >>> Modified from https://github.com/OpenAPITools/openapi-generator/blob/v7.6.0/modules/openapi-generator/src/main/resources/python/model_generic.mustache
|
|
102
|
+
# to allow dicts in lists
|
|
103
|
+
NetworkDevice.from_dict(_item) if hasattr(NetworkDevice, 'from_dict') else _item
|
|
104
|
+
# <<< End modification
|
|
105
|
+
for _item in obj["network_devices"]
|
|
106
|
+
] if obj.get("network_devices") is not None else None
|
|
107
|
+
})
|
|
108
|
+
return _obj
|
|
109
|
+
|
|
110
|
+
|
|
@@ -24,6 +24,8 @@ from urllib.parse import quote
|
|
|
24
24
|
|
|
25
25
|
from pydantic import StrictStr
|
|
26
26
|
from typing import List
|
|
27
|
+
from wandelbots_api_client.v2_pydantic.models import RobotController
|
|
28
|
+
from wandelbots_api_client.v2_pydantic.models import RobotControllerConfigurationRequest
|
|
27
29
|
|
|
28
30
|
from wandelbots_api_client.v2_pydantic.api_client import ApiClient, RequestSerialized
|
|
29
31
|
from wandelbots_api_client.v2_pydantic.api_response import ApiResponse
|
|
@@ -41,6 +43,285 @@ class RobotConfigurationsApi:
|
|
|
41
43
|
api_client = ApiClient.get_default()
|
|
42
44
|
self.api_client = api_client
|
|
43
45
|
|
|
46
|
+
@validate_call
|
|
47
|
+
async def get_controller_config_from_arp_scan(
|
|
48
|
+
self,
|
|
49
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
50
|
+
_request_timeout: Union[
|
|
51
|
+
None,
|
|
52
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
53
|
+
Tuple[
|
|
54
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
55
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
56
|
+
]
|
|
57
|
+
] = None,
|
|
58
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
59
|
+
_content_type: Optional[StrictStr] = None,
|
|
60
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
61
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
62
|
+
) -> List[RobotController]:
|
|
63
|
+
"""Robot Controller Configurations
|
|
64
|
+
|
|
65
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
66
|
+
|
|
67
|
+
:param robot_controller_configuration_request: (required)
|
|
68
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
69
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
70
|
+
number provided, it will be total request
|
|
71
|
+
timeout. It can also be a pair (tuple) of
|
|
72
|
+
(connection, read) timeouts.
|
|
73
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
74
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
75
|
+
request; this effectively ignores the
|
|
76
|
+
authentication in the spec for a single request.
|
|
77
|
+
:type _request_auth: dict, optional
|
|
78
|
+
:param _content_type: force content-type for the request.
|
|
79
|
+
:type _content_type: str, Optional
|
|
80
|
+
:param _headers: set to override the headers for a single
|
|
81
|
+
request; this effectively ignores the headers
|
|
82
|
+
in the spec for a single request.
|
|
83
|
+
:type _headers: dict, optional
|
|
84
|
+
:param _host_index: set to override the host_index for a single
|
|
85
|
+
request; this effectively ignores the host_index
|
|
86
|
+
in the spec for a single request.
|
|
87
|
+
:type _host_index: int, optional
|
|
88
|
+
:return: Returns the result object.
|
|
89
|
+
""" # noqa: E501
|
|
90
|
+
|
|
91
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
92
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
93
|
+
_request_auth=_request_auth,
|
|
94
|
+
_content_type=_content_type,
|
|
95
|
+
_headers=_headers,
|
|
96
|
+
_host_index=_host_index
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
100
|
+
'200': "List[RobotController]",
|
|
101
|
+
'404': None,
|
|
102
|
+
'500': None,
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
response_data = await self.api_client.call_api(
|
|
106
|
+
*_param,
|
|
107
|
+
_request_timeout=_request_timeout
|
|
108
|
+
)
|
|
109
|
+
await response_data.read()
|
|
110
|
+
return self.api_client.response_deserialize(
|
|
111
|
+
response_data=response_data,
|
|
112
|
+
response_types_map=_response_types_map,
|
|
113
|
+
).data
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
@validate_call
|
|
117
|
+
async def get_controller_config_from_arp_scan_with_http_info(
|
|
118
|
+
self,
|
|
119
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
120
|
+
_request_timeout: Union[
|
|
121
|
+
None,
|
|
122
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
123
|
+
Tuple[
|
|
124
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
125
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
126
|
+
]
|
|
127
|
+
] = None,
|
|
128
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
129
|
+
_content_type: Optional[StrictStr] = None,
|
|
130
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
131
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
132
|
+
) -> ApiResponse[List[RobotController]]:
|
|
133
|
+
"""Robot Controller Configurations
|
|
134
|
+
|
|
135
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
136
|
+
|
|
137
|
+
:param robot_controller_configuration_request: (required)
|
|
138
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
139
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
140
|
+
number provided, it will be total request
|
|
141
|
+
timeout. It can also be a pair (tuple) of
|
|
142
|
+
(connection, read) timeouts.
|
|
143
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
144
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
145
|
+
request; this effectively ignores the
|
|
146
|
+
authentication in the spec for a single request.
|
|
147
|
+
:type _request_auth: dict, optional
|
|
148
|
+
:param _content_type: force content-type for the request.
|
|
149
|
+
:type _content_type: str, Optional
|
|
150
|
+
:param _headers: set to override the headers for a single
|
|
151
|
+
request; this effectively ignores the headers
|
|
152
|
+
in the spec for a single request.
|
|
153
|
+
:type _headers: dict, optional
|
|
154
|
+
:param _host_index: set to override the host_index for a single
|
|
155
|
+
request; this effectively ignores the host_index
|
|
156
|
+
in the spec for a single request.
|
|
157
|
+
:type _host_index: int, optional
|
|
158
|
+
:return: Returns the result object.
|
|
159
|
+
""" # noqa: E501
|
|
160
|
+
|
|
161
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
162
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
163
|
+
_request_auth=_request_auth,
|
|
164
|
+
_content_type=_content_type,
|
|
165
|
+
_headers=_headers,
|
|
166
|
+
_host_index=_host_index
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
170
|
+
'200': "List[RobotController]",
|
|
171
|
+
'404': None,
|
|
172
|
+
'500': None,
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
response_data = await self.api_client.call_api(
|
|
176
|
+
*_param,
|
|
177
|
+
_request_timeout=_request_timeout
|
|
178
|
+
)
|
|
179
|
+
await response_data.read()
|
|
180
|
+
return self.api_client.response_deserialize(
|
|
181
|
+
response_data=response_data,
|
|
182
|
+
response_types_map=_response_types_map,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
@validate_call
|
|
187
|
+
async def get_controller_config_from_arp_scan_without_preload_content(
|
|
188
|
+
self,
|
|
189
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
190
|
+
_request_timeout: Union[
|
|
191
|
+
None,
|
|
192
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
193
|
+
Tuple[
|
|
194
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
195
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
196
|
+
]
|
|
197
|
+
] = None,
|
|
198
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
199
|
+
_content_type: Optional[StrictStr] = None,
|
|
200
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
201
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
202
|
+
) -> RESTResponseType:
|
|
203
|
+
"""Robot Controller Configurations
|
|
204
|
+
|
|
205
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
206
|
+
|
|
207
|
+
:param robot_controller_configuration_request: (required)
|
|
208
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
209
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
210
|
+
number provided, it will be total request
|
|
211
|
+
timeout. It can also be a pair (tuple) of
|
|
212
|
+
(connection, read) timeouts.
|
|
213
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
214
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
215
|
+
request; this effectively ignores the
|
|
216
|
+
authentication in the spec for a single request.
|
|
217
|
+
:type _request_auth: dict, optional
|
|
218
|
+
:param _content_type: force content-type for the request.
|
|
219
|
+
:type _content_type: str, Optional
|
|
220
|
+
:param _headers: set to override the headers for a single
|
|
221
|
+
request; this effectively ignores the headers
|
|
222
|
+
in the spec for a single request.
|
|
223
|
+
:type _headers: dict, optional
|
|
224
|
+
:param _host_index: set to override the host_index for a single
|
|
225
|
+
request; this effectively ignores the host_index
|
|
226
|
+
in the spec for a single request.
|
|
227
|
+
:type _host_index: int, optional
|
|
228
|
+
:return: Returns the result object.
|
|
229
|
+
""" # noqa: E501
|
|
230
|
+
|
|
231
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
232
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
233
|
+
_request_auth=_request_auth,
|
|
234
|
+
_content_type=_content_type,
|
|
235
|
+
_headers=_headers,
|
|
236
|
+
_host_index=_host_index
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
240
|
+
'200': "List[RobotController]",
|
|
241
|
+
'404': None,
|
|
242
|
+
'500': None,
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
response_data = await self.api_client.call_api(
|
|
246
|
+
*_param,
|
|
247
|
+
_request_timeout=_request_timeout
|
|
248
|
+
)
|
|
249
|
+
return response_data.response
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def _get_controller_config_from_arp_scan_serialize(
|
|
253
|
+
self,
|
|
254
|
+
robot_controller_configuration_request,
|
|
255
|
+
_request_auth,
|
|
256
|
+
_content_type,
|
|
257
|
+
_headers,
|
|
258
|
+
_host_index,
|
|
259
|
+
) -> RequestSerialized:
|
|
260
|
+
|
|
261
|
+
_host = None
|
|
262
|
+
|
|
263
|
+
_collection_formats: Dict[str, str] = {
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
_path_params: Dict[str, str] = {}
|
|
267
|
+
_query_params: List[Tuple[str, str]] = []
|
|
268
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
269
|
+
_form_params: List[Tuple[str, str]] = []
|
|
270
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
271
|
+
_body_params: Optional[bytes] = None
|
|
272
|
+
|
|
273
|
+
# process the path parameters
|
|
274
|
+
# process the query parameters
|
|
275
|
+
# process the header parameters
|
|
276
|
+
# process the form parameters
|
|
277
|
+
# process the body parameter
|
|
278
|
+
if robot_controller_configuration_request is not None:
|
|
279
|
+
_body_params = robot_controller_configuration_request
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
# set the HTTP header `Accept`
|
|
283
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
284
|
+
[
|
|
285
|
+
'application/json'
|
|
286
|
+
]
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
# set the HTTP header `Content-Type`
|
|
290
|
+
if _content_type:
|
|
291
|
+
_header_params['Content-Type'] = _content_type
|
|
292
|
+
else:
|
|
293
|
+
_default_content_type = (
|
|
294
|
+
self.api_client.select_header_content_type(
|
|
295
|
+
[
|
|
296
|
+
'application/json'
|
|
297
|
+
]
|
|
298
|
+
)
|
|
299
|
+
)
|
|
300
|
+
if _default_content_type is not None:
|
|
301
|
+
_header_params['Content-Type'] = _default_content_type
|
|
302
|
+
|
|
303
|
+
# authentication setting
|
|
304
|
+
_auth_settings: List[str] = [
|
|
305
|
+
'BearerAuth'
|
|
306
|
+
]
|
|
307
|
+
|
|
308
|
+
return self.api_client.param_serialize(
|
|
309
|
+
method='POST',
|
|
310
|
+
resource_path='/v2/experimental/system/network/controllers',
|
|
311
|
+
path_params=_path_params,
|
|
312
|
+
query_params=_query_params,
|
|
313
|
+
header_params=_header_params,
|
|
314
|
+
body=_body_params,
|
|
315
|
+
post_params=_form_params,
|
|
316
|
+
files=_files,
|
|
317
|
+
auth_settings=_auth_settings,
|
|
318
|
+
collection_formats=_collection_formats,
|
|
319
|
+
_host=_host,
|
|
320
|
+
_request_auth=_request_auth
|
|
321
|
+
)
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
44
325
|
@validate_call
|
|
45
326
|
async def get_robot_configurations(
|
|
46
327
|
self,
|
|
@@ -397,7 +397,7 @@ class VirtualControllerApi:
|
|
|
397
397
|
) -> None:
|
|
398
398
|
"""Add Motion Group
|
|
399
399
|
|
|
400
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
400
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
401
401
|
|
|
402
402
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
403
403
|
:type cell: str
|
|
@@ -475,7 +475,7 @@ class VirtualControllerApi:
|
|
|
475
475
|
) -> ApiResponse[None]:
|
|
476
476
|
"""Add Motion Group
|
|
477
477
|
|
|
478
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
478
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
479
479
|
|
|
480
480
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
481
481
|
:type cell: str
|
|
@@ -553,7 +553,7 @@ class VirtualControllerApi:
|
|
|
553
553
|
) -> RESTResponseType:
|
|
554
554
|
"""Add Motion Group
|
|
555
555
|
|
|
556
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
556
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
557
557
|
|
|
558
558
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
559
559
|
:type cell: str
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.dev64'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -511,7 +511,7 @@ class Configuration:
|
|
|
511
511
|
"OS: {env}\n"\
|
|
512
512
|
"Python Version: {pyversion}\n"\
|
|
513
513
|
"Version of the API: 2.2.0 dev\n"\
|
|
514
|
-
"SDK Package Version: 26.2.0.
|
|
514
|
+
"SDK Package Version: 26.2.0.dev64".\
|
|
515
515
|
format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
|
|
517
517
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: public.openapi.yaml
|
|
3
|
-
# timestamp: 2026-02-
|
|
3
|
+
# timestamp: 2026-02-27T18:40:15+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -1456,6 +1456,19 @@ class KinematicModel(BaseModel):
|
|
|
1456
1456
|
"""
|
|
1457
1457
|
|
|
1458
1458
|
|
|
1459
|
+
class RobotControllerConfigurationRequest(BaseModel):
|
|
1460
|
+
"""
|
|
1461
|
+
Information to generate all robot controller configurations that match a given ARP scan result.
|
|
1462
|
+
"""
|
|
1463
|
+
|
|
1464
|
+
ip: IPv4Address
|
|
1465
|
+
"""
|
|
1466
|
+
The IPv4 address assigned to the network interface where the ARP scan was performed.
|
|
1467
|
+
|
|
1468
|
+
"""
|
|
1469
|
+
network_devices: ArpScanResponse
|
|
1470
|
+
|
|
1471
|
+
|
|
1459
1472
|
class ControllerDescription(BaseModel):
|
|
1460
1473
|
"""
|
|
1461
1474
|
The data type to describe a robot controller.
|
|
@@ -4235,7 +4248,7 @@ class MotionGroupFromJson(BaseModel):
|
|
|
4235
4248
|
"""
|
|
4236
4249
|
Unique identifier for the motion group to be added.
|
|
4237
4250
|
"""
|
|
4238
|
-
|
|
4251
|
+
json_data: str
|
|
4239
4252
|
"""
|
|
4240
4253
|
Full JSON configuration of the virtual robot controller.
|
|
4241
4254
|
This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots_api_client
|
|
3
|
-
Version: 26.2.0.
|
|
3
|
+
Version: 26.2.0.dev64
|
|
4
4
|
Summary: Wandelbots Python Client: Interact with robots in an easy and intuitive way.
|
|
5
5
|
Home-page:
|
|
6
6
|
Author: Copyright (c) 2025 Wandelbots GmbH
|
|
@@ -41,7 +41,7 @@ Dynamic: license-file
|
|
|
41
41
|
Interact with robots in an easy and intuitive way.
|
|
42
42
|
|
|
43
43
|
- Compatible API version: 1.3.0 dev (can be found at the home screen of your instance -> API)
|
|
44
|
-
- Package version: 26.2.0.
|
|
44
|
+
- Package version: 26.2.0.dev64
|
|
45
45
|
|
|
46
46
|
## Requirements.
|
|
47
47
|
Python >=3.11, Python < 4.0
|
{wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/RECORD
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
wandelbots_api_client/__init__.py,sha256=
|
|
2
|
-
wandelbots_api_client/api_client.py,sha256=
|
|
1
|
+
wandelbots_api_client/__init__.py,sha256=Y-qa0mIxwXAL_HmK0mJZlcpWu7oD12WNumAtk7kbiPE,1026
|
|
2
|
+
wandelbots_api_client/api_client.py,sha256=ZPUIWw_1nnNMvQ0DSKbfOlKZc9q4Fp0tgvnhcG39R3o,27916
|
|
3
3
|
wandelbots_api_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
4
4
|
wandelbots_api_client/authorization.py,sha256=1ZKTpDU3t-7clI0hOqijkg-4Em0hKAbLQL6dyGO_r9w,7928
|
|
5
|
-
wandelbots_api_client/configuration.py,sha256=
|
|
5
|
+
wandelbots_api_client/configuration.py,sha256=ieUSmigE-VJf8FitTrUF0svPWdxgkHmIqgB53INE3DU,18177
|
|
6
6
|
wandelbots_api_client/exceptions.py,sha256=usEVkwFo1FU6F0d3eOnKPZ-VkKMr8ipSO6DPOnKkZ1A,6432
|
|
7
7
|
wandelbots_api_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
wandelbots_api_client/rest.py,sha256=aR_w-qoIH3t8kc2_3w_UMZc7dK7jHrS3FyoeSur_n6I,7260
|
|
@@ -327,10 +327,10 @@ wandelbots_api_client/models/virtual_controller.py,sha256=64M1EgNZNDz77egckd4koi
|
|
|
327
327
|
wandelbots_api_client/models/virtual_controller_types.py,sha256=IIcNSonSxyah0DlHiiW_bSol1P5m5wSY5_DTvU2nj0w,6571
|
|
328
328
|
wandelbots_api_client/models/virtual_robot_configuration.py,sha256=Hwdh6-w7eAXOSQoShhK9ZzAai5bGTaEbnQ0Sraprnsg,2971
|
|
329
329
|
wandelbots_api_client/models/yaskawa_controller.py,sha256=Qc_ABUh8wphtDA0IKPTpaIo91vkGKJyS60Q5YEklCwA,3192
|
|
330
|
-
wandelbots_api_client/v2/__init__.py,sha256=
|
|
331
|
-
wandelbots_api_client/v2/api_client.py,sha256=
|
|
330
|
+
wandelbots_api_client/v2/__init__.py,sha256=X9Z2yqLW3B2we20aQB9rPMTsDBm5yUcwWsAQegfXbWE,1026
|
|
331
|
+
wandelbots_api_client/v2/api_client.py,sha256=4SY0G_qfOB-cp2Vx-3G8-wHLL1abJ2cf4R5YS5z6p1Q,27934
|
|
332
332
|
wandelbots_api_client/v2/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
333
|
-
wandelbots_api_client/v2/configuration.py,sha256=
|
|
333
|
+
wandelbots_api_client/v2/configuration.py,sha256=bxXDt-jHVq3yNleKb2hgO0KNbxHhRZN6nr_BnmrRn3U,18180
|
|
334
334
|
wandelbots_api_client/v2/exceptions.py,sha256=1wvgAKcxzKimGzzeIRqIAJVjNvzbWjcUDWWxahnpE-4,6432
|
|
335
335
|
wandelbots_api_client/v2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
336
336
|
wandelbots_api_client/v2/rest.py,sha256=ZAsCiRuuX90xFwHxyxE0aE6sl2fsSlXPKMG8SWMsvaA,7263
|
|
@@ -346,7 +346,7 @@ wandelbots_api_client/v2/api/license_api.py,sha256=m0_tRGwgGhfE-DOiP0BIrK5CTjXKe
|
|
|
346
346
|
wandelbots_api_client/v2/api/motion_group_api.py,sha256=bsoBhxsRBVyMyDJ1uyFc7fDzrxi8lRLkcwV2qdrWqjs,32740
|
|
347
347
|
wandelbots_api_client/v2/api/motion_group_models_api.py,sha256=ho4GGqiYYFMGr887JJJBenUhEsDKJaOKjkF0bJNkOLk,59568
|
|
348
348
|
wandelbots_api_client/v2/api/program_api.py,sha256=YPYtpJQc0xJBP_TGPmwZOaQhhyroD-7z_LMFrhUF6A4,45835
|
|
349
|
-
wandelbots_api_client/v2/api/robot_configurations_api.py,sha256=
|
|
349
|
+
wandelbots_api_client/v2/api/robot_configurations_api.py,sha256=D2cTipYgkofalm5vHnSUbXcLGHi9nrd5XWgeEPsiQk4,22644
|
|
350
350
|
wandelbots_api_client/v2/api/store_collision_components_api.py,sha256=sO4aO7zj0bKaeBpusRazIgWZCO1bSIFI6llsplGN_7I,164794
|
|
351
351
|
wandelbots_api_client/v2/api/store_collision_setups_api.py,sha256=sxFzLYJHjV4mLfPykRuW_LgPTWhzkZRAw3A3HBSeslg,55807
|
|
352
352
|
wandelbots_api_client/v2/api/store_object_api.py,sha256=3YV4KU2eBGjb9B00vKymKFXybyuDC5Oqw3G06lA9xZY,65682
|
|
@@ -355,10 +355,10 @@ wandelbots_api_client/v2/api/trajectory_caching_api.py,sha256=o6KwUSHM0aXzPsrMgb
|
|
|
355
355
|
wandelbots_api_client/v2/api/trajectory_execution_api.py,sha256=jy5FwwiYfxrrXxdGK1j2r-vwIsZiEWmp1e7lxa8tX_I,9179
|
|
356
356
|
wandelbots_api_client/v2/api/trajectory_planning_api.py,sha256=x9BwKU6ANupL6XtquamlP1xpwaBEpCRxYyE5pBtnu1M,42708
|
|
357
357
|
wandelbots_api_client/v2/api/version_api.py,sha256=Nu-0-dWBQOjeapuJuaytcJEEf85HCUoTq8lDEWlmGxE,10364
|
|
358
|
-
wandelbots_api_client/v2/api/virtual_controller_api.py,sha256=
|
|
358
|
+
wandelbots_api_client/v2/api/virtual_controller_api.py,sha256=RHruBBapGRfMkyevRd8gOcdv2aAPyf35WuwibcOB7ek,237788
|
|
359
359
|
wandelbots_api_client/v2/api/virtual_controller_behavior_api.py,sha256=PyqDhEKtZqzwq_HiWCSJ9kB-vSEziiFNxf34VGYlbxE,42162
|
|
360
360
|
wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py,sha256=_qfFNwbJqrBfoogjuvOj4wr48eqLATitQN5t-eywfhA,42407
|
|
361
|
-
wandelbots_api_client/v2/models/__init__.py,sha256=
|
|
361
|
+
wandelbots_api_client/v2/models/__init__.py,sha256=j12JNmenTq800zkfB6CDEKWrqIZqouYikTGlQbCkJC0,21570
|
|
362
362
|
wandelbots_api_client/v2/models/abb_controller.py,sha256=MweK0lJwvzbAe1eXgHDGd2JC_ocr67zhiU42SqWGTSs,3860
|
|
363
363
|
wandelbots_api_client/v2/models/abb_controller_egm_server.py,sha256=iLcA1wV55zAeEWlZFKN5XbgdUbh0rLRnH7lRiQSpZ1I,2776
|
|
364
364
|
wandelbots_api_client/v2/models/activate_license_request.py,sha256=6lAkeIFpdudXMdx_ZMQ8vzEuyPjbfB-gt7dUL-nz7U0,2693
|
|
@@ -511,7 +511,7 @@ wandelbots_api_client/v2/models/motion_command.py,sha256=oWk6WepLHkK2F0eF019_YMz
|
|
|
511
511
|
wandelbots_api_client/v2/models/motion_command_blending.py,sha256=HcdEwR2bVBmrPySyOfD5z4huInPL60B9EnggrSSSkMg,6183
|
|
512
512
|
wandelbots_api_client/v2/models/motion_command_path.py,sha256=EGtpR427TZf2wNp4U1LiFSqYBbID2jFuvSHU7Ylc9nE,8759
|
|
513
513
|
wandelbots_api_client/v2/models/motion_group_description.py,sha256=RqdUnxn6H9XbfP9vz0K-zmHXHpCAjKc6XOrVQZ8t7V4,12371
|
|
514
|
-
wandelbots_api_client/v2/models/motion_group_from_json.py,sha256=
|
|
514
|
+
wandelbots_api_client/v2/models/motion_group_from_json.py,sha256=xGgBwQbFCz2glQxC_6lkbOO2BXT6sgSWO9hzhmX7Ctc,3921
|
|
515
515
|
wandelbots_api_client/v2/models/motion_group_from_type.py,sha256=OXhDlzVO6Gza_Xr801DEx8cel8vFuaeAbVbCi3jVezY,3594
|
|
516
516
|
wandelbots_api_client/v2/models/motion_group_info.py,sha256=5Wz0O0smD9C3vpqn1asDwlspvGcEacw21UftO0GA0wA,3093
|
|
517
517
|
wandelbots_api_client/v2/models/motion_group_joints.py,sha256=YdrVxl_tbueMaV_VXERBSER6Dq5GkPzAGNyIu0ewRi4,3473
|
|
@@ -573,6 +573,7 @@ wandelbots_api_client/v2/models/rectangular_capsule.py,sha256=lhhZ908LBftE5pbUl6
|
|
|
573
573
|
wandelbots_api_client/v2/models/release_channel.py,sha256=vSeafz85KKHJKhWjn0TpG_0sFyagj0tHWhNTByAR-7Y,842
|
|
574
574
|
wandelbots_api_client/v2/models/robot_controller.py,sha256=F_d_vsx7aoHKIBP5bwzUjQmX9gcSOHpRQWCF475URPc,3724
|
|
575
575
|
wandelbots_api_client/v2/models/robot_controller_configuration.py,sha256=dJpPeL8BAK8QMsQmszmH04vumS6a2SLLTkX7Te2fyP0,10298
|
|
576
|
+
wandelbots_api_client/v2/models/robot_controller_configuration_request.py,sha256=R2cMMEU5xyg16XWX_hgORCXfko6DuAp0BsNT-k2qlrs,4114
|
|
576
577
|
wandelbots_api_client/v2/models/robot_controller_state.py,sha256=QqxazjWVJgJpJHWBB257qDrKd3ZfA_oLHpQwYPI03-M,6486
|
|
577
578
|
wandelbots_api_client/v2/models/robot_system_mode.py,sha256=0xfEPfLjx-qDiHeqNGcn47ghc2CgHClFkBysXfx8SRk,2175
|
|
578
579
|
wandelbots_api_client/v2/models/robot_tcp.py,sha256=pVEj9roqRzYmhajcfblJFAMDPvGlNLWP1E_dizjPXVc,3629
|
|
@@ -621,12 +622,12 @@ wandelbots_api_client/v2/models/virtual_controller_types.py,sha256=IIcNSonSxyah0
|
|
|
621
622
|
wandelbots_api_client/v2/models/virtual_robot_configuration.py,sha256=Cotzwk4S2ikyAWL-tK8lNJXMHOO7Qx8Gl7v99hf9Zwc,2971
|
|
622
623
|
wandelbots_api_client/v2/models/wait_for_io_event_request.py,sha256=juYd2wGeS351Kjot-AInwM0Lyeow3pC96ejMBXAY6h0,3211
|
|
623
624
|
wandelbots_api_client/v2/models/yaskawa_controller.py,sha256=W8S8_PQEUe6tvfdTmXfowxPMDIsOreUZNAZbfX8d6-c,3040
|
|
624
|
-
wandelbots_api_client/v2_pydantic/__init__.py,sha256=
|
|
625
|
-
wandelbots_api_client/v2_pydantic/api_client.py,sha256=
|
|
625
|
+
wandelbots_api_client/v2_pydantic/__init__.py,sha256=DbBIDx_IxYrK6XClys6QuSj4O8UezkkWuwJYpsrr-To,1061
|
|
626
|
+
wandelbots_api_client/v2_pydantic/api_client.py,sha256=_CguqBPTCYFEyAmhW6wDMI-A2UMcPdilXRdlUGd1k8E,28142
|
|
626
627
|
wandelbots_api_client/v2_pydantic/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
627
|
-
wandelbots_api_client/v2_pydantic/configuration.py,sha256=
|
|
628
|
+
wandelbots_api_client/v2_pydantic/configuration.py,sha256=8ES_6xx1yaH3LxWqMRZ8unnoRCxeccpic4YMHL1WmqM,18189
|
|
628
629
|
wandelbots_api_client/v2_pydantic/exceptions.py,sha256=1wvgAKcxzKimGzzeIRqIAJVjNvzbWjcUDWWxahnpE-4,6432
|
|
629
|
-
wandelbots_api_client/v2_pydantic/models.py,sha256=
|
|
630
|
+
wandelbots_api_client/v2_pydantic/models.py,sha256=qjIUShCzR2oL-7GxMT_AkE_WHt4X0v7DHOdDGBOmbBI,143835
|
|
630
631
|
wandelbots_api_client/v2_pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
631
632
|
wandelbots_api_client/v2_pydantic/rest.py,sha256=1SMxpN1XkOOb8Za8f0bbru_dUFHRFF4XUv777xcLwz0,7272
|
|
632
633
|
wandelbots_api_client/v2_pydantic/virtual_controller_types.py,sha256=luk6nO5VP4f8NmaHVrgzWmcw4TaFyNXD3B9WoECdID8,5225
|
|
@@ -642,7 +643,7 @@ wandelbots_api_client/v2_pydantic/api/license_api.py,sha256=UwHYMqOaRXvyde_brrK9
|
|
|
642
643
|
wandelbots_api_client/v2_pydantic/api/motion_group_api.py,sha256=tW7Xa4mS1vMRyeB2m7rMeVWz4_2_pBupvwJNhZJXd2E,32832
|
|
643
644
|
wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py,sha256=ZUiQ1ZBQ7GqXoHN3U0811NrFbYd1wbRWas3GQXsK9f4,59803
|
|
644
645
|
wandelbots_api_client/v2_pydantic/api/program_api.py,sha256=MrTZIn4GfnJsr1iVvVr429m4Rdnu-xqgGoML6dcDTMQ,46019
|
|
645
|
-
wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py,sha256=
|
|
646
|
+
wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py,sha256=2L_zv5oSz09yipNMWYNdbcPAHqrRmMjLt56-a3iglC8,22719
|
|
646
647
|
wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py,sha256=6fVkFrBbi5FshyHvVZz5l_T1fK2rt-D689eU23gyNm8,165466
|
|
647
648
|
wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py,sha256=D4bOcwrpSjir9y4CTKb1Y-MX4iQ2UDZCs5-zMLVPOpE,56042
|
|
648
649
|
wandelbots_api_client/v2_pydantic/api/store_object_api.py,sha256=p5GYHniJrYS86w15-symeehq3mNLkVb4j_JDUiSjsuY,65967
|
|
@@ -651,11 +652,11 @@ wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py,sha256=RzXCfsGUs
|
|
|
651
652
|
wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py,sha256=2-XWY85ttazd8iwW65ZfN7FhICR0PoczTJ79374zi24,9209
|
|
652
653
|
wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py,sha256=DB0zyMX6ghGDhyzXQMQELnw5jamFrKJkjQNRT3AT-aw,42757
|
|
653
654
|
wandelbots_api_client/v2_pydantic/api/version_api.py,sha256=_JiiFL6PtA1i0fGk7nqzI9t72iMfJXFfSgrZ0N82wAg,10431
|
|
654
|
-
wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py,sha256=
|
|
655
|
+
wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py,sha256=TpRfwm_pdD5ve1_Q_A8fcZm6LePDblcKhCmknI-ZnAE,238460
|
|
655
656
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py,sha256=wjnltoitkklvFYjEM6YcNdf7nWnSjHo6xFwTVMMJj80,42312
|
|
656
657
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py,sha256=yR_i2ihPXDP8GJ2TCcSZ4Cz04K2NtYfJSAj5B0mY5Yk,42548
|
|
657
|
-
wandelbots_api_client-26.2.0.
|
|
658
|
-
wandelbots_api_client-26.2.0.
|
|
659
|
-
wandelbots_api_client-26.2.0.
|
|
660
|
-
wandelbots_api_client-26.2.0.
|
|
661
|
-
wandelbots_api_client-26.2.0.
|
|
658
|
+
wandelbots_api_client-26.2.0.dev64.dist-info/licenses/LICENSE,sha256=PJyUaZgTVC0_nJmhRpcbnOcXvmTqJGE6axeSifngIGY,11344
|
|
659
|
+
wandelbots_api_client-26.2.0.dev64.dist-info/METADATA,sha256=h7_jJgXdBko_UBtrHVj71EV2W8_qhORIhLLGG2T_i20,8026
|
|
660
|
+
wandelbots_api_client-26.2.0.dev64.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
|
|
661
|
+
wandelbots_api_client-26.2.0.dev64.dist-info/top_level.txt,sha256=eCDsV95XWqVBSMDe4MRzyOj53-TK-o5WU1Qv_yv493M,22
|
|
662
|
+
wandelbots_api_client-26.2.0.dev64.dist-info/RECORD,,
|
{wandelbots_api_client-26.2.0.dev62.dist-info → wandelbots_api_client-26.2.0.dev64.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|