wandelbots-api-client 26.3.0.dev22__py3-none-any.whl → 26.3.0.dev23__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.
@@ -13,7 +13,7 @@
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "26.3.0.dev22"
16
+ __version__ = "26.3.0.dev23"
17
17
 
18
18
  from . import models
19
19
  from . import api
@@ -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.3.0.dev22'
94
+ self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.3.0.dev23'
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\n"\
514
- "SDK Package Version: 26.3.0.dev22".\
514
+ "SDK Package Version: 26.3.0.dev23".\
515
515
  format(env=sys.platform, pyversion=sys.version)
516
516
 
517
517
  def get_host_settings(self) -> List[HostSetting]:
@@ -13,7 +13,7 @@
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "26.3.0.dev22"
16
+ __version__ = "26.3.0.dev23"
17
17
 
18
18
  from . import models
19
19
  from . import api
@@ -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.3.0.dev22'
94
+ self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.3.0.dev23'
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.3.0 dev\n"\
514
- "SDK Package Version: 26.3.0.dev22".\
514
+ "SDK Package Version: 26.3.0.dev23".\
515
515
  format(env=sys.platform, pyversion=sys.version)
516
516
 
517
517
  def get_host_settings(self) -> List[HostSetting]:
@@ -112,6 +112,7 @@ from .external_joint_stream_request import ExternalJointStreamRequest
112
112
  from .fanuc_controller import FanucController
113
113
  from .feedback_collision import FeedbackCollision
114
114
  from .feedback_joint_limit_exceeded import FeedbackJointLimitExceeded
115
+ from .feedback_no_solution_in_current_configuration import FeedbackNoSolutionInCurrentConfiguration
115
116
  from .feedback_out_of_workspace import FeedbackOutOfWorkspace
116
117
  from .feedback_singularity import FeedbackSingularity
117
118
  from .flag import Flag
@@ -174,6 +175,7 @@ from .list_trajectories_response import ListTrajectoriesResponse
174
175
  from .manufacturer import Manufacturer
175
176
  from .merge_trajectories422_response import MergeTrajectories422Response
176
177
  from .merge_trajectories_error import MergeTrajectoriesError
178
+ from .merge_trajectories_error_error_feedback import MergeTrajectoriesErrorErrorFeedback
177
179
  from .merge_trajectories_request import MergeTrajectoriesRequest
178
180
  from .merge_trajectories_response import MergeTrajectoriesResponse
179
181
  from .merge_trajectories_response_feedback_inner import MergeTrajectoriesResponseFeedbackInner
@@ -405,6 +407,7 @@ __all__ = [
405
407
  "FanucController",
406
408
  "FeedbackCollision",
407
409
  "FeedbackJointLimitExceeded",
410
+ "FeedbackNoSolutionInCurrentConfiguration",
408
411
  "FeedbackOutOfWorkspace",
409
412
  "FeedbackSingularity",
410
413
  "Flag",
@@ -467,6 +470,7 @@ __all__ = [
467
470
  "Manufacturer",
468
471
  "MergeTrajectories422Response",
469
472
  "MergeTrajectoriesError",
473
+ "MergeTrajectoriesErrorErrorFeedback",
470
474
  "MergeTrajectoriesRequest",
471
475
  "MergeTrajectoriesResponse",
472
476
  "MergeTrajectoriesResponseFeedbackInner",
@@ -0,0 +1,104 @@
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.3.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, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from wandelbots_api_client.v2.models.pose import Pose
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class FeedbackNoSolutionInCurrentConfiguration(BaseModel):
27
+ """
28
+ Moving to the requested TCP pose would change the robot's configuration.
29
+ """ # noqa: E501
30
+ invalid_tcp_pose: Optional[Pose] = None
31
+ error_feedback_name: str = "FeedbackNoSolutionInCurrentConfiguration"
32
+ __properties: ClassVar[List[str]] = ["invalid_tcp_pose", "error_feedback_name"]
33
+
34
+ @field_validator('error_feedback_name')
35
+ def error_feedback_name_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['FeedbackNoSolutionInCurrentConfiguration']):
38
+ raise ValueError("must be one of enum values ('FeedbackNoSolutionInCurrentConfiguration')")
39
+ return value
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True, exclude_none=True))
51
+
52
+ def to_json(self) -> str:
53
+ """
54
+ Returns the JSON representation of the model using alias
55
+
56
+ Do not use pydantic v2 .model_dump_json(by_alias=True, exclude_unset=True) here!
57
+ It is unable to resolve nested types generated by openapi-generator.
58
+ """
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of FeedbackNoSolutionInCurrentConfiguration from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ # override the default output from pydantic by calling `to_dict()` of invalid_tcp_pose
85
+ if self.invalid_tcp_pose:
86
+ _dict['invalid_tcp_pose'] = self.invalid_tcp_pose.to_dict()
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of FeedbackNoSolutionInCurrentConfiguration 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
+ "invalid_tcp_pose": Pose.from_dict(obj["invalid_tcp_pose"]) if obj.get("invalid_tcp_pose") is not None else None,
100
+ "error_feedback_name": obj.get("error_feedback_name")
101
+ })
102
+ return _obj
103
+
104
+
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
21
21
  from typing import Any, ClassVar, Dict, List, Union
