wandelbots-api-client 25.11.0.dev12__py3-none-any.whl → 26.1.0.dev62__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.
Files changed (43) hide show
  1. wandelbots_api_client/__init__.py +1 -1
  2. wandelbots_api_client/api/motion_api.py +3 -3
  3. wandelbots_api_client/api_client.py +1 -1
  4. wandelbots_api_client/configuration.py +1 -1
  5. wandelbots_api_client/models/__init__.py +3 -1
  6. wandelbots_api_client/models/virtual_controller_types.py +4 -4
  7. wandelbots_api_client/v2/__init__.py +1 -1
  8. wandelbots_api_client/v2/api/__init__.py +2 -0
  9. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +579 -0
  10. wandelbots_api_client/v2/api/jogging_api.py +1 -1
  11. wandelbots_api_client/v2/api/motion_group_models_api.py +795 -2
  12. wandelbots_api_client/v2/api/program_api.py +12 -12
  13. wandelbots_api_client/v2/api/robot_configurations_api.py +291 -0
  14. wandelbots_api_client/v2/api/trajectory_execution_api.py +1 -1
  15. wandelbots_api_client/v2/api_client.py +1 -1
  16. wandelbots_api_client/v2/configuration.py +1 -1
  17. wandelbots_api_client/v2/models/__init__.py +7 -3
  18. wandelbots_api_client/v2/models/blending_auto.py +1 -1
  19. wandelbots_api_client/v2/models/blending_position.py +15 -1
  20. wandelbots_api_client/v2/models/blending_space.py +37 -0
  21. wandelbots_api_client/v2/models/initialize_jogging_request.py +2 -4
  22. wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -4
  23. wandelbots_api_client/v2/models/kinematic_model.py +110 -0
  24. wandelbots_api_client/v2/models/motion_group_description.py +4 -2
  25. wandelbots_api_client/v2/models/virtual_controller.py +1 -2
  26. wandelbots_api_client/v2/models/virtual_controller_types.py +1 -1
  27. wandelbots_api_client/v2_pydantic/__init__.py +1 -1
  28. wandelbots_api_client/v2_pydantic/api/__init__.py +2 -0
  29. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +585 -0
  30. wandelbots_api_client/v2_pydantic/api/jogging_api.py +1 -1
  31. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +804 -2
  32. wandelbots_api_client/v2_pydantic/api/program_api.py +12 -12
  33. wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +294 -0
  34. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +1 -1
  35. wandelbots_api_client/v2_pydantic/api_client.py +1 -1
  36. wandelbots_api_client/v2_pydantic/configuration.py +1 -1
  37. wandelbots_api_client/v2_pydantic/models.py +471 -527
  38. wandelbots_api_client/v2_pydantic/virtual_controller_types.py +126 -0
  39. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/METADATA +2 -2
  40. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/RECORD +43 -38
  41. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/WHEEL +0 -0
  42. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/licenses/LICENSE +0 -0
  43. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/top_level.txt +0 -0
@@ -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.1.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, Optional
22
+ from wandelbots_api_client.v2.models.dh_parameter import DHParameter
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class KinematicModel(BaseModel):
27
+ """
28
+ Kinematics model described by Denavit-Hartenberg parameters.
29
+ """ # noqa: E501
30
+ dh_parameters: Optional[List[DHParameter]] = None
31
+ inverse_solver: Optional[StrictStr] = Field(default=None, description="Optional name of the inverse kinematics solver.")
32
+ __properties: ClassVar[List[str]] = ["dh_parameters", "inverse_solver"]
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 KinematicModel 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 dh_parameters (list)
78
+ _items = []
79
+ if self.dh_parameters:
80
+ for _item in self.dh_parameters:
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['dh_parameters'] = _items
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of KinematicModel 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
+ "dh_parameters": [
100
+ # >>> Modified from https://github.com/OpenAPITools/openapi-generator/blob/v7.6.0/modules/openapi-generator/src/main/resources/python/model_generic.mustache
101
+ # to allow dicts in lists
102
+ DHParameter.from_dict(_item) if hasattr(DHParameter, 'from_dict') else _item
103
+ # <<< End modification
104
+ for _item in obj["dh_parameters"]
105
+ ] if obj.get("dh_parameters") is not None else None,
106
+ "inverse_solver": obj.get("inverse_solver")
107
+ })
108
+ return _obj
109
+
110
+
@@ -43,7 +43,8 @@ class MotionGroupDescription(BaseModel):
43
43
  payloads: Optional[Dict[str, Payload]] = Field(default=None, description="Maps a payload name to its configuration. Key must be a payload identifier. Values are payload objects. ")
