wandelbots_api_client 26.6.0.dev47__py3-none-any.whl → 26.6.0.dev48__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/v2/__init__.py +1 -1
- 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/bostondynamics_controller.py +127 -0
- wandelbots_api_client/v2/models/manufacturer.py +2 -0
- wandelbots_api_client/v2/models/robot_controller_configuration.py +65 -6
- wandelbots_api_client/v2/models/unitree_controller.py +113 -0
- wandelbots_api_client/v2_pydantic/__init__.py +1 -1
- 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/__init__.py +8 -2
- wandelbots_api_client/v2_pydantic/models/models.py +93 -4
- {wandelbots_api_client-26.6.0.dev47.dist-info → wandelbots_api_client-26.6.0.dev48.dist-info}/METADATA +2 -2
- {wandelbots_api_client-26.6.0.dev47.dist-info → wandelbots_api_client-26.6.0.dev48.dist-info}/RECORD +16 -14
- {wandelbots_api_client-26.6.0.dev47.dist-info → wandelbots_api_client-26.6.0.dev48.dist-info}/WHEEL +0 -0
|
@@ -85,7 +85,7 @@ class ApiClient:
|
|
|
85
85
|
self.default_headers[header_name] = header_value
|
|
86
86
|
self.cookie = cookie
|
|
87
87
|
# Set default User-Agent.
|
|
88
|
-
self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.
|
|
88
|
+
self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.dev48"
|
|
89
89
|
self.client_side_validation = configuration.client_side_validation
|
|
90
90
|
|
|
91
91
|
async def __aenter__(self):
|
|
@@ -512,7 +512,7 @@ class Configuration:
|
|
|
512
512
|
"OS: {env}\n"
|
|
513
513
|
"Python Version: {pyversion}\n"
|
|
514
514
|
"Version of the API: 2.6.0 dev\n"
|
|
515
|
-
"SDK Package Version: 26.6.0.
|
|
515
|
+
"SDK Package Version: 26.6.0.dev48".format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
)
|
|
517
517
|
|
|
518
518
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -32,6 +32,7 @@ from wandelbots_api_client.v2.models.blending_auto import BlendingAuto
|
|
|
32
32
|
from wandelbots_api_client.v2.models.blending_position import BlendingPosition
|
|
33
33
|
from wandelbots_api_client.v2.models.blending_space import BlendingSpace
|
|
34
34
|
from wandelbots_api_client.v2.models.boolean_value import BooleanValue
|
|
35
|
+
from wandelbots_api_client.v2.models.bostondynamics_controller import BostondynamicsController
|
|
35
36
|
from wandelbots_api_client.v2.models.box import Box
|
|
36
37
|
from wandelbots_api_client.v2.models.bus_io_description import BusIODescription
|
|
37
38
|
from wandelbots_api_client.v2.models.bus_io_modbus_client import BusIOModbusClient
|
|
@@ -422,6 +423,7 @@ from wandelbots_api_client.v2.models.trajectory_running import TrajectoryRunning
|
|
|
422
423
|
from wandelbots_api_client.v2.models.trajectory_section import TrajectorySection
|
|
423
424
|
from wandelbots_api_client.v2.models.trajectory_wait_for_io import TrajectoryWaitForIO
|
|
424
425
|
from wandelbots_api_client.v2.models.unit_type import UnitType
|
|
426
|
+
from wandelbots_api_client.v2.models.unitree_controller import UnitreeController
|
|
425
427
|
from wandelbots_api_client.v2.models.universalrobots_controller import UniversalrobotsController
|
|
426
428
|
from wandelbots_api_client.v2.models.update_cell_version_request import UpdateCellVersionRequest
|
|
427
429
|
from wandelbots_api_client.v2.models.update_nova_version_request import UpdateNovaVersionRequest
|
|
@@ -0,0 +1,127 @@
|
|
|
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.6.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
import pprint
|
|
16
|
+
import re # noqa: F401
|
|
17
|
+
import json
|
|
18
|
+
|
|
19
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator
|
|
20
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
21
|
+
from typing import Optional, Set
|
|
22
|
+
from typing_extensions import Self
|
|
23
|
+
from pydantic_core import to_jsonable_python
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class BostondynamicsController(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
The configuration of a Boston Dynamics robot controller. Requires the hostname or IP address of the robot and authentication credentials.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
|
|
31
|
+
kind: StrictStr
|
|
32
|
+
controller_ip: StrictStr = Field(description="The hostname or IP address of the robot.")
|
|
33
|
+
robot_type: Optional[StrictStr] = Field(default="spot", description="The Boston Dynamics robot model type.")
|
|
34
|
+
password: StrictStr = Field(description="The authentication password for the robot.")
|
|
35
|
+
username: Optional[StrictStr] = Field(default="admin", description="The authentication username for the robot.")
|
|
36
|
+
network_interface: Optional[StrictStr] = Field(default="eth0", description="The network interface used to communicate with the robot.")
|
|
37
|
+
stream_quality: Optional[StrictInt] = Field(default=75, description="JPEG quality for camera streams (1-100).")
|
|
38
|
+
stream_fps: Optional[Union[StrictFloat, StrictInt]] = Field(default=10, description="Frames per second for camera streams.")
|
|
39
|
+
__properties: ClassVar[List[str]] = [
|
|
40
|
+
"kind",
|
|
41
|
+
"controller_ip",
|
|
42
|
+
"robot_type",
|
|
43
|
+
"password",
|
|
44
|
+
"username",
|
|
45
|
+
"network_interface",
|
|
46
|
+
"stream_quality",
|
|
47
|
+
"stream_fps",
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
@field_validator("kind")
|
|
51
|
+
def kind_validate_enum(cls, value):
|
|
52
|
+
"""Validates the enum"""
|
|
53
|
+
if value not in set(["BostondynamicsController"]):
|
|
54
|
+
raise ValueError("must be one of enum values ('BostondynamicsController')")
|
|
55
|
+
return value
|
|
56
|
+
|
|
57
|
+
@field_validator("robot_type")
|
|
58
|
+
def robot_type_validate_enum(cls, value):
|
|
59
|
+
"""Validates the enum"""
|
|
60
|
+
if value is None:
|
|
61
|
+
return value
|
|
62
|
+
|
|
63
|
+
if value not in set(["spot"]):
|
|
64
|
+
raise ValueError("must be one of enum values ('spot')")
|
|
65
|
+
return value
|
|
66
|
+
|
|
67
|
+
model_config = ConfigDict(
|
|
68
|
+
validate_by_name=True,
|
|
69
|
+
validate_by_alias=True,
|
|
70
|
+
validate_assignment=True,
|
|
71
|
+
protected_namespaces=(),
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
def to_str(self) -> str:
|
|
75
|
+
"""Returns the string representation of the model using alias"""
|
|
76
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
77
|
+
|
|
78
|
+
def to_json(self) -> str:
|
|
79
|
+
"""Returns the JSON representation of the model using alias"""
|
|
80
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
84
|
+
"""Create an instance of BostondynamicsController from a JSON string"""
|
|
85
|
+
return cls.from_dict(json.loads(json_str))
|
|
86
|
+
|
|
87
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
88
|
+
"""Return the dictionary representation of the model using alias.
|
|
89
|
+
|
|
90
|
+
This has the following differences from calling pydantic's
|
|
91
|
+
`self.model_dump(by_alias=True)`:
|
|
92
|
+
|
|
93
|
+
* `None` is only added to the output dict for nullable fields that
|
|
94
|
+
were set at model initialization. Other fields with value `None`
|
|
95
|
+
are ignored.
|
|
96
|
+
"""
|
|
97
|
+
excluded_fields: Set[str] = set([])
|
|
98
|
+
|
|
99
|
+
_dict = self.model_dump(
|
|
100
|
+
by_alias=True,
|
|
101
|
+
exclude=excluded_fields,
|
|
102
|
+
exclude_none=True,
|
|
103
|
+
)
|
|
104
|
+
return _dict
|
|
105
|
+
|
|
106
|
+
@classmethod
|
|
107
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
108
|
+
"""Create an instance of BostondynamicsController from a dict"""
|
|
109
|
+
if obj is None:
|
|
110
|
+
return None
|
|
111
|
+
|
|
112
|
+
if not isinstance(obj, dict):
|
|
113
|
+
return cls.model_validate(obj)
|
|
114
|
+
|
|
115
|
+
_obj = cls.model_validate(
|
|
116
|
+
{
|
|
117
|
+
"kind": obj.get("kind"),
|
|
118
|
+
"controller_ip": obj.get("controller_ip"),
|
|
119
|
+
"robot_type": obj.get("robot_type") if obj.get("robot_type") is not None else "spot",
|
|
120
|
+
"password": obj.get("password"),
|
|
121
|
+
"username": obj.get("username") if obj.get("username") is not None else "admin",
|
|
122
|
+
"network_interface": obj.get("network_interface") if obj.get("network_interface") is not None else "eth0",
|
|
123
|
+
"stream_quality": obj.get("stream_quality") if obj.get("stream_quality") is not None else 75,
|
|
124
|
+
"stream_fps": obj.get("stream_fps") if obj.get("stream_fps") is not None else 10,
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
return _obj
|
|
@@ -26,9 +26,11 @@ class Manufacturer(str, Enum):
|
|
|
26
26
|
allowed enum values
|
|
27
27
|
"""
|
|
28
28
|
ABB = "abb"
|
|
29
|
+
BOSTONDYNAMICS = "bostondynamics"
|
|
29
30
|
FANUC = "fanuc"
|
|
30
31
|
KUKA = "kuka"
|
|
31
32
|
STAUBLI = "staubli"
|
|
33
|
+
UNITREE = "unitree"
|
|
32
34
|
UNIVERSALROBOTS = "universalrobots"
|
|
33
35
|
YASKAWA = "yaskawa"
|
|
34
36
|
|
|
@@ -17,8 +17,10 @@ import pprint
|
|
|
17
17
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
|
|
18
18
|
from typing import Any, List, Optional
|
|
19
19
|
from wandelbots_api_client.v2.models.abb_controller import AbbController
|
|
20
|
+
from wandelbots_api_client.v2.models.bostondynamics_controller import BostondynamicsController
|
|
20
21
|
from wandelbots_api_client.v2.models.fanuc_controller import FanucController
|
|
21
22
|
from wandelbots_api_client.v2.models.kuka_controller import KukaController
|
|
23
|
+
from wandelbots_api_client.v2.models.unitree_controller import UnitreeController
|
|
22
24
|
from wandelbots_api_client.v2.models.universalrobots_controller import UniversalrobotsController
|
|
23
25
|
from wandelbots_api_client.v2.models.virtual_controller import VirtualController
|
|
24
26
|
from wandelbots_api_client.v2.models.yaskawa_controller import YaskawaController
|
|
@@ -28,8 +30,10 @@ from typing_extensions import Literal, Self
|
|
|
28
30
|
|
|
29
31
|
ROBOTCONTROLLERCONFIGURATION_ONE_OF_SCHEMAS = [
|
|
30
32
|
"AbbController",
|
|
33
|
+
"BostondynamicsController",
|
|
31
34
|
"FanucController",
|
|
32
35
|
"KukaController",
|
|
36
|
+
"UnitreeController",
|
|
33
37
|
"UniversalrobotsController",
|
|
34
38
|
"VirtualController",
|
|
35
39
|
"YaskawaController",
|
|
@@ -53,13 +57,28 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
53
57
|
oneof_schema_5_validator: Optional[VirtualController] = None
|
|
54
58
|
# data type: YaskawaController
|
|
55
59
|
oneof_schema_6_validator: Optional[YaskawaController] = None
|
|
60
|
+
# data type: BostondynamicsController
|
|
61
|
+
oneof_schema_7_validator: Optional[BostondynamicsController] = None
|
|
62
|
+
# data type: UnitreeController
|
|
63
|
+
oneof_schema_8_validator: Optional[UnitreeController] = None
|
|
56
64
|
actual_instance: Optional[
|
|
57
|
-
Union[
|
|
65
|
+
Union[
|
|
66
|
+
AbbController,
|
|
67
|
+
BostondynamicsController,
|
|
68
|
+
FanucController,
|
|
69
|
+
KukaController,
|
|
70
|
+
UnitreeController,
|
|
71
|
+
UniversalrobotsController,
|
|
72
|
+
VirtualController,
|
|
73
|
+
YaskawaController,
|
|
74
|
+
]
|
|
58
75
|
] = None
|
|
59
76
|
one_of_schemas: Set[str] = {
|
|
60
77
|
"AbbController",
|
|
78
|
+
"BostondynamicsController",
|
|
61
79
|
"FanucController",
|
|
62
80
|
"KukaController",
|
|
81
|
+
"UnitreeController",
|
|
63
82
|
"UniversalrobotsController",
|
|
64
83
|
"VirtualController",
|
|
65
84
|
"YaskawaController",
|
|
@@ -117,16 +136,26 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
117
136
|
error_messages.append(f"Error! Input type `{type(v)}` is not `YaskawaController`")
|
|
118
137
|
else:
|
|
119
138
|
match += 1
|
|
139
|
+
# validate data type: BostondynamicsController
|
|
140
|
+
if not isinstance(v, BostondynamicsController):
|
|
141
|
+
error_messages.append(f"Error! Input type `{type(v)}` is not `BostondynamicsController`")
|
|
142
|
+
else:
|
|
143
|
+
match += 1
|
|
144
|
+
# validate data type: UnitreeController
|
|
145
|
+
if not isinstance(v, UnitreeController):
|
|
146
|
+
error_messages.append(f"Error! Input type `{type(v)}` is not `UnitreeController`")
|
|
147
|
+
else:
|
|
148
|
+
match += 1
|
|
120
149
|
if match > 1:
|
|
121
150
|
# more than 1 match
|
|
122
151
|
raise ValueError(
|
|
123
|
-
"Multiple matches found when setting `actual_instance` in RobotControllerConfiguration with oneOf schemas: AbbController, FanucController, KukaController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
152
|
+
"Multiple matches found when setting `actual_instance` in RobotControllerConfiguration with oneOf schemas: AbbController, BostondynamicsController, FanucController, KukaController, UnitreeController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
124
153
|
+ ", ".join(error_messages)
|
|
125
154
|
)
|
|
126
155
|
elif match == 0:
|
|
127
156
|
# no match
|
|
128
157
|
raise ValueError(
|
|
129
|
-
"No match found when setting `actual_instance` in RobotControllerConfiguration with oneOf schemas: AbbController, FanucController, KukaController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
158
|
+
"No match found when setting `actual_instance` in RobotControllerConfiguration with oneOf schemas: AbbController, BostondynamicsController, FanucController, KukaController, UnitreeController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
130
159
|
+ ", ".join(error_messages)
|
|
131
160
|
)
|
|
132
161
|
else:
|
|
@@ -153,6 +182,11 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
153
182
|
instance.actual_instance = AbbController.from_json(json_str)
|
|
154
183
|
return instance
|
|
155
184
|
|
|
185
|
+
# check if data type is `BostondynamicsController`
|
|
186
|
+
if _data_type == "BostondynamicsController":
|
|
187
|
+
instance.actual_instance = BostondynamicsController.from_json(json_str)
|
|
188
|
+
return instance
|
|
189
|
+
|
|
156
190
|
# check if data type is `FanucController`
|
|
157
191
|
if _data_type == "FanucController":
|
|
158
192
|
instance.actual_instance = FanucController.from_json(json_str)
|
|
@@ -163,6 +197,11 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
163
197
|
instance.actual_instance = KukaController.from_json(json_str)
|
|
164
198
|
return instance
|
|
165
199
|
|
|
200
|
+
# check if data type is `UnitreeController`
|
|
201
|
+
if _data_type == "UnitreeController":
|
|
202
|
+
instance.actual_instance = UnitreeController.from_json(json_str)
|
|
203
|
+
return instance
|
|
204
|
+
|
|
166
205
|
# check if data type is `UniversalrobotsController`
|
|
167
206
|
if _data_type == "UniversalrobotsController":
|
|
168
207
|
instance.actual_instance = UniversalrobotsController.from_json(json_str)
|
|
@@ -214,17 +253,29 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
214
253
|
match += 1
|
|
215
254
|
except (ValidationError, ValueError) as e:
|
|
216
255
|
error_messages.append(str(e))
|
|
256
|
+
# deserialize data into BostondynamicsController
|
|
257
|
+
try:
|
|
258
|
+
instance.actual_instance = BostondynamicsController.from_json(json_str)
|
|
259
|
+
match += 1
|
|
260
|
+
except (ValidationError, ValueError) as e:
|
|
261
|
+
error_messages.append(str(e))
|
|
262
|
+
# deserialize data into UnitreeController
|
|
263
|
+
try:
|
|
264
|
+
instance.actual_instance = UnitreeController.from_json(json_str)
|
|
265
|
+
match += 1
|
|
266
|
+
except (ValidationError, ValueError) as e:
|
|
267
|
+
error_messages.append(str(e))
|
|
217
268
|
|
|
218
269
|
if match > 1:
|
|
219
270
|
# more than 1 match
|
|
220
271
|
raise ValueError(
|
|
221
|
-
"Multiple matches found when deserializing the JSON string into RobotControllerConfiguration with oneOf schemas: AbbController, FanucController, KukaController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
272
|
+
"Multiple matches found when deserializing the JSON string into RobotControllerConfiguration with oneOf schemas: AbbController, BostondynamicsController, FanucController, KukaController, UnitreeController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
222
273
|
+ ", ".join(error_messages)
|
|
223
274
|
)
|
|
224
275
|
elif match == 0:
|
|
225
276
|
# no match
|
|
226
277
|
raise ValueError(
|
|
227
|
-
"No match found when deserializing the JSON string into RobotControllerConfiguration with oneOf schemas: AbbController, FanucController, KukaController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
278
|
+
"No match found when deserializing the JSON string into RobotControllerConfiguration with oneOf schemas: AbbController, BostondynamicsController, FanucController, KukaController, UnitreeController, UniversalrobotsController, VirtualController, YaskawaController. Details: "
|
|
228
279
|
+ ", ".join(error_messages)
|
|
229
280
|
)
|
|
230
281
|
else:
|
|
@@ -244,7 +295,15 @@ class RobotControllerConfiguration(BaseModel):
|
|
|
244
295
|
self,
|
|
245
296
|
) -> Optional[
|
|
246
297
|
Union[
|
|
247
|
-
Dict[str, Any],
|
|
298
|
+
Dict[str, Any],
|
|
299
|
+
AbbController,
|
|
300
|
+
BostondynamicsController,
|
|
301
|
+
FanucController,
|
|
302
|
+
KukaController,
|
|
303
|
+
UnitreeController,
|
|
304
|
+
UniversalrobotsController,
|
|
305
|
+
VirtualController,
|
|
306
|
+
YaskawaController,
|
|
248
307
|
]
|
|
249
308
|
]:
|
|
250
309
|
"""Returns the dict representation of the actual instance"""
|
|
@@ -0,0 +1,113 @@
|
|
|
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.6.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
import pprint
|
|
16
|
+
import re # noqa: F401
|
|
17
|
+
import json
|
|
18
|
+
|
|
19
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
|
20
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
21
|
+
from typing import Optional, Set
|
|
22
|
+
from typing_extensions import Self
|
|
23
|
+
from pydantic_core import to_jsonable_python
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class UnitreeController(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
The configuration of a Unitree robot controller. Supports Go2, G1, B2, and H1 robot models. Requires the IP address of the robot and the robot model type.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
|
|
31
|
+
kind: StrictStr
|
|
32
|
+
controller_ip: StrictStr = Field(description="The IP address of the Unitree robot.")
|
|
33
|
+
robot_type: StrictStr = Field(description="The Unitree robot model type.")
|
|
34
|
+
network_interface: Optional[StrictStr] = Field(default="enp1s0f1", description="The network interface used for DDS discovery.")
|
|
35
|
+
dds_unicast_mode: Optional[StrictBool] = Field(
|
|
36
|
+
default=False, description="Enable DDS unicast mode for environments where multicast is unavailable."
|
|
37
|
+
)
|
|
38
|
+
enable_lease: Optional[StrictBool] = Field(default=False, description="Enable exclusive lease-based control of the robot.")
|
|
39
|
+
__properties: ClassVar[List[str]] = ["kind", "controller_ip", "robot_type", "network_interface", "dds_unicast_mode", "enable_lease"]
|
|
40
|
+
|
|
41
|
+
@field_validator("kind")
|
|
42
|
+
def kind_validate_enum(cls, value):
|
|
43
|
+
"""Validates the enum"""
|
|
44
|
+
if value not in set(["UnitreeController"]):
|
|
45
|
+
raise ValueError("must be one of enum values ('UnitreeController')")
|
|
46
|
+
return value
|
|
47
|
+
|
|
48
|
+
@field_validator("robot_type")
|
|
49
|
+
def robot_type_validate_enum(cls, value):
|
|
50
|
+
"""Validates the enum"""
|
|
51
|
+
if value not in set(["go2", "g1", "b2", "h1"]):
|
|
52
|
+
raise ValueError("must be one of enum values ('go2', 'g1', 'b2', 'h1')")
|
|
53
|
+
return value
|
|
54
|
+
|
|
55
|
+
model_config = ConfigDict(
|
|
56
|
+
validate_by_name=True,
|
|
57
|
+
validate_by_alias=True,
|
|
58
|
+
validate_assignment=True,
|
|
59
|
+
protected_namespaces=(),
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
def to_str(self) -> str:
|
|
63
|
+
"""Returns the string representation of the model using alias"""
|
|
64
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
65
|
+
|
|
66
|
+
def to_json(self) -> str:
|
|
67
|
+
"""Returns the JSON representation of the model using alias"""
|
|
68
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
72
|
+
"""Create an instance of UnitreeController from a JSON string"""
|
|
73
|
+
return cls.from_dict(json.loads(json_str))
|
|
74
|
+
|
|
75
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
76
|
+
"""Return the dictionary representation of the model using alias.
|
|
77
|
+
|
|
78
|
+
This has the following differences from calling pydantic's
|
|
79
|
+
`self.model_dump(by_alias=True)`:
|
|
80
|
+
|
|
81
|
+
* `None` is only added to the output dict for nullable fields that
|
|
82
|
+
were set at model initialization. Other fields with value `None`
|
|
83
|
+
are ignored.
|
|
84
|
+
"""
|
|
85
|
+
excluded_fields: Set[str] = set([])
|
|
86
|
+
|
|
87
|
+
_dict = self.model_dump(
|
|
88
|
+
by_alias=True,
|
|
89
|
+
exclude=excluded_fields,
|
|
90
|
+
exclude_none=True,
|
|
91
|
+
)
|
|
92
|
+
return _dict
|
|
93
|
+
|
|
94
|
+
@classmethod
|
|
95
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
96
|
+
"""Create an instance of UnitreeController from a dict"""
|
|
97
|
+
if obj is None:
|
|
98
|
+
return None
|
|
99
|
+
|
|
100
|
+
if not isinstance(obj, dict):
|
|
101
|
+
return cls.model_validate(obj)
|
|
102
|
+
|
|
103
|
+
_obj = cls.model_validate(
|
|
104
|
+
{
|
|
105
|
+
"kind": obj.get("kind"),
|
|
106
|
+
"controller_ip": obj.get("controller_ip"),
|
|
107
|
+
"robot_type": obj.get("robot_type"),
|
|
108
|
+
"network_interface": obj.get("network_interface") if obj.get("network_interface") is not None else "enp1s0f1",
|
|
109
|
+
"dds_unicast_mode": obj.get("dds_unicast_mode") if obj.get("dds_unicast_mode") is not None else False,
|
|
110
|
+
"enable_lease": obj.get("enable_lease") if obj.get("enable_lease") is not None else False,
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
return _obj
|
|
@@ -85,7 +85,7 @@ class ApiClient:
|
|
|
85
85
|
self.default_headers[header_name] = header_value
|
|
86
86
|
self.cookie = cookie
|
|
87
87
|
# Set default User-Agent.
|
|
88
|
-
self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.
|
|
88
|
+
self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.dev48"
|
|
89
89
|
self.client_side_validation = configuration.client_side_validation
|
|
90
90
|
|
|
91
91
|
async def __aenter__(self):
|
|
@@ -512,7 +512,7 @@ class Configuration:
|
|
|
512
512
|
"OS: {env}\n"
|
|
513
513
|
"Python Version: {pyversion}\n"
|
|
514
514
|
"Version of the API: 2.6.0 dev\n"
|
|
515
|
-
"SDK Package Version: 26.6.0.
|
|
515
|
+
"SDK Package Version: 26.6.0.dev48".format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
)
|
|
517
517
|
|
|
518
518
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
3
|
-
# timestamp: 2026-07-
|
|
2
|
+
# filename: tmp1tcaqq0x
|
|
3
|
+
# timestamp: 2026-07-01T15:36:49+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -26,6 +26,7 @@ from .models import (
|
|
|
26
26
|
BlendingPosition,
|
|
27
27
|
BlendingSpace,
|
|
28
28
|
BooleanValue,
|
|
29
|
+
BostondynamicsController,
|
|
29
30
|
Box,
|
|
30
31
|
BoxType,
|
|
31
32
|
BusIODescription,
|
|
@@ -370,6 +371,7 @@ from .models import (
|
|
|
370
371
|
RobotTcp,
|
|
371
372
|
RobotTcpData,
|
|
372
373
|
RobotTcps,
|
|
374
|
+
RobotType,
|
|
373
375
|
RotationVector,
|
|
374
376
|
RsiServer,
|
|
375
377
|
SafetyGeometry,
|
|
@@ -426,6 +428,7 @@ from .models import (
|
|
|
426
428
|
TrajectorySection,
|
|
427
429
|
TrajectoryWaitForIO,
|
|
428
430
|
UnitType,
|
|
431
|
+
UnitreeController,
|
|
429
432
|
UniversalrobotsController,
|
|
430
433
|
UpdateCellVersionRequest,
|
|
431
434
|
UpdateNovaVersionRequest,
|
|
@@ -461,6 +464,7 @@ __all__ = [
|
|
|
461
464
|
"BlendingPosition",
|
|
462
465
|
"BlendingSpace",
|
|
463
466
|
"BooleanValue",
|
|
467
|
+
"BostondynamicsController",
|
|
464
468
|
"Box",
|
|
465
469
|
"BoxType",
|
|
466
470
|
"BusIODescription",
|
|
@@ -805,6 +809,7 @@ __all__ = [
|
|
|
805
809
|
"RobotTcp",
|
|
806
810
|
"RobotTcpData",
|
|
807
811
|
"RobotTcps",
|
|
812
|
+
"RobotType",
|
|
808
813
|
"RotationVector",
|
|
809
814
|
"RsiServer",
|
|
810
815
|
"SafetyGeometry",
|
|
@@ -861,6 +866,7 @@ __all__ = [
|
|
|
861
866
|
"TrajectorySection",
|
|
862
867
|
"TrajectoryWaitForIO",
|
|
863
868
|
"UnitType",
|
|
869
|
+
"UnitreeController",
|
|
864
870
|
"UniversalrobotsController",
|
|
865
871
|
"UpdateCellVersionRequest",
|
|
866
872
|
"UpdateNovaVersionRequest",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: models.yaml
|
|
3
|
-
# timestamp: 2026-07-
|
|
3
|
+
# timestamp: 2026-07-01T15:36:49+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
from pydantic import AnyUrl, AwareDatetime, BaseModel, EmailStr, Field, RootModel
|
|
@@ -175,9 +175,11 @@ class UniversalrobotsController(BaseModel):
|
|
|
175
175
|
|
|
176
176
|
class Manufacturer(Enum):
|
|
177
177
|
ABB = "abb"
|
|
178
|
+
BOSTONDYNAMICS = "bostondynamics"
|
|
178
179
|
FANUC = "fanuc"
|
|
179
180
|
KUKA = "kuka"
|
|
180
181
|
STAUBLI = "staubli"
|
|
182
|
+
UNITREE = "unitree"
|
|
181
183
|
UNIVERSALROBOTS = "universalrobots"
|
|
182
184
|
YASKAWA = "yaskawa"
|
|
183
185
|
|
|
@@ -326,6 +328,86 @@ class YaskawaController(BaseModel):
|
|
|
326
328
|
controller_ip: str
|
|
327
329
|
|
|
328
330
|
|
|
331
|
+
class BostondynamicsController(BaseModel):
|
|
332
|
+
"""
|
|
333
|
+
The configuration of a Boston Dynamics robot controller.
|
|
334
|
+
Requires the hostname or IP address of the robot and authentication credentials.
|
|
335
|
+
|
|
336
|
+
"""
|
|
337
|
+
|
|
338
|
+
kind: Literal["BostondynamicsController"] = "BostondynamicsController"
|
|
339
|
+
controller_ip: str
|
|
340
|
+
"""
|
|
341
|
+
The hostname or IP address of the robot.
|
|
342
|
+
"""
|
|
343
|
+
robot_type: Literal["spot"] = "spot"
|
|
344
|
+
"""
|
|
345
|
+
The Boston Dynamics robot model type.
|
|
346
|
+
"""
|
|
347
|
+
password: str
|
|
348
|
+
"""
|
|
349
|
+
The authentication password for the robot.
|
|
350
|
+
"""
|
|
351
|
+
username: str = "admin"
|
|
352
|
+
"""
|
|
353
|
+
The authentication username for the robot.
|
|
354
|
+
"""
|
|
355
|
+
network_interface: str = "eth0"
|
|
356
|
+
"""
|
|
357
|
+
The network interface used to communicate with the robot.
|
|
358
|
+
"""
|
|
359
|
+
stream_quality: int = 75
|
|
360
|
+
"""
|
|
361
|
+
JPEG quality for camera streams (1-100).
|
|
362
|
+
"""
|
|
363
|
+
stream_fps: float = 10
|
|
364
|
+
"""
|
|
365
|
+
Frames per second for camera streams.
|
|
366
|
+
"""
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
class RobotType(Enum):
|
|
370
|
+
"""
|
|
371
|
+
The Unitree robot model type.
|
|
372
|
+
"""
|
|
373
|
+
|
|
374
|
+
GO2 = "go2"
|
|
375
|
+
G1 = "g1"
|
|
376
|
+
B2 = "b2"
|
|
377
|
+
H1 = "h1"
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
class UnitreeController(BaseModel):
|
|
381
|
+
"""
|
|
382
|
+
The configuration of a Unitree robot controller.
|
|
383
|
+
Supports Go2, G1, B2, and H1 robot models.
|
|
384
|
+
Requires the IP address of the robot and the robot model type.
|
|
385
|
+
|
|
386
|
+
"""
|
|
387
|
+
|
|
388
|
+
kind: Literal["UnitreeController"] = "UnitreeController"
|
|
389
|
+
controller_ip: str
|
|
390
|
+
"""
|
|
391
|
+
The IP address of the Unitree robot.
|
|
392
|
+
"""
|
|
393
|
+
robot_type: RobotType
|
|
394
|
+
"""
|
|
395
|
+
The Unitree robot model type.
|
|
396
|
+
"""
|
|
397
|
+
network_interface: str = "enp1s0f1"
|
|
398
|
+
"""
|
|
399
|
+
The network interface used for DDS discovery.
|
|
400
|
+
"""
|
|
401
|
+
dds_unicast_mode: bool = False
|
|
402
|
+
"""
|
|
403
|
+
Enable DDS unicast mode for environments where multicast is unavailable.
|
|
404
|
+
"""
|
|
405
|
+
enable_lease: bool = False
|
|
406
|
+
"""
|
|
407
|
+
Enable exclusive lease-based control of the robot.
|
|
408
|
+
"""
|
|
409
|
+
|
|
410
|
+
|
|
329
411
|
class RobotController(BaseModel):
|
|
330
412
|
"""
|
|
331
413
|
The configuration of a physical or virtual robot controller.
|
|
@@ -337,9 +419,16 @@ class RobotController(BaseModel):
|
|
|
337
419
|
It must be a valid k8s label name as defined by [RFC 1035](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names).
|
|
338
420
|
|
|
339
421
|
"""
|
|
340
|
-
configuration:
|
|
341
|
-
|
|
342
|
-
|
|
422
|
+
configuration: (
|
|
423
|
+
AbbController
|
|
424
|
+
| FanucController
|
|
425
|
+
| KukaController
|
|
426
|
+
| UniversalrobotsController
|
|
427
|
+
| VirtualController
|
|
428
|
+
| YaskawaController
|
|
429
|
+
| BostondynamicsController
|
|
430
|
+
| UnitreeController
|
|
431
|
+
) = Field(..., discriminator="kind")
|
|
343
432
|
|
|
344
433
|
|
|
345
434
|
class ImageCredentials(BaseModel):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots_api_client
|
|
3
|
-
Version: 26.6.0.
|
|
3
|
+
Version: 26.6.0.dev48
|
|
4
4
|
Summary: Wandelbots Python Client: Interact with robots in an easy and intuitive way.
|
|
5
5
|
Author: Copyright (c) 2025 Wandelbots GmbH
|
|
6
6
|
Author-email: Copyright (c) 2025 Wandelbots GmbH <contact@wandelbots.com>
|
|
@@ -31,7 +31,7 @@ Description-Content-Type: text/markdown
|
|
|
31
31
|
Interact with robots in an easy and intuitive way.
|
|
32
32
|
|
|
33
33
|
- Compatible API version: 2.6.0 dev (can be found at the home screen of your instance -> API)
|
|
34
|
-
- Package version: 26.6.0.
|
|
34
|
+
- Package version: 26.6.0.dev48
|
|
35
35
|
|
|
36
36
|
## Requirements.
|
|
37
37
|
Python >=3.9, Python < 4.0
|
{wandelbots_api_client-26.6.0.dev47.dist-info → wandelbots_api_client-26.6.0.dev48.dist-info}/RECORD
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
wandelbots_api_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
wandelbots_api_client/authorization.py,sha256=9AuS2mZ4a5fmbumMuK52rhgMvCj_hPrfaAIayj1Ecks,7914
|
|
3
|
-
wandelbots_api_client/v2/__init__.py,sha256=
|
|
3
|
+
wandelbots_api_client/v2/__init__.py,sha256=7Cb8nenxTZGx7eQ8hN64HfBV6ygL7sp1yZVwxYyrRuE,1032
|
|
4
4
|
wandelbots_api_client/v2/api/__init__.py,sha256=P0yGp2xWLeEPi0maOq33OfqhAM3pyWPwtc5AJpdTp8Y,1967
|
|
5
5
|
wandelbots_api_client/v2/api/application_api.py,sha256=nVY1ZFCeazTJOou0UKhtAaFURbixCIFAl-AIAFvn4-8,69559
|
|
6
6
|
wandelbots_api_client/v2/api/bus_inputs_outputs_api.py,sha256=3V_7OHnjzC0LnS-jAnEhb_Yv90TGnAP-egURffcUIcs,267414
|
|
@@ -27,11 +27,11 @@ wandelbots_api_client/v2/api/version_api.py,sha256=1dAhtFz73CmB6F8fMOgsLGjCWq4w6
|
|
|
27
27
|
wandelbots_api_client/v2/api/virtual_controller_api.py,sha256=nQ_rkwRufKGKGHB3QIjm7i771tqKRJGlt8nGxWupMPI,291431
|
|
28
28
|
wandelbots_api_client/v2/api/virtual_controller_behavior_api.py,sha256=ByeJFFto88jrhAu8LpXAuHosXXIKpks5rSY8ZOWUdG4,41046
|
|
29
29
|
wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py,sha256=OcQg8mxoQqZLHpByvSY3iqWNLia8rsxlvdpwlc02wb0,42027
|
|
30
|
-
wandelbots_api_client/v2/api_client.py,sha256=
|
|
30
|
+
wandelbots_api_client/v2/api_client.py,sha256=69iwEqTy1Oy_-qU-KKN_nKS3TogfJVDDG9fPBaELZ8U,27803
|
|
31
31
|
wandelbots_api_client/v2/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
|
32
|
-
wandelbots_api_client/v2/configuration.py,sha256=
|
|
32
|
+
wandelbots_api_client/v2/configuration.py,sha256=KavcyrgtYjWTMAu7WImyn_EyeuYlmvgMGzZk9aLIZTY,18047
|
|
33
33
|
wandelbots_api_client/v2/exceptions.py,sha256=7XIPwMCrxI3N-TgSYabwGXMOROXRQdrJA2wOpyaRC1A,6393
|
|
34
|
-
wandelbots_api_client/v2/models/__init__.py,sha256=
|
|
34
|
+
wandelbots_api_client/v2/models/__init__.py,sha256=FCz0wNdHnamp-8ByecRs_XtpLpdx25u6D_iE-xqmJYE,36668
|
|
35
35
|
wandelbots_api_client/v2/models/abb_confdata.py,sha256=lXK9rOsDRyCc2urbmVISftopF5LEbANjZ1R-1jXeLNg,3378
|
|
36
36
|
wandelbots_api_client/v2/models/abb_configured_pose.py,sha256=Lg-eaUD80RzyQRshY3vm5BIq3_qFPZdz3kQk0ue9w_w,3144
|
|
37
37
|
wandelbots_api_client/v2/models/abb_controller.py,sha256=P7QY_bKvz5fbW_nub4o2yROATVzb8xNr4cBetw5reSk,3741
|
|
@@ -51,6 +51,7 @@ wandelbots_api_client/v2/models/blending_auto.py,sha256=2z9xoc8xJHOcu7bMejDKFEGZ
|
|
|
51
51
|
wandelbots_api_client/v2/models/blending_position.py,sha256=ljiB95-Io4TU73yistLXjrbObQ8csS1wjYnIe9TNgmk,6050
|
|
52
52
|
wandelbots_api_client/v2/models/blending_space.py,sha256=y4cggZJneafoEPGksy3Ge-tUXVugIpbDP2vZcNTMoHM,843
|
|
53
53
|
wandelbots_api_client/v2/models/boolean_value.py,sha256=BTijCBjnMWsGlozoAK2SOP-EbBI-2mhAncxfvH33wRg,2756
|
|
54
|
+
wandelbots_api_client/v2/models/bostondynamics_controller.py,sha256=nRSSVTzoH3k1Vb4LqTn8_DI5NUbUmVylvvkhR7w5XaE,4836
|
|
54
55
|
wandelbots_api_client/v2/models/box.py,sha256=w-cemsH2ejhtzsFh1rta3cMQvfxOMEupX6lhw_t8NdI,3963
|
|
55
56
|
wandelbots_api_client/v2/models/bus_io_description.py,sha256=kHe7PV0T8IO613aI-FIBn1xInh5hGugRoXfhrIRmUkw,3889
|
|
56
57
|
wandelbots_api_client/v2/models/bus_io_modbus_client.py,sha256=WL0Ds16pC3zNs2NUKmUidUMCvKyQmLorGt0b4nzz8Kg,3192
|
|
@@ -255,7 +256,7 @@ wandelbots_api_client/v2/models/link_chain_value.py,sha256=RJCt4rBgWRoeYIqKhlzbU
|
|
|
255
256
|
wandelbots_api_client/v2/models/link_chain_value_or_key.py,sha256=FNaj9KXNS2dXNsxVxhcbAHWI4ePclmHSpgw6Vqco7s4,6185
|
|
256
257
|
wandelbots_api_client/v2/models/list_trajectories_response.py,sha256=aeEAu2_w-44m92_slu90xovE_-MxaF37vyTgAN0rTg0,2815
|
|
257
258
|
wandelbots_api_client/v2/models/location1_inner.py,sha256=py-T-cAq-8_k7mw8XO7APVBJtnZL2d2p68INpO-FfHY,5350
|
|
258
|
-
wandelbots_api_client/v2/models/manufacturer.py,sha256=
|
|
259
|
+
wandelbots_api_client/v2/models/manufacturer.py,sha256=zjIYcCeEA6UxD-6f5dVXA1MXahiQquSwUSZe1SaOLLA,846
|
|
259
260
|
wandelbots_api_client/v2/models/merge_trajectories422_response.py,sha256=6pLEFWukYAOL4fjh2STT20hMHoxKjIsLMkcorOXCOR0,3116
|
|
260
261
|
wandelbots_api_client/v2/models/merge_trajectories_error.py,sha256=H0xQZubCeEobmuiy8OscQL1JEw-4X095pvz9nPpuVU8,3576
|
|
261
262
|
wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py,sha256=X9v_T8Yq0no0WcKWM5GPIc6q4uzHFYdRgTVqAZJ9eos,8864
|
|
@@ -360,7 +361,7 @@ wandelbots_api_client/v2/models/rectangle.py,sha256=GS65qBcAXe2zIS1U4UcFh07w3sg8
|
|
|
360
361
|
wandelbots_api_client/v2/models/rectangular_capsule.py,sha256=1Y72g8xb4Ea5ZCk2bsexyLHo-efi8qo1sB3triR7BDs,3644
|
|
361
362
|
wandelbots_api_client/v2/models/release_channel.py,sha256=iuTK-yo81IbWC_oD9JfORx5MTi2uXaxTaIlEu0PgBFw,817
|
|
362
363
|
wandelbots_api_client/v2/models/robot_controller.py,sha256=KmD8ZbQyD3COuFklhnT2FNeMQNVdzJ-wX33-5R_q9CY,3657
|
|
363
|
-
wandelbots_api_client/v2/models/robot_controller_configuration.py,sha256=
|
|
364
|
+
wandelbots_api_client/v2/models/robot_controller_configuration.py,sha256=Bt7n4DsjZKtIuaOrEn7Y8B4-iGbvFYbEJnrjkn4ISuc,13019
|
|
364
365
|
wandelbots_api_client/v2/models/robot_controller_configuration_request.py,sha256=CED_CG1S9g-d5wKM_LJLkADkGIHD8JokaryH3PRh018,3445
|
|
365
366
|
wandelbots_api_client/v2/models/robot_controller_state.py,sha256=MKnpYcK8JytbkwG6WEm5Yec6QybMSkmAhMpKqIR1mT8,5982
|
|
366
367
|
wandelbots_api_client/v2/models/robot_system_mode.py,sha256=U74kQ5eo3gLuf8NxS8rMoSm8PZhldaUZqDwzncoFkbo,2150
|
|
@@ -419,6 +420,7 @@ wandelbots_api_client/v2/models/trajectory_running.py,sha256=B7IZ2kd3q6qdVi4CR3v
|
|
|
419
420
|
wandelbots_api_client/v2/models/trajectory_section.py,sha256=PDh104V51lPnM4rhjCRF6HiP81oVT7n4ajvc6pfDJKo,2581
|
|
420
421
|
wandelbots_api_client/v2/models/trajectory_wait_for_io.py,sha256=TKB8XfW4rgM-JZXwjZ6DMPuUce4xcYWaU-gofhGS6bY,2691
|
|
421
422
|
wandelbots_api_client/v2/models/unit_type.py,sha256=G8Fg5u1oA7jzuq3MnvF3f-_sCZBpzyQjY_HZqIKDMyc,979
|
|
423
|
+
wandelbots_api_client/v2/models/unitree_controller.py,sha256=Sl6nABjxP6gHXLv990NAbBreOpQrtJIgu_DTVr0z5g8,4315
|
|
422
424
|
wandelbots_api_client/v2/models/universalrobots_controller.py,sha256=cYjliEvh9VXBenzzY6KfNmFnp4a6w48tAZyw3Qbjq2Q,2886
|
|
423
425
|
wandelbots_api_client/v2/models/update_cell_version_request.py,sha256=PX0SHCpRptbmjtff8LuwCtSQ7TAvTc3TQeDU6iwyCWM,2568
|
|
424
426
|
wandelbots_api_client/v2/models/update_nova_version_request.py,sha256=Ud4caP7pkiThl_yiwjd_r7CTXOQ-Z-0v671SmOMFKnM,2955
|
|
@@ -435,7 +437,7 @@ wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py,sha2
|
|
|
435
437
|
wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py,sha256=BJFV1ZqYKcQauiUfZ10UhbRxVhOL0DjQyHzHhlQ-hUA,5652
|
|
436
438
|
wandelbots_api_client/v2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
437
439
|
wandelbots_api_client/v2/rest.py,sha256=pzalGbo_80nNBxbupQKYjZjOpOgPbYrEJtCfm236vL4,7253
|
|
438
|
-
wandelbots_api_client/v2_pydantic/__init__.py,sha256=
|
|
440
|
+
wandelbots_api_client/v2_pydantic/__init__.py,sha256=YFpUAY30kOKX9D0hPLoABOnmsXtjp90A37GftsG7L3Y,1041
|
|
439
441
|
wandelbots_api_client/v2_pydantic/api/__init__.py,sha256=P0yGp2xWLeEPi0maOq33OfqhAM3pyWPwtc5AJpdTp8Y,1967
|
|
440
442
|
wandelbots_api_client/v2_pydantic/api/application_api.py,sha256=vU-xA4SdVSJuXu7EAO7tTK9yJjSkMR1Y5_76RZdBp-E,69591
|
|
441
443
|
wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py,sha256=CKmqk0PsMcT0Cp-2zEQDIS65dTWJJonJ83vkCAWEjn8,267356
|
|
@@ -462,14 +464,14 @@ wandelbots_api_client/v2_pydantic/api/version_api.py,sha256=TTJwo3cWTBgxpeDO2S-S
|
|
|
462
464
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py,sha256=rdrD4YOLnKKg_ILuzc37Ku_VMMJh2MUsR2a8frZraXc,291365
|
|
463
465
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py,sha256=3mNzqQUb8JM_E7iZ4MJGg7rnEGdL9VFFqjLlrMa6bss,41027
|
|
464
466
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py,sha256=LItWYQPUCu8mh2XAA9gOudhYTNMzIjtzY1ijXoV4w2E,42039
|
|
465
|
-
wandelbots_api_client/v2_pydantic/api_client.py,sha256=
|
|
467
|
+
wandelbots_api_client/v2_pydantic/api_client.py,sha256=dCA3voPhy2dn04y9iG3dub6HFYnXZ-B97kwnw5ryrh4,27857
|
|
466
468
|
wandelbots_api_client/v2_pydantic/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
|
467
|
-
wandelbots_api_client/v2_pydantic/configuration.py,sha256=
|
|
469
|
+
wandelbots_api_client/v2_pydantic/configuration.py,sha256=D2mbuX5Z_ZQnsct2csYcq2NzfDWiVTIgCBe_O3X1lOc,18056
|
|
468
470
|
wandelbots_api_client/v2_pydantic/exceptions.py,sha256=7XIPwMCrxI3N-TgSYabwGXMOROXRQdrJA2wOpyaRC1A,6393
|
|
469
|
-
wandelbots_api_client/v2_pydantic/models/__init__.py,sha256=
|
|
470
|
-
wandelbots_api_client/v2_pydantic/models/models.py,sha256=
|
|
471
|
+
wandelbots_api_client/v2_pydantic/models/__init__.py,sha256=OhPDPShC_TrCyFlnMP8QwjZzRC4QhBL0GW365J7eyEk,22527
|
|
472
|
+
wandelbots_api_client/v2_pydantic/models/models.py,sha256=VvqyHtVO9RVEVhdnYFjMTN38CMcWGVyd3WXFjPQEvF4,211031
|
|
471
473
|
wandelbots_api_client/v2_pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
472
474
|
wandelbots_api_client/v2_pydantic/rest.py,sha256=EDM0lK-GKehCIR2PgMyO_5a5MGlOHws5c7Ue3j0FeSc,7262
|
|
473
|
-
wandelbots_api_client-26.6.0.
|
|
474
|
-
wandelbots_api_client-26.6.0.
|
|
475
|
-
wandelbots_api_client-26.6.0.
|
|
475
|
+
wandelbots_api_client-26.6.0.dev48.dist-info/WHEEL,sha256=WvwXFgRajeoYkfRVmDhkP4Qlqo31Mk687zIO2QQoFmw,80
|
|
476
|
+
wandelbots_api_client-26.6.0.dev48.dist-info/METADATA,sha256=kx4Tp8KgXjvTYOjBA6cqv2U6wlfk2qgyEkYFThdKv1U,1411
|
|
477
|
+
wandelbots_api_client-26.6.0.dev48.dist-info/RECORD,,
|
{wandelbots_api_client-26.6.0.dev47.dist-info → wandelbots_api_client-26.6.0.dev48.dist-info}/WHEEL
RENAMED
|
File without changes
|