22
- from wandelbots_api_client.v2.models.plan_trajectory_failed_response_error_feedback import PlanTrajectoryFailedResponseErrorFeedback
22
+ from wandelbots_api_client.v2.models.merge_trajectories_error_error_feedback import MergeTrajectoriesErrorErrorFeedback
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -27,7 +27,7 @@ class MergeTrajectoriesError(BaseModel):
27
27
  """
28
28
  MergeTrajectoriesError
29
29
  """ # noqa: E501
30
- error_feedback: PlanTrajectoryFailedResponseErrorFeedback
30
+ error_feedback: MergeTrajectoriesErrorErrorFeedback
31
31
  error_location_on_trajectory: Union[StrictFloat, StrictInt] = Field(description="- The location is a scalar value that defines a position along a path, typically ranging from 0 to `n`, where `n` denotes the number of motion commands - Each integer value of the location corresponds to a specific motion command, while non-integer values interpolate positions within the segments. - The location is calculated from the joint path ")
32
32
  __properties: ClassVar[List[str]] = ["error_feedback", "error_location_on_trajectory"]
33
33
 
@@ -89,7 +89,7 @@ class MergeTrajectoriesError(BaseModel):
89
89
  return cls.model_validate(obj)
90
90
 
91
91
  _obj = cls.model_validate({
92
- "error_feedback": PlanTrajectoryFailedResponseErrorFeedback.from_dict(obj["error_feedback"]) if obj.get("error_feedback") is not None else None,
92
+ "error_feedback": MergeTrajectoriesErrorErrorFeedback.from_dict(obj["error_feedback"]) if obj.get("error_feedback") is not None else None,
93
93
  "error_location_on_trajectory": obj.get("error_location_on_trajectory")
94
94
  })
95
95
  return _obj