44
44
  cycle_time: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=0)]] = Field(default=None, description="[ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.")
45
45
  dh_parameters: Optional[List[DHParameter]] = Field(default=None, description="The DH parameters describing the motion group geometry, starting from base.")
46
- __properties: ClassVar[List[str]] = ["motion_group_model", "mounting", "tcps", "safety_zones", "safety_link_colliders", "safety_tool_colliders", "operation_limits", "payloads", "cycle_time", "dh_parameters"]
46
+ serial_number: Optional[StrictStr] = Field(default=None, description="The serial number of the motion group, if available. If not available, the serial number of the robot controller. If not available, empty. ")
47
+ __properties: ClassVar[List[str]] = ["motion_group_model", "mounting", "tcps", "safety_zones", "safety_link_colliders", "safety_tool_colliders", "operation_limits", "payloads", "cycle_time", "dh_parameters", "serial_number"]
47
48
 
48
49
  model_config = ConfigDict(
49
50
  populate_by_name=True,
@@ -204,7 +205,8 @@ class MotionGroupDescription(BaseModel):
204
205
  DHParameter.from_dict(_item) if hasattr(DHParameter, 'from_dict') else _item
205
206
  # <<< End modification
206
207
  for _item in obj["dh_parameters"]
207
- ] if obj.get("dh_parameters") is not None else None
208
+ ] if obj.get("dh_parameters") is not None else None,
209
+ "serial_number": obj.get("serial_number")
208
210
  })
209
211
  return _obj
210
212
 
@@ -20,7 +20,6 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from wandelbots_api_client.v2.models.manufacturer import Manufacturer
23
- from wandelbots_api_client.v2.models.virtual_controller_types import VirtualControllerTypes
24
23
  from typing import Optional, Set
25
24
  from typing_extensions import Self
26
25
 
@@ -30,7 +29,7 @@ class VirtualController(BaseModel):
30
29
  """ # noqa: E501
31
30
  kind: str = "VirtualController"
32
31
  manufacturer: Manufacturer
33
- type: Optional[VirtualControllerTypes] = None
32
+ type: Optional[StrictStr] = Field(default=None, description="Preset type of the virtual robot controller. See [getRobotConfigurations](getRobotConfigurations) for supported types. ")
34
33
  var_json: Optional[StrictStr] = Field(default=None, description="Complete JSON configuration of the virtual robot controller. Can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](getVirtualControllerConfiguration). If provided, the `type` field should not be used. ", alias="json")
35
34
  initial_joint_position: Optional[StrictStr] = Field(default=None, description="Initial joint position of the first motion group from the virtual robot controller. Provide the joint position as a JSON array containing 7 float values, each representing a joint position in radians, e.g., \"[0, 0, 0, 0, 0, 0, 0]\". If the robot has fewer than 7 joints, use \"0\" for each remaining position to ensure the array has exactly 7 values. ")
36
35
  __properties: ClassVar[List[str]] = ["kind", "manufacturer", "type", "json", "initial_joint_position"]
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Wandelbots NOVA API
5
5
 
6
- Interact with robots in an easy and intuitive way.
6
+ Interact with robots in an easy and intuitive way.
7
7
 
8
8
  The version of the OpenAPI document: 2.1.0 dev
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -13,7 +13,7 @@
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "25.11.0.dev12"
16
+ __version__ = "26.1.0.dev62"
17
17
 
18
18
  from . import api
19
19
  from . import api_client
@@ -12,6 +12,7 @@ from .license_api import LicenseApi
12
12
  from .motion_group_api import MotionGroupApi
13
13
  from .motion_group_models_api import MotionGroupModelsApi
14
14
  from .program_api import ProgramApi
15
+ from .robot_configurations_api import RobotConfigurationsApi
15
16
  from .store_collision_components_api import StoreCollisionComponentsApi
16
17
  from .store_collision_setups_api import StoreCollisionSetupsApi
17
18
  from .store_object_api import StoreObjectApi
@@ -37,6 +38,7 @@ __all__ = [
37
38
  "MotionGroupApi",
38
39
  "MotionGroupModelsApi",
39
40
  "ProgramApi",
41
+ "RobotConfigurationsApi",
40
42
  "StoreCollisionComponentsApi",
41
43
  "StoreCollisionSetupsApi",
42
44
  "StoreObjectApi",