@@ -0,0 +1,193 @@
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.3.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 json
17
+ import pprint
18
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
+ from typing import Any, List, Optional
20
+ from wandelbots_api_client.v2.models.feedback_collision import FeedbackCollision
21
+ from wandelbots_api_client.v2.models.feedback_joint_limit_exceeded import FeedbackJointLimitExceeded
22
+ from wandelbots_api_client.v2.models.feedback_out_of_workspace import FeedbackOutOfWorkspace
23
+ from wandelbots_api_client.v2.models.feedback_singularity import FeedbackSingularity
24
+ from pydantic import StrictStr, Field
25
+ from typing import Union, List, Set, Optional, Dict
26
+ from typing_extensions import Literal, Self
27
+
28
+ MERGETRAJECTORIESERRORERRORFEEDBACK_ONE_OF_SCHEMAS = ["FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackOutOfWorkspace", "FeedbackSingularity"]
29
+
30
+ class MergeTrajectoriesErrorErrorFeedback(BaseModel):
31
+ """
32
+ MergeTrajectoriesErrorErrorFeedback
33
+ """
34
+ # data type: FeedbackOutOfWorkspace
35
+ oneof_schema_1_validator: Optional[FeedbackOutOfWorkspace] = None
36
+ # data type: FeedbackSingularity
37
+ oneof_schema_2_validator: Optional[FeedbackSingularity] = None
38
+ # data type: FeedbackJointLimitExceeded
39
+ oneof_schema_3_validator: Optional[FeedbackJointLimitExceeded] = None
40
+ # data type: FeedbackCollision
41
+ oneof_schema_4_validator: Optional[FeedbackCollision] = None
42
+ actual_instance: Optional[Union[FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity]] = None
43
+ one_of_schemas: Set[str] = { "FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackOutOfWorkspace", "FeedbackSingularity" }
44
+
45
+ model_config = ConfigDict(
46
+ validate_assignment=True,
47
+ protected_namespaces=(),
48
+ )
49
+
50
+
51
+ discriminator_value_class_map: Dict[str, str] = {
52
+ }
53
+
54
+ def __init__(self, *args, **kwargs) -> None:
55
+ if args:
56
+ if len(args) > 1:
57
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
58
+ if kwargs:
59
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
60
+ super().__init__(actual_instance=args[0])
61
+ else:
62
+ super().__init__(**kwargs)
63
+
64
+ @field_validator('actual_instance')
65
+ def actual_instance_must_validate_oneof(cls, v):
66
+ instance = MergeTrajectoriesErrorErrorFeedback.model_construct()
67
+ error_messages = []
68
+ match = 0
69
+ # validate data type: FeedbackOutOfWorkspace
70
+ if not isinstance(v, FeedbackOutOfWorkspace):
71
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackOutOfWorkspace`")
72
+ else:
73
+ match += 1
74
+ # validate data type: FeedbackSingularity
75
+ if not isinstance(v, FeedbackSingularity):
76
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackSingularity`")
77
+ else:
78
+ match += 1
79
+ # validate data type: FeedbackJointLimitExceeded
80
+ if not isinstance(v, FeedbackJointLimitExceeded):
81
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackJointLimitExceeded`")
82
+ else:
83
+ match += 1
84
+ # validate data type: FeedbackCollision
85
+ if not isinstance(v, FeedbackCollision):
86
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackCollision`")
87
+ else:
88
+ match += 1
89
+ if match > 1:
90
+ # more than 1 match
91
+ raise ValueError("Multiple matches found when setting `actual_instance` in MergeTrajectoriesErrorErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
92
+ elif match == 0:
93
+ # no match
94
+ raise ValueError("No match found when setting `actual_instance` in MergeTrajectoriesErrorErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
95
+ else:
96
+ return v
97
+
98
+ @classmethod
99
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
100
+ return cls.from_json(json.dumps(obj))
101
+
102
+ @classmethod
103
+ def from_json(cls, json_str: str) -> Self:
104
+ """Returns the object represented by the json string"""
105
+ instance = cls.model_construct()
106
+ error_messages = []
107
+ match = 0
108
+
109
+ # use oneOf discriminator to lookup the data type
110
+ _data_type = json.loads(json_str).get("error_feedback_name")
111
+ if not _data_type:
112
+ raise ValueError("Failed to lookup data type from the field `error_feedback_name` in the input.")
113
+
114
+ # check if data type is `FeedbackCollision`
115
+ if _data_type == "FeedbackCollision":
116
+ instance.actual_instance = FeedbackCollision.from_json(json_str)
117
+ return instance
118
+
119
+ # check if data type is `FeedbackJointLimitExceeded`
120
+ if _data_type == "FeedbackJointLimitExceeded":
121
+ instance.actual_instance = FeedbackJointLimitExceeded.from_json(json_str)
122
+ return instance
123
+
124
+ # check if data type is `FeedbackOutOfWorkspace`
125
+ if _data_type == "FeedbackOutOfWorkspace":
126
+ instance.actual_instance = FeedbackOutOfWorkspace.from_json(json_str)
127
+ return instance
128
+
129
+ # check if data type is `FeedbackSingularity`
130
+ if _data_type == "FeedbackSingularity":
131
+ instance.actual_instance = FeedbackSingularity.from_json(json_str)
132
+ return instance
133
+
134
+ # deserialize data into FeedbackOutOfWorkspace
135
+ try:
136
+ instance.actual_instance = FeedbackOutOfWorkspace.from_json(json_str)
137
+ match += 1
138
+ except (ValidationError, ValueError) as e:
139
+ error_messages.append(str(e))
140
+ # deserialize data into FeedbackSingularity
141
+ try:
142
+ instance.actual_instance = FeedbackSingularity.from_json(json_str)
143
+ match += 1
144
+ except (ValidationError, ValueError) as e:
145
+ error_messages.append(str(e))
146
+ # deserialize data into FeedbackJointLimitExceeded
147
+ try:
148
+ instance.actual_instance = FeedbackJointLimitExceeded.from_json(json_str)
149
+ match += 1
150
+ except (ValidationError, ValueError) as e:
151
+ error_messages.append(str(e))
152
+ # deserialize data into FeedbackCollision
153
+ try:
154
+ instance.actual_instance = FeedbackCollision.from_json(json_str)
155
+ match += 1
156
+ except (ValidationError, ValueError) as e:
157
+ error_messages.append(str(e))
158
+
159
+ if match > 1:
160
+ # more than 1 match
161
+ raise ValueError("Multiple matches found when deserializing the JSON string into MergeTrajectoriesErrorErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
162
+ elif match == 0:
163
+ # no match
164
+ raise ValueError("No match found when deserializing the JSON string into MergeTrajectoriesErrorErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
165
+ else:
166
+ return instance
167
+
168
+ def to_json(self) -> str:
169
+ """Returns the JSON representation of the actual instance"""
170
+ if self.actual_instance is None:
171
+ return "null"
172
+
173
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
174
+ return self.actual_instance.to_json()
175
+ else:
176
+ return json.dumps(self.actual_instance)
177
+
178
+ def to_dict(self) -> Optional[Union[Dict[str, Any], FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity]]:
179
+ """Returns the dict representation of the actual instance"""
180
+ if self.actual_instance is None:
181
+ return None
182
+
183
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
184
+ return self.actual_instance.to_dict()
185
+ else:
186
+ # primitive type
187
+ return self.actual_instance
188
+
189
+ def to_str(self) -> str:
190
+ """Returns the string representation of the actual instance"""
191
+ return pprint.pformat(self.model_dump())
192
+
193
+
@@ -19,13 +19,14 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, f
19
19
  from typing import Any, List, Optional
20
20
  from wandelbots_api_client.v2.models.feedback_collision import FeedbackCollision
21
21
  from wandelbots_api_client.v2.models.feedback_joint_limit_exceeded import FeedbackJointLimitExceeded
22
+ from wandelbots_api_client.v2.models.feedback_no_solution_in_current_configuration import FeedbackNoSolutionInCurrentConfiguration
22
23
  from wandelbots_api_client.v2.models.feedback_out_of_workspace import FeedbackOutOfWorkspace
23
24
  from wandelbots_api_client.v2.models.feedback_singularity import FeedbackSingularity
24
25
  from pydantic import StrictStr, Field
25
26
  from typing import Union, List, Set, Optional, Dict
26
27
  from typing_extensions import Literal, Self
27
28
 
28
- PLANTRAJECTORYFAILEDRESPONSEERRORFEEDBACK_ONE_OF_SCHEMAS = ["FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackOutOfWorkspace", "FeedbackSingularity"]
29
+ PLANTRAJECTORYFAILEDRESPONSEERRORFEEDBACK_ONE_OF_SCHEMAS = ["FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackNoSolutionInCurrentConfiguration", "FeedbackOutOfWorkspace", "FeedbackSingularity"]
29
30
 
30
31
  class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
31
32
  """
@@ -33,14 +34,16 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
33
34
  """
34
35
  # data type: FeedbackOutOfWorkspace
35
36
  oneof_schema_1_validator: Optional[FeedbackOutOfWorkspace] = None
37
+ # data type: FeedbackNoSolutionInCurrentConfiguration
38
+ oneof_schema_2_validator: Optional[FeedbackNoSolutionInCurrentConfiguration] = None
36
39
  # data type: FeedbackSingularity
37
- oneof_schema_2_validator: Optional[FeedbackSingularity] = None
40
+ oneof_schema_3_validator: Optional[FeedbackSingularity] = None
38
41
  # data type: FeedbackJointLimitExceeded
39
- oneof_schema_3_validator: Optional[FeedbackJointLimitExceeded] = None
42
+ oneof_schema_4_validator: Optional[FeedbackJointLimitExceeded] = None
40
43
  # data type: FeedbackCollision
41
- oneof_schema_4_validator: Optional[FeedbackCollision] = None
42
- actual_instance: Optional[Union[FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity]] = None
43
- one_of_schemas: Set[str] = { "FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackOutOfWorkspace", "FeedbackSingularity" }
44
+ oneof_schema_5_validator: Optional[FeedbackCollision] = None
45
+ actual_instance: Optional[Union[FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity]] = None
46
+ one_of_schemas: Set[str] = { "FeedbackCollision", "FeedbackJointLimitExceeded", "FeedbackNoSolutionInCurrentConfiguration", "FeedbackOutOfWorkspace", "FeedbackSingularity" }
44
47
 
45
48
  model_config = ConfigDict(
46
49
  validate_assignment=True,
@@ -71,6 +74,11 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
71
74
  error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackOutOfWorkspace`")
72
75
  else:
73
76
  match += 1
77
+ # validate data type: FeedbackNoSolutionInCurrentConfiguration
78
+ if not isinstance(v, FeedbackNoSolutionInCurrentConfiguration):
79
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackNoSolutionInCurrentConfiguration`")
80
+ else:
81
+ match += 1
74
82
  # validate data type: FeedbackSingularity
75
83
  if not isinstance(v, FeedbackSingularity):
76
84
  error_messages.append(f"Error! Input type `{type(v)}` is not `FeedbackSingularity`")
@@ -88,10 +96,10 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
88
96
  match += 1
89
97
  if match > 1:
90
98
  # more than 1 match
91
- raise ValueError("Multiple matches found when setting `actual_instance` in PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
99
+ raise ValueError("Multiple matches found when setting `actual_instance` in PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
92
100
  elif match == 0:
93
101
  # no match
94
- raise ValueError("No match found when setting `actual_instance` in PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
102
+ raise ValueError("No match found when setting `actual_instance` in PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
95
103
  else:
96
104
  return v
97
105
 
@@ -121,6 +129,11 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
121
129
  instance.actual_instance = FeedbackJointLimitExceeded.from_json(json_str)
122
130
  return instance
123
131
 
132
+ # check if data type is `FeedbackNoSolutionInCurrentConfiguration`
133
+ if _data_type == "FeedbackNoSolutionInCurrentConfiguration":
134
+ instance.actual_instance = FeedbackNoSolutionInCurrentConfiguration.from_json(json_str)
135
+ return instance
136
+
124
137
  # check if data type is `FeedbackOutOfWorkspace`
125
138
  if _data_type == "FeedbackOutOfWorkspace":
126
139
  instance.actual_instance = FeedbackOutOfWorkspace.from_json(json_str)
@@ -137,6 +150,12 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
137
150
  match += 1
138
151
  except (ValidationError, ValueError) as e:
139
152
  error_messages.append(str(e))
153
+ # deserialize data into FeedbackNoSolutionInCurrentConfiguration
154
+ try:
155
+ instance.actual_instance = FeedbackNoSolutionInCurrentConfiguration.from_json(json_str)
156
+ match += 1
157
+ except (ValidationError, ValueError) as e:
158
+ error_messages.append(str(e))
140
159
  # deserialize data into FeedbackSingularity
141
160
  try:
142
161
  instance.actual_instance = FeedbackSingularity.from_json(json_str)
@@ -158,10 +177,10 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
158
177
 
159
178
  if match > 1:
160
179
  # more than 1 match
161
- raise ValueError("Multiple matches found when deserializing the JSON string into PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
180
+ raise ValueError("Multiple matches found when deserializing the JSON string into PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
162
181
  elif match == 0:
163
182
  # no match
164
- raise ValueError("No match found when deserializing the JSON string into PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
183
+ raise ValueError("No match found when deserializing the JSON string into PlanTrajectoryFailedResponseErrorFeedback with oneOf schemas: FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity. Details: " + ", ".join(error_messages))
165
184
  else:
166
185
  return instance
167
186
 
@@ -175,7 +194,7 @@ class PlanTrajectoryFailedResponseErrorFeedback(BaseModel):
175
194
  else:
176
195
  return json.dumps(self.actual_instance)
177
196
 
178
- def to_dict(self) -> Optional[Union[Dict[str, Any], FeedbackCollision, FeedbackJointLimitExceeded, FeedbackOutOfWorkspace, FeedbackSingularity]]:
197
+ def to_dict(self) -> Optional[Union[Dict[str, Any], FeedbackCollision, FeedbackJointLimitExceeded, FeedbackNoSolutionInCurrentConfiguration, FeedbackOutOfWorkspace, FeedbackSingularity]]:
179
198
  """Returns the dict representation of the actual instance"""
180
199
  if self.actual_instance is None:
181
200
  return None
@@ -13,7 +13,7 @@
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "26.3.0.dev22"
16
+ __version__ = "26.3.0.dev23"
17
17
 
18
18
  from . import api
19
19
  from . import api_client
@@ -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.3.0.dev22'
94
+ self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.3.0.dev23'
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.3.0 dev\n"\
514
- "SDK Package Version: 26.3.0.dev22".\
514
+ "SDK Package Version: 26.3.0.dev23".\
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-03-13T11:15:31+00:00
3
+ # timestamp: 2026-03-13T14:40:45+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -3002,6 +3002,17 @@ class FeedbackOutOfWorkspace(BaseModel):
3002
3002
  error_feedback_name: Literal['FeedbackOutOfWorkspace'] = 'FeedbackOutOfWorkspace'
3003
3003
 
3004
3004
 
3005
+ class FeedbackNoSolutionInCurrentConfiguration(BaseModel):
3006
+ """
3007
+ Moving to the requested TCP pose would change the robot's configuration.
3008
+ """
3009
+
3010
+ invalid_tcp_pose: Pose | None = None
3011
+ error_feedback_name: Literal['FeedbackNoSolutionInCurrentConfiguration'] = (
3012
+ 'FeedbackNoSolutionInCurrentConfiguration'
3013
+ )
3014
+
3015
+
3005
3016
  class SingularityTypeEnum(Enum):
3006
3017
  WRIST = 'WRIST'
3007
3018
  ELBOW = 'ELBOW'
@@ -3062,6 +3073,7 @@ class FeedbackCollision(BaseModel):
3062
3073
  class PlanTrajectoryFailedResponse(BaseModel):
3063
3074
  error_feedback: Annotated[
3064
3075
  FeedbackOutOfWorkspace
3076
+ | FeedbackNoSolutionInCurrentConfiguration
3065
3077
  | FeedbackSingularity
3066
3078
  | FeedbackJointLimitExceeded
3067
3079
  | FeedbackCollision,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wandelbots_api_client
3
- Version: 26.3.0.dev22
3
+ Version: 26.3.0.dev23
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 (can be found at the home screen of your instance -> API)
44
- - Package version: 26.3.0.dev22
44
+ - Package version: 26.3.0.dev23
45
45
 
46
46
  ## Requirements.
47
47
  Python >=3.11, Python < 4.0
@@ -1,8 +1,8 @@
1
- wandelbots_api_client/__init__.py,sha256=USHxABUoNZYg_Le3DgCyNrBaCJ0Mw5whbKr7zigcCFQ,1022
2
- wandelbots_api_client/api_client.py,sha256=AtX3zDw1rd5cZuC7TRf3Q1Y2LhgVZHQIdRs3X1tDRY0,27912
1
+ wandelbots_api_client/__init__.py,sha256=R9QCzncindQQtp3j4TzkSVdJHbhgb9-DcPAibd1a7ZA,1022
2
+ wandelbots_api_client/api_client.py,sha256=TUKDe3SUrVREArfCgGWWUx7n0fS-vCpk4LY_PAOhyBw,27912
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=xdgesJjrD_YiM-mrwOG-zZAf6Ec8YEWVmB_tGRbHxd8,18169
5
+ wandelbots_api_client/configuration.py,sha256=j6MjqXxcLze6425CTOPDUu_pCuziacVzVxANYNgG208,18169
6
6
  wandelbots_api_client/exceptions.py,sha256=m6jyxQAUv-S4sK3DBs-FWzUjCTidqJMbAvR_bABj6us,6428
7
7
  wandelbots_api_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  wandelbots_api_client/rest.py,sha256=5iQwBRGI0GwgTHUM9X5OWiXtSFLd9gWEUb1QXpK2ECE,7256
@@ -327,10 +327,10 @@ wandelbots_api_client/models/virtual_controller.py,sha256=lvuYnmpK_2B3wjrgJ49Qrj
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=YkWHoCzU4fmxNcJ-62gd-ZA3tiJH6KAXoy3Cg66EZ7U,2967
329
329
  wandelbots_api_client/models/yaskawa_controller.py,sha256=IsfWVcsqJ-bsbpfzhyInbcHq2oJ0-s9UQ3y2ADkzQd4,3188
330
- wandelbots_api_client/v2/__init__.py,sha256=4t1UPfHuxlz-gZvHRFeHsouYkEcYDKlNVl7otAK8LkY,1026
331
- wandelbots_api_client/v2/api_client.py,sha256=BnXUhlKPni92q5ZzERCF96ZaqXPA3Fn1kAtkblxkXdg,27934
330
+ wandelbots_api_client/v2/__init__.py,sha256=bX4_PhkNS_r2vqUrBfsJlj9uNYDgc3wxw31s8qRCatA,1026
331
+ wandelbots_api_client/v2/api_client.py,sha256=wfgdnUgJg2CEyNBEP1OShegHdl3FUtgiwDiuYo2CwB0,27934
332
332
  wandelbots_api_client/v2/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
333
- wandelbots_api_client/v2/configuration.py,sha256=g1csEdfmt6jaZMTPpN32TFZgMSi5Wg_bX34s0nFdB4w,18180
333
+ wandelbots_api_client/v2/configuration.py,sha256=03yhwsy_CJ7AnoZPWKvwcfVrzu44FWigEYERuHK4E6U,18180
334
334
  wandelbots_api_client/v2/exceptions.py,sha256=Drsd9QsxdUX9okRXcWiYlF5itY9_7_OgNrKhPkBYMws,6432
335
335
  wandelbots_api_client/v2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
336
  wandelbots_api_client/v2/rest.py,sha256=C4MNGHsRDniMosrRBG6RgbRwqrRXcKomt8cg8mkozvI,7263
@@ -359,7 +359,7 @@ wandelbots_api_client/v2/api/version_api.py,sha256=a8MMeRy380agPsnlxjLOWjjicYrwz
359
359
  wandelbots_api_client/v2/api/virtual_controller_api.py,sha256=I5xVrfycRymcmteylHAJAM_XRzte9gYD-ziFLsA-XXY,237788
360
360
  wandelbots_api_client/v2/api/virtual_controller_behavior_api.py,sha256=EiQBMZTLpoCcB3nalYopqYDaTJLFrZfFp3wRzi4Uw-Y,42162
361
361
  wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py,sha256=ROtwVeDw_bnMKrLGFg7-zDoO32wMJhwgyRDh5PGoDv4,42407
362
- wandelbots_api_client/v2/models/__init__.py,sha256=Kn6LZOaInYoTMVfXbrPCzG7XPI5njh8hS_xcrExQNcs,25143
362
+ wandelbots_api_client/v2/models/__init__.py,sha256=g5_XBSS7jki4AnstPexpIl73KUSmL482g9E-BOHc9-s,25425
363
363
  wandelbots_api_client/v2/models/abb_controller.py,sha256=rxs_559J9gXBvJUNbdI8y9Bk-2p--xn6vnUlBB6Vvoo,3860
364
364
  wandelbots_api_client/v2/models/abb_controller_egm_server.py,sha256=topD0qfsgi6WXY9yWHXfyH_bPeYmpMvY5LXzyRQQnJ4,2776
365
365
  wandelbots_api_client/v2/models/activate_license_request.py,sha256=9DIJcpzpMM1XoDr8hM3Et8_OVwfkNGd8oY5IdXUReNY,2693
@@ -459,6 +459,7 @@ wandelbots_api_client/v2/models/external_joint_stream_request.py,sha256=Sy-fufvr
459
459
  wandelbots_api_client/v2/models/fanuc_controller.py,sha256=gP3Ch9GA5-AixpZ8hpvilyQTwbrhQQes64u2NZTOxqI,3026
460
460
  wandelbots_api_client/v2/models/feedback_collision.py,sha256=rnQ9t9sIyoPrR5xQxdF3gz32j2TKdrE-6WWeEVsI9pM,4719
461
461
  wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py,sha256=S2SoOfFc__BokJBof4KCAFAsQO5GSk_iQqFydtrAYII,3554
462
+ wandelbots_api_client/v2/models/feedback_no_solution_in_current_configuration.py,sha256=tEXgZPBkCprpan1wUiWzwRNjJZkElVSykHS_Zd7RDaM,3593
462
463
  wandelbots_api_client/v2/models/feedback_out_of_workspace.py,sha256=BJdKNcUYVKe48CTVhrGw5ZmKQaiPLnAGWjd_oW5ZeVo,3471
463
464
  wandelbots_api_client/v2/models/feedback_singularity.py,sha256=8kfUF1VKELHe_q9ekkzOWKd0bbdD4oLmhpvw3gLu4wM,3900
464
465
  wandelbots_api_client/v2/models/flag.py,sha256=F8KhN80NtWP2qcT9CIp1UfCSa22xvCd8PcRGv2iyaN8,2523
@@ -520,7 +521,8 @@ wandelbots_api_client/v2/models/limits_override.py,sha256=0nys8gLi6R9y3f_cwGMGVm
520
521
  wandelbots_api_client/v2/models/list_trajectories_response.py,sha256=d7pKwOB0ipeLRbdqAjOH0VSf8yTtRfKxW2m8ZEnoOVY,2961
521
522
  wandelbots_api_client/v2/models/manufacturer.py,sha256=qaH3SfP9rRq04ivZWQJuwKxESuW-CcKjJdVgnlKbA5s,784
522
523
  wandelbots_api_client/v2/models/merge_trajectories422_response.py,sha256=Ho0SowsFb0uKmvcMAN_S6rHu6Il3GumGKJ8UaeCgus4,3835
523
- wandelbots_api_client/v2/models/merge_trajectories_error.py,sha256=16IQQYOeLm_y79sVK9np_f8ki0D5Vpl1fKFskQFfDu8,3668
524
+ wandelbots_api_client/v2/models/merge_trajectories_error.py,sha256=nqdsD-3puOSV6BIV_x4pKVkK8ZmWlQLslxTkloUQJv0,3643
525
+ wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py,sha256=bjdoXtBa2bkmZhnb9vH29uMU9PyXE_hD7bcPEY-FZIk,8676
524
526
  wandelbots_api_client/v2/models/merge_trajectories_request.py,sha256=_gsHzsvumCBYQSDhtdU3a26SGRYsUTbgpbywej-RQ5I,4647
525
527
  wandelbots_api_client/v2/models/merge_trajectories_response.py,sha256=Oba6RjuXzn31x410kmgd0SCA06P6r5ck8WGV9hQr4jg,5032
526
528
  wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py,sha256=nmhWkJJs0_gEx42pc0jP_-5KkwRASWvOLni_qH1fDN4,5676
@@ -571,7 +573,7 @@ wandelbots_api_client/v2/models/plan_collision_free_request.py,sha256=_w4KUsuaSm
571
573
  wandelbots_api_client/v2/models/plan_collision_free_response.py,sha256=upLS208a88sQRT5_ujwSU88oEbifM0B04mVFjZoJGrU,3092
572
574
  wandelbots_api_client/v2/models/plan_collision_free_response_response.py,sha256=ilERB7JlreC0lMxbl3Z3c_E4Bir4o9XsMsm5i6i0DsM,5757
573
575
  wandelbots_api_client/v2/models/plan_trajectory_failed_response.py,sha256=1hGAkBMT6b8UF67WNToHPNj_rLOtdoGQzKqOh-_tnPM,4289
574
- wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py,sha256=Ve0oR_RTpfxlgk6PEVfCw8tPAPCdM8Cw2xKOhmmeq3g,8724
576
+ wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py,sha256=GHpwPzlZWhv13qOBOgSEGZt4rBRr1FQ7L8VJCPuv9zg,10214
575
577
  wandelbots_api_client/v2/models/plan_trajectory_request.py,sha256=au3Da1Ch1pxJK8v_xcoHAibGKVk_DCpcX3lMOZDw0X8,4791
576
578
  wandelbots_api_client/v2/models/plan_trajectory_response.py,sha256=h_J5vChAbTPEVUbgSQ3BEGwLrIQd3Cl0gZVC8Jy6i-0,2972
577
579
  wandelbots_api_client/v2/models/plan_trajectory_response_response.py,sha256=W1MiMtov8hOZ50jsIOQ0lqwYXbk6FId4h2Dn7gY5l54,5681
@@ -651,12 +653,12 @@ wandelbots_api_client/v2/models/zod_validation_error.py,sha256=1WPSECVx5_SqDDkx0
651
653
  wandelbots_api_client/v2/models/zod_validation_error_error.py,sha256=Uc0lXPdD-fIFhTEqnHxyRPhJi8SVtDK8lenbVhEDGJE,4416
652
654
  wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py,sha256=QTs1CXzMg6kKfhKyY0TYfSFNvXvrDqdPGSPXee1hKiI,4037
653
655
  wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py,sha256=L9SPWClflYFOT9JQe5yTwOHKBOA8ShIgxiiZ4a2f4RI,5493
654
- wandelbots_api_client/v2_pydantic/__init__.py,sha256=dgLs7L0AebeYp6ZFWyzFS0EsRYVLbNDlEyHVGa6Kqo4,1061
655
- wandelbots_api_client/v2_pydantic/api_client.py,sha256=A7Zb2CZw5mt58gtWFVNLElhoVvZ_acEELjwfgPP7r_M,28142
656
+ wandelbots_api_client/v2_pydantic/__init__.py,sha256=ZkLudDsPPwVP2je5yzI0cxN5hClYlZQdJz8F1NMgFVg,1061
657
+ wandelbots_api_client/v2_pydantic/api_client.py,sha256=DekbOcUy5itunCAXTKR8qL3fggDkvDeZi7-DeREkufw,28142
656
658
  wandelbots_api_client/v2_pydantic/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
657
- wandelbots_api_client/v2_pydantic/configuration.py,sha256=7MrAwE0vMfvgoTfzK_wGzKL4scIEupBOT-R_DvYjAU0,18189
659
+ wandelbots_api_client/v2_pydantic/configuration.py,sha256=PPWAm3AEJ4SQc2NmIxRNoZIofr3y7UBA9SpOaur2PYU,18189
658
660
  wandelbots_api_client/v2_pydantic/exceptions.py,sha256=Drsd9QsxdUX9okRXcWiYlF5itY9_7_OgNrKhPkBYMws,6432
659
- wandelbots_api_client/v2_pydantic/models.py,sha256=2831g-4jEHFz1_pKI5szF2fTGe5sW3zJzlRhOiXR2vU,151379
661
+ wandelbots_api_client/v2_pydantic/models.py,sha256=KLp5nHOgwxUsma8gOLMgmQODwZF8UG8UqO2YWG_NYIc,151764
660
662
  wandelbots_api_client/v2_pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
661
663
  wandelbots_api_client/v2_pydantic/rest.py,sha256=tPzuwEQCHmMxyGjMAjWhbm2P6od6k6j4bZJdziI_Ec0,7272
662
664
  wandelbots_api_client/v2_pydantic/virtual_controller_types.py,sha256=luk6nO5VP4f8NmaHVrgzWmcw4TaFyNXD3B9WoECdID8,5225
@@ -685,8 +687,8 @@ wandelbots_api_client/v2_pydantic/api/version_api.py,sha256=gQ8znJVJYxXjJFMBK4ef
685
687
  wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py,sha256=fHvUVeWJx6DauzYz_kUCPVLij8WA1U_mmQIEG5JifLs,238460
686
688
  wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py,sha256=uY8FyumT1bc6k2F-hZi6EYWbvgCqYARkqVuM3oXJ_Ao,42312
687
689
  wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py,sha256=GHrdVGPMmyVcgpCmtGC_yWlk21gl4ZUh34r6UbSBZj0,42548
688
- wandelbots_api_client-26.3.0.dev22.dist-info/licenses/LICENSE,sha256=PJyUaZgTVC0_nJmhRpcbnOcXvmTqJGE6axeSifngIGY,11344
689
- wandelbots_api_client-26.3.0.dev22.dist-info/METADATA,sha256=jLQee5xpXqEDTl6kxJ2K9j06LPqkohKf0XNTHrYNO5s,8022
690
- wandelbots_api_client-26.3.0.dev22.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
691
- wandelbots_api_client-26.3.0.dev22.dist-info/top_level.txt,sha256=eCDsV95XWqVBSMDe4MRzyOj53-TK-o5WU1Qv_yv493M,22
692
- wandelbots_api_client-26.3.0.dev22.dist-info/RECORD,,
690
+ wandelbots_api_client-26.3.0.dev23.dist-info/licenses/LICENSE,sha256=PJyUaZgTVC0_nJmhRpcbnOcXvmTqJGE6axeSifngIGY,11344
691
+ wandelbots_api_client-26.3.0.dev23.dist-info/METADATA,sha256=jH1xfnQpxtK4ojwMIDq4Cqt1UEArIZb5K2EdRIaDtto,8022
692
+ wandelbots_api_client-26.3.0.dev23.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
693
+ wandelbots_api_client-26.3.0.dev23.dist-info/top_level.txt,sha256=eCDsV95XWqVBSMDe4MRzyOj53-TK-o5WU1Qv_yv493M,22
694
+ wandelbots_api_client-26.3.0.dev23.dist-info/RECORD,,