wandelbots_api_client 26.6.0.dev44__py3-none-any.whl → 26.6.0.dev46__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 (341) hide show
  1. wandelbots_api_client/__init__.py +0 -48
  2. wandelbots_api_client/authorization.py +201 -206
  3. wandelbots_api_client/v2/__init__.py +1 -1
  4. wandelbots_api_client/v2/api_client.py +1 -1
  5. wandelbots_api_client/v2/configuration.py +1 -1
  6. wandelbots_api_client/v2_pydantic/__init__.py +1 -1
  7. wandelbots_api_client/v2_pydantic/api_client.py +1 -1
  8. wandelbots_api_client/v2_pydantic/configuration.py +1 -1
  9. wandelbots_api_client/v2_pydantic/models/__init__.py +2 -2
  10. wandelbots_api_client/v2_pydantic/models/models.py +1 -1
  11. wandelbots_api_client-26.6.0.dev46.dist-info/METADATA +52 -0
  12. {wandelbots_api_client-26.6.0.dev44.dist-info → wandelbots_api_client-26.6.0.dev46.dist-info}/RECORD +13 -340
  13. wandelbots_api_client/api/__init__.py +0 -63
  14. wandelbots_api_client/api/application_api.py +0 -1514
  15. wandelbots_api_client/api/cell_api.py +0 -1424
  16. wandelbots_api_client/api/controller_api.py +0 -2951
  17. wandelbots_api_client/api/controller_ios_api.py +0 -1205
  18. wandelbots_api_client/api/coordinate_systems_api.py +0 -1267
  19. wandelbots_api_client/api/device_configuration_api.py +0 -1193
  20. wandelbots_api_client/api/library_program_api.py +0 -1326
  21. wandelbots_api_client/api/library_program_metadata_api.py +0 -1090
  22. wandelbots_api_client/api/library_recipe_api.py +0 -1351
  23. wandelbots_api_client/api/library_recipe_metadata_api.py +0 -1050
  24. wandelbots_api_client/api/license_api.py +0 -865
  25. wandelbots_api_client/api/motion_api.py +0 -3596
  26. wandelbots_api_client/api/motion_group_api.py +0 -956
  27. wandelbots_api_client/api/motion_group_infos_api.py +0 -2611
  28. wandelbots_api_client/api/motion_group_jogging_api.py +0 -685
  29. wandelbots_api_client/api/motion_group_kinematic_api.py +0 -1055
  30. wandelbots_api_client/api/program_api.py +0 -1987
  31. wandelbots_api_client/api/program_operator_api.py +0 -1881
  32. wandelbots_api_client/api/program_values_api.py +0 -1444
  33. wandelbots_api_client/api/store_collision_components_api.py +0 -3074
  34. wandelbots_api_client/api/store_collision_scenes_api.py +0 -951
  35. wandelbots_api_client/api/store_object_api.py +0 -1387
  36. wandelbots_api_client/api/system_api.py +0 -1075
  37. wandelbots_api_client/api/version_api.py +0 -237
  38. wandelbots_api_client/api/virtual_robot_api.py +0 -1583
  39. wandelbots_api_client/api/virtual_robot_behavior_api.py +0 -649
  40. wandelbots_api_client/api/virtual_robot_mode_api.py +0 -1467
  41. wandelbots_api_client/api/virtual_robot_setup_api.py +0 -2116
  42. wandelbots_api_client/api_client.py +0 -688
  43. wandelbots_api_client/api_response.py +0 -20
  44. wandelbots_api_client/configuration.py +0 -579
  45. wandelbots_api_client/exceptions.py +0 -216
  46. wandelbots_api_client/models/__init__.py +0 -316
  47. wandelbots_api_client/models/abb_controller.py +0 -112
  48. wandelbots_api_client/models/abb_controller_egm_server.py +0 -87
  49. wandelbots_api_client/models/activate_license_request.py +0 -86
  50. wandelbots_api_client/models/add_request.py +0 -95
  51. wandelbots_api_client/models/all_joint_positions_request.py +0 -96
  52. wandelbots_api_client/models/all_joint_positions_response.py +0 -109
  53. wandelbots_api_client/models/api_version.py +0 -86
  54. wandelbots_api_client/models/app.py +0 -148
  55. wandelbots_api_client/models/array_input.py +0 -114
  56. wandelbots_api_client/models/array_output.py +0 -116
  57. wandelbots_api_client/models/behavior.py +0 -35
  58. wandelbots_api_client/models/blending_auto.py +0 -99
  59. wandelbots_api_client/models/blending_position.py +0 -97
  60. wandelbots_api_client/models/box.py +0 -98
  61. wandelbots_api_client/models/box2.py +0 -112
  62. wandelbots_api_client/models/box3.py +0 -112
  63. wandelbots_api_client/models/capsule.py +0 -87
  64. wandelbots_api_client/models/capsule2.py +0 -97
  65. wandelbots_api_client/models/capsule3.py +0 -101
  66. wandelbots_api_client/models/capture.py +0 -86
  67. wandelbots_api_client/models/cell.py +0 -142
  68. wandelbots_api_client/models/circle.py +0 -99
  69. wandelbots_api_client/models/code_with_arguments.py +0 -108
  70. wandelbots_api_client/models/collection_value.py +0 -322
  71. wandelbots_api_client/models/collider.py +0 -105
  72. wandelbots_api_client/models/collider_input.py +0 -105
  73. wandelbots_api_client/models/collider_output.py +0 -105
  74. wandelbots_api_client/models/collider_output_shape.py +0 -242
  75. wandelbots_api_client/models/collider_shape.py +0 -280
  76. wandelbots_api_client/models/collision.py +0 -110
  77. wandelbots_api_client/models/collision_contact.py +0 -92
  78. wandelbots_api_client/models/collision_motion_group.py +0 -124
  79. wandelbots_api_client/models/collision_motion_group_assembly.py +0 -128
  80. wandelbots_api_client/models/collision_robot_configuration_input.py +0 -121
  81. wandelbots_api_client/models/collision_robot_configuration_output.py +0 -121
  82. wandelbots_api_client/models/collision_scene.py +0 -117
  83. wandelbots_api_client/models/collision_scene_assembly.py +0 -133
  84. wandelbots_api_client/models/command.py +0 -140
  85. wandelbots_api_client/models/command_settings.py +0 -104
  86. wandelbots_api_client/models/comparator.py +0 -39
  87. wandelbots_api_client/models/compound.py +0 -114
  88. wandelbots_api_client/models/container_environment_inner.py +0 -87
  89. wandelbots_api_client/models/container_image.py +0 -122
  90. wandelbots_api_client/models/container_image_secrets_inner.py +0 -86
  91. wandelbots_api_client/models/container_resources.py +0 -89
  92. wandelbots_api_client/models/container_storage.py +0 -97
  93. wandelbots_api_client/models/controller_capabilities.py +0 -89
  94. wandelbots_api_client/models/controller_instance.py +0 -148
  95. wandelbots_api_client/models/controller_instance_list.py +0 -109
  96. wandelbots_api_client/models/convex_hull.py +0 -109
  97. wandelbots_api_client/models/convex_hull2.py +0 -97
  98. wandelbots_api_client/models/convex_hull3.py +0 -97
  99. wandelbots_api_client/models/coordinate_system.py +0 -108
  100. wandelbots_api_client/models/coordinate_systems.py +0 -109
  101. wandelbots_api_client/models/create_program_run200_response.py +0 -88
  102. wandelbots_api_client/models/create_program_run_request.py +0 -86
  103. wandelbots_api_client/models/create_trigger200_response.py +0 -86
  104. wandelbots_api_client/models/create_trigger_request.py +0 -101
  105. wandelbots_api_client/models/cubic_spline.py +0 -109
  106. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +0 -93
  107. wandelbots_api_client/models/cubic_spline_parameter.py +0 -93
  108. wandelbots_api_client/models/cycle_time.py +0 -86
  109. wandelbots_api_client/models/cylinder.py +0 -87
  110. wandelbots_api_client/models/cylinder2.py +0 -95
  111. wandelbots_api_client/models/cylinder3.py +0 -101
  112. wandelbots_api_client/models/devices_inner.py +0 -321
  113. wandelbots_api_client/models/dh_parameter.py +0 -98
  114. wandelbots_api_client/models/direction.py +0 -34
  115. wandelbots_api_client/models/direction_jogging_request.py +0 -136
  116. wandelbots_api_client/models/error.py +0 -87
  117. wandelbots_api_client/models/execute_trajectory_request.py +0 -182
  118. wandelbots_api_client/models/execute_trajectory_response.py +0 -223
  119. wandelbots_api_client/models/execution_result.py +0 -113
  120. wandelbots_api_client/models/external_joint_stream_datapoint.py +0 -96
  121. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +0 -96
  122. wandelbots_api_client/models/fanuc_controller.py +0 -99
  123. wandelbots_api_client/models/feedback_collision.py +0 -126
  124. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +0 -101
  125. wandelbots_api_client/models/feedback_out_of_workspace.py +0 -103
  126. wandelbots_api_client/models/feedback_singularity.py +0 -102
  127. wandelbots_api_client/models/flag.py +0 -86
  128. wandelbots_api_client/models/force_vector.py +0 -103
  129. wandelbots_api_client/models/geometry.py +0 -167
  130. wandelbots_api_client/models/get_all_program_runs200_response.py +0 -109
  131. wandelbots_api_client/models/get_all_triggers200_response.py +0 -109
  132. wandelbots_api_client/models/get_mode_response.py +0 -87
  133. wandelbots_api_client/models/get_trajectory_response.py +0 -112
  134. wandelbots_api_client/models/get_trajectory_sample_response.py +0 -90
  135. wandelbots_api_client/models/google_protobuf_any.py +0 -102
  136. wandelbots_api_client/models/http_exception_response.py +0 -86
  137. wandelbots_api_client/models/http_validation_error.py +0 -109
  138. wandelbots_api_client/models/http_validation_error2.py +0 -109
  139. wandelbots_api_client/models/image_credentials.py +0 -88
  140. wandelbots_api_client/models/info_service_capabilities.py +0 -110
  141. wandelbots_api_client/models/initialize_movement_request.py +0 -111
  142. wandelbots_api_client/models/initialize_movement_response.py +0 -96
  143. wandelbots_api_client/models/initialize_movement_response_init_response.py +0 -89
  144. wandelbots_api_client/models/io.py +0 -105
  145. wandelbots_api_client/models/io_description.py +0 -156
  146. wandelbots_api_client/models/io_value.py +0 -104
  147. wandelbots_api_client/models/ios.py +0 -109
  148. wandelbots_api_client/models/jogging_response.py +0 -117
  149. wandelbots_api_client/models/jogging_service_capabilities.py +0 -87
  150. wandelbots_api_client/models/joint_jogging_request.py +0 -108
  151. wandelbots_api_client/models/joint_limit.py +0 -123
  152. wandelbots_api_client/models/joint_limit_exceeded.py +0 -96
  153. wandelbots_api_client/models/joint_position_request.py +0 -104
  154. wandelbots_api_client/models/joint_trajectory.py +0 -117
  155. wandelbots_api_client/models/joints.py +0 -86
  156. wandelbots_api_client/models/kinematic_service_capabilities.py +0 -96
  157. wandelbots_api_client/models/kuka_controller.py +0 -112
  158. wandelbots_api_client/models/kuka_controller_rsi_server.py +0 -92
  159. wandelbots_api_client/models/license.py +0 -124
  160. wandelbots_api_client/models/license_status.py +0 -88
  161. wandelbots_api_client/models/license_status_enum.py +0 -37
  162. wandelbots_api_client/models/limit_settings.py +0 -223
  163. wandelbots_api_client/models/limits_override.py +0 -132
  164. wandelbots_api_client/models/list_io_descriptions_response.py +0 -109
  165. wandelbots_api_client/models/list_io_values_response.py +0 -109
  166. wandelbots_api_client/models/list_payloads_response.py +0 -109
  167. wandelbots_api_client/models/list_program_metadata_response.py +0 -109
  168. wandelbots_api_client/models/list_recipe_metadata_response.py +0 -109
  169. wandelbots_api_client/models/list_response.py +0 -109
  170. wandelbots_api_client/models/list_tcps_response.py +0 -112
  171. wandelbots_api_client/models/location_inner.py +0 -153
  172. wandelbots_api_client/models/location_inner1.py +0 -142
  173. wandelbots_api_client/models/manufacturer.py +0 -37
  174. wandelbots_api_client/models/mode_change_response.py +0 -97
  175. wandelbots_api_client/models/motion_command.py +0 -109
  176. wandelbots_api_client/models/motion_command_blending.py +0 -164
  177. wandelbots_api_client/models/motion_command_path.py +0 -221
  178. wandelbots_api_client/models/motion_group_behavior_getter.py +0 -87
  179. wandelbots_api_client/models/motion_group_info.py +0 -88
  180. wandelbots_api_client/models/motion_group_infos.py +0 -109
  181. wandelbots_api_client/models/motion_group_instance.py +0 -101
  182. wandelbots_api_client/models/motion_group_instance_list.py +0 -109
  183. wandelbots_api_client/models/motion_group_joints.py +0 -100
  184. wandelbots_api_client/models/motion_group_physical.py +0 -105
  185. wandelbots_api_client/models/motion_group_specification.py +0 -136
  186. wandelbots_api_client/models/motion_group_state.py +0 -180
  187. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +0 -86
  188. wandelbots_api_client/models/motion_group_state_response.py +0 -103
  189. wandelbots_api_client/models/motion_id.py +0 -88
  190. wandelbots_api_client/models/motion_ids_list_response.py +0 -89
  191. wandelbots_api_client/models/motion_vector.py +0 -103
  192. wandelbots_api_client/models/mounting.py +0 -98
  193. wandelbots_api_client/models/move_request.py +0 -162
  194. wandelbots_api_client/models/move_response.py +0 -91
  195. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +0 -107
  196. wandelbots_api_client/models/movement.py +0 -90
  197. wandelbots_api_client/models/movement_error.py +0 -90
  198. wandelbots_api_client/models/movement_error_error.py +0 -86
  199. wandelbots_api_client/models/movement_movement.py +0 -98
  200. wandelbots_api_client/models/op_mode.py +0 -93
  201. wandelbots_api_client/models/opcua_node_value_trigger_config.py +0 -100
  202. wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +0 -159
  203. wandelbots_api_client/models/optimizer_setup.py +0 -145
  204. wandelbots_api_client/models/out_of_workspace.py +0 -92
  205. wandelbots_api_client/models/path.py +0 -109
  206. wandelbots_api_client/models/path_cartesian_ptp.py +0 -103
  207. wandelbots_api_client/models/path_circle.py +0 -108
  208. wandelbots_api_client/models/path_cubic_spline.py +0 -118
  209. wandelbots_api_client/models/path_joint_ptp.py +0 -96
  210. wandelbots_api_client/models/path_line.py +0 -103
  211. wandelbots_api_client/models/pause_movement_request.py +0 -95
  212. wandelbots_api_client/models/pause_movement_response.py +0 -96
  213. wandelbots_api_client/models/pause_movement_response_pause_response.py +0 -89
  214. wandelbots_api_client/models/pause_on_io.py +0 -96
  215. wandelbots_api_client/models/payload.py +0 -103
  216. wandelbots_api_client/models/plan_collision_free_ptp_request.py +0 -131
  217. wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +0 -150
  218. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +0 -149
  219. wandelbots_api_client/models/plan_failed_response.py +0 -136
  220. wandelbots_api_client/models/plan_request.py +0 -127
  221. wandelbots_api_client/models/plan_response.py +0 -112
  222. wandelbots_api_client/models/plan_successful_response.py +0 -100
  223. wandelbots_api_client/models/plan_trajectory_failed_response.py +0 -106
  224. wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +0 -209
  225. wandelbots_api_client/models/plan_trajectory_request.py +0 -154
  226. wandelbots_api_client/models/plan_trajectory_response.py +0 -92
  227. wandelbots_api_client/models/plan_trajectory_response_response.py +0 -147
  228. wandelbots_api_client/models/plane2.py +0 -93
  229. wandelbots_api_client/models/plane3.py +0 -93
  230. wandelbots_api_client/models/planned_motion.py +0 -125
  231. wandelbots_api_client/models/planner_pose.py +0 -100
  232. wandelbots_api_client/models/planning_limits.py +0 -168
  233. wandelbots_api_client/models/planning_limits_limit_range.py +0 -87
  234. wandelbots_api_client/models/playback_speed_request.py +0 -94
  235. wandelbots_api_client/models/playback_speed_response.py +0 -96
  236. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +0 -86
  237. wandelbots_api_client/models/point_cloud.py +0 -86
  238. wandelbots_api_client/models/pose.py +0 -107
  239. wandelbots_api_client/models/pose2.py +0 -93
  240. wandelbots_api_client/models/program_metadata.py +0 -100
  241. wandelbots_api_client/models/program_run.py +0 -168
  242. wandelbots_api_client/models/program_run_object.py +0 -103
  243. wandelbots_api_client/models/program_run_state.py +0 -37
  244. wandelbots_api_client/models/program_runner_reference.py +0 -88
  245. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +0 -88
  246. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +0 -87
  247. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +0 -87
  248. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +0 -87
  249. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +0 -101
  250. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +0 -101
  251. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +0 -99
  252. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +0 -107
  253. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +0 -119
  254. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +0 -130
  255. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +0 -130
  256. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +0 -102
  257. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +0 -99
  258. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +0 -94
  259. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +0 -94
  260. wandelbots_api_client/models/quaternion.py +0 -89
  261. wandelbots_api_client/models/recipe_metadata.py +0 -102
  262. wandelbots_api_client/models/rectangle.py +0 -87
  263. wandelbots_api_client/models/rectangle2.py +0 -95
  264. wandelbots_api_client/models/rectangle3.py +0 -101
  265. wandelbots_api_client/models/rectangular_capsule.py +0 -94
  266. wandelbots_api_client/models/rectangular_capsule2.py +0 -103
  267. wandelbots_api_client/models/rectangular_capsule3.py +0 -103
  268. wandelbots_api_client/models/release_channel.py +0 -34
  269. wandelbots_api_client/models/request.py +0 -142
  270. wandelbots_api_client/models/request1.py +0 -140
  271. wandelbots_api_client/models/response_get_devices_devices_get_inner.py +0 -321
  272. wandelbots_api_client/models/response_get_value_programs_values_key_get.py +0 -317
  273. wandelbots_api_client/models/response_get_values_programs_values_get_value.py +0 -322
  274. wandelbots_api_client/models/robot_controller.py +0 -108
  275. wandelbots_api_client/models/robot_controller_configuration.py +0 -262
  276. wandelbots_api_client/models/robot_controller_state.py +0 -191
  277. wandelbots_api_client/models/robot_link_geometry.py +0 -98
  278. wandelbots_api_client/models/robot_state.py +0 -101
  279. wandelbots_api_client/models/robot_system_mode.py +0 -37
  280. wandelbots_api_client/models/robot_tcp.py +0 -104
  281. wandelbots_api_client/models/robot_tcps.py +0 -109
  282. wandelbots_api_client/models/rotation_angle_types.py +0 -58
  283. wandelbots_api_client/models/rotation_angles.py +0 -91
  284. wandelbots_api_client/models/safety_configuration.py +0 -182
  285. wandelbots_api_client/models/safety_setup.py +0 -172
  286. wandelbots_api_client/models/safety_setup_safety_settings.py +0 -106
  287. wandelbots_api_client/models/safety_setup_safety_zone.py +0 -103
  288. wandelbots_api_client/models/safety_zone.py +0 -98
  289. wandelbots_api_client/models/safety_zone_limits.py +0 -96
  290. wandelbots_api_client/models/safety_zone_violation.py +0 -86
  291. wandelbots_api_client/models/service_status.py +0 -96
  292. wandelbots_api_client/models/service_status_phase.py +0 -46
  293. wandelbots_api_client/models/service_status_severity.py +0 -35
  294. wandelbots_api_client/models/service_status_status.py +0 -90
  295. wandelbots_api_client/models/set_io.py +0 -93
  296. wandelbots_api_client/models/set_playback_speed.py +0 -91
  297. wandelbots_api_client/models/single_joint_limit.py +0 -112
  298. wandelbots_api_client/models/singularity.py +0 -110
  299. wandelbots_api_client/models/singularity_type_enum.py +0 -35
  300. wandelbots_api_client/models/sphere.py +0 -86
  301. wandelbots_api_client/models/sphere2.py +0 -94
  302. wandelbots_api_client/models/sphere3.py +0 -96
  303. wandelbots_api_client/models/standstill.py +0 -92
  304. wandelbots_api_client/models/standstill_reason.py +0 -36
  305. wandelbots_api_client/models/standstill_standstill.py +0 -99
  306. wandelbots_api_client/models/start_movement_request.py +0 -135
  307. wandelbots_api_client/models/start_on_io.py +0 -96
  308. wandelbots_api_client/models/status.py +0 -119
  309. wandelbots_api_client/models/stop_response.py +0 -109
  310. wandelbots_api_client/models/store_value.py +0 -349
  311. wandelbots_api_client/models/stream_move_backward.py +0 -90
  312. wandelbots_api_client/models/stream_move_forward.py +0 -90
  313. wandelbots_api_client/models/stream_move_playback_speed.py +0 -92
  314. wandelbots_api_client/models/stream_move_request.py +0 -207
  315. wandelbots_api_client/models/stream_move_response.py +0 -110
  316. wandelbots_api_client/models/stream_move_to_trajectory.py +0 -96
  317. wandelbots_api_client/models/stream_stop.py +0 -90
  318. wandelbots_api_client/models/tcp_pose.py +0 -105
  319. wandelbots_api_client/models/tcp_pose_request.py +0 -106
  320. wandelbots_api_client/models/tool_geometry.py +0 -111
  321. wandelbots_api_client/models/trajectory_sample.py +0 -139
  322. wandelbots_api_client/models/trigger_object.py +0 -110
  323. wandelbots_api_client/models/trigger_type.py +0 -33
  324. wandelbots_api_client/models/universalrobots_controller.py +0 -102
  325. wandelbots_api_client/models/update_nova_version_request.py +0 -87
  326. wandelbots_api_client/models/update_program_metadata_request.py +0 -88
  327. wandelbots_api_client/models/update_recipe_metadata_request.py +0 -88
  328. wandelbots_api_client/models/update_trigger_request.py +0 -100
  329. wandelbots_api_client/models/validation_error.py +0 -113
  330. wandelbots_api_client/models/validation_error2.py +0 -113
  331. wandelbots_api_client/models/value.py +0 -317
  332. wandelbots_api_client/models/vector3d.py +0 -88
  333. wandelbots_api_client/models/version_number.py +0 -113
  334. wandelbots_api_client/models/virtual_controller.py +0 -117
  335. wandelbots_api_client/models/virtual_controller_types.py +0 -154
  336. wandelbots_api_client/models/virtual_robot_configuration.py +0 -91
  337. wandelbots_api_client/models/yaskawa_controller.py +0 -99
  338. wandelbots_api_client/py.typed +0 -0
  339. wandelbots_api_client/rest.py +0 -188
  340. wandelbots_api_client-26.6.0.dev44.dist-info/METADATA +0 -241
  341. {wandelbots_api_client-26.6.0.dev44.dist-info → wandelbots_api_client-26.6.0.dev46.dist-info}/WHEEL +0 -0
@@ -1,48 +0,0 @@
1
- # coding: utf-8
2
-
3
- # flake8: noqa
4
-
5
- """
6
- Wandelbots NOVA API
7
-
8
- Interact with robots in an easy and intuitive way.
9
-
10
- The version of the OpenAPI document: 1.6.0 dev
11
- Generated by OpenAPI Generator (https://openapi-generator.tech)
12
-
13
- Do not edit the class manually.
14
- """ # noqa: E501
15
-
16
- __version__ = "26.6.0.dev44"
17
-
18
- from . import models
19
- from . import api
20
- from . import api_client
21
- from . import exceptions
22
- from . import configuration
23
-
24
- from .api import *
25
-
26
- # import ApiClient
27
- from .api_response import ApiResponse
28
- from .api_client import ApiClient
29
- from .configuration import Configuration
30
- from .exceptions import OpenApiException
31
- from .exceptions import ApiTypeError
32
- from .exceptions import ApiValueError
33
- from .exceptions import ApiKeyError
34
- from .exceptions import ApiAttributeError
35
- from .exceptions import ApiException
36
-
37
-
38
- __all__ = [
39
- "ApiResponse",
40
- "ApiClient",
41
- "Configuration",
42
- "OpenApiException",
43
- "ApiTypeError",
44
- "ApiValueError",
45
- "ApiKeyError",
46
- "ApiAttributeError",
47
- "ApiException",
48
- ]
@@ -1,243 +1,238 @@
1
- from typing import Optional
1
+ """OAuth2 Device Code Flow implementation for Auth0 and Entra ID."""
2
2
 
3
- import asyncio
4
3
  import aiohttp
4
+ import asyncio
5
+ from typing import Any
6
+ from abc import ABC, abstractmethod
5
7
  import pydantic
6
8
 
7
9
 
8
- class Auth0Config(pydantic.BaseModel):
9
- """Configuration for Auth0 authentication"""
10
+ class DeviceCodeFlowConfig(pydantic.BaseModel, ABC):
11
+ """Base class for OAuth2 device code flow authentication."""
10
12
 
11
- domain: Optional[str] = None
12
- client_id: Optional[str] = None
13
- audience: Optional[str] = None
13
+ scope: str = "openid profile email offline_access"
14
14
 
15
- @classmethod
16
- def default(cls) -> "Auth0Config":
17
- """Create Auth0Config from environment variables"""
18
- return cls(
19
- domain="",
20
- client_id="",
21
- audience="",
22
- )
15
+ class Config:
16
+ arbitrary_types_allowed = True
23
17
 
18
+ @abstractmethod
24
19
  def is_complete(self) -> bool:
25
- """Check if all required fields are set and not None"""
26
- return bool(self.domain and self.client_id and self.audience)
27
-
28
- def get_validated_config(self) -> tuple[str, str, str]:
29
- """Get validated config values, ensuring they are not None"""
30
- if not self.is_complete():
31
- raise ValueError("Auth0 configuration is incomplete")
32
- return self.domain, self.client_id, self.audience
33
-
34
-
35
- class Auth0DeviceCodeInfo(pydantic.BaseModel):
36
- """
37
- Model to store device code information.
38
-
39
- Attributes:
40
- device_code (str): The device code.
41
- user_code (str): The user code.
42
- verification_uri (str): The verification URI.
43
- expires_in (int): The expiration time in seconds.
44
- interval (int): The interval time in seconds (default is 5).
45
- """
46
-
47
- device_code: str
48
- user_code: str
49
- verification_uri: str
50
- expires_in: int
51
- interval: int = pydantic.Field(default=5)
52
-
53
-
54
- class Auth0TokenInfo(pydantic.BaseModel):
55
- """
56
- Model to store token information.
57
-
58
- Attributes:
59
- access_token (str): The access token.
60
- refresh_token (str, optional): The refresh token.
61
- """
62
-
63
- access_token: str
64
- refresh_token: Optional[str] = None
65
-
66
-
67
- class Auth0DeviceAuthorization:
68
- """
69
- Class to handle Auth0 device authorization.
70
-
71
- Methods:
72
- __init__(auth0_config: Auth0Config | None = None):
73
- Initializes the Auth0DeviceAuthorization instance with the given parameters.
74
- request_device_code():
75
- Requests a device code from Auth0.
76
- display_user_instructions():
77
- Displays instructions for the user to authenticate.
78
- poll_token_endpoint():
79
- Polls the token endpoint to obtain an access token.
80
- refresh_access_token(refresh_token: str):
81
- Refreshes the access token using the refresh token.
82
- """
83
-
84
- def __init__(self, auth0_config: Optional[Auth0Config] = None):
20
+ """Check if all required fields are set."""
21
+ pass
22
+
23
+ @property
24
+ @abstractmethod
25
+ def token_endpoint(self) -> str:
26
+ """Get the token endpoint URL."""
27
+ pass
28
+
29
+ @property
30
+ @abstractmethod
31
+ def device_endpoint(self) -> str:
32
+ """Get the device code endpoint URL."""
33
+ pass
34
+
35
+ @abstractmethod
36
+ def _build_device_code_request(self) -> dict[str, str]:
37
+ """Build the device code request data."""
38
+ pass
39
+
40
+ async def request_device_code(self) -> dict[str, Any]:
85
41
  """
86
- Initialize with Auth0Config from env vars or passed config.
87
-
88
- Args:
89
- auth0_config: Optional Auth0Config object. If not provided,
90
- will be created using default configuration.
91
- """
92
- try:
93
- self.params = auth0_config or Auth0Config.default()
94
- if not self.params.is_complete():
95
- raise ValueError("Auth0 configuration is incomplete")
96
-
97
- domain, client_id, audience = self.params.get_validated_config()
98
- self.auth0_domain = domain
99
- self.auth0_client_id = client_id
100
- self.auth0_audience = audience
101
-
102
- except ValueError as e:
103
- raise ValueError(f"Error: Auth0 configuration is invalid: {e}")
104
-
105
- self.headers = {"content-type": "application/x-www-form-urlencoded"}
106
- self.device_code_info: Optional[Auth0DeviceCodeInfo] = None
107
- self.refresh_token: Optional[str] = None
108
- self.interval = 5
109
- self.attempts = 10
110
-
111
- async def request_device_code(self) -> Auth0DeviceCodeInfo:
112
- """
113
- Requests a device code from Auth0.
42
+ Request device code from the authorization server.
114
43
 
115
44
  Returns:
116
- Auth0DeviceCodeInfo: The device code information.
45
+ Device code response with verification_uri, user_code, etc.
117
46
 
118
47
  Raises:
119
- Exception: If there is an error requesting the device code.
120
- """
121
- device_code_url = f"https://{self.auth0_domain}/oauth/device/code"
122
- data = {
123
- "client_id": self.auth0_client_id,
124
- "scope": "openid profile email",
125
- "audience": self.auth0_audience,
126
- }
127
-
128
- async with aiohttp.ClientSession() as session:
129
- async with session.post(device_code_url, headers=self.headers, data=data) as response:
130
- if response.status == 200:
131
- response_data = await response.json()
132
- self.device_code_info = Auth0DeviceCodeInfo(**response_data)
133
- self.interval = self.device_code_info.interval
134
- return self.device_code_info
135
- else:
136
- error_data = await response.json()
137
- raise Exception("Error requesting device code:", error_data)
138
-
139
- def get_device_code_info(self) -> Optional[Auth0DeviceCodeInfo]:
48
+ ValueError: If configuration is incomplete
49
+ Exception: If device code request fails
140
50
  """
141
- Returns the device code information.
51
+ if not self.is_complete():
52
+ raise ValueError(f"{self.__class__.__name__} configuration is incomplete")
142
53
 
143
- Returns:
144
- Optional[Auth0DeviceCodeInfo]: The device code information.
145
- """
146
- return self.device_code_info
54
+ data = self._build_device_code_request()
147
55
 
148
- def display_user_instructions(self) -> None:
56
+ async with aiohttp.ClientSession() as session:
57
+ async with session.post(
58
+ self.device_endpoint,
59
+ data=data,
60
+ headers={"Content-Type": "application/x-www-form-urlencoded"},
61
+ ) as response:
62
+ if response.status != 200:
63
+ error_text = await response.text()
64
+ raise Exception(f"Device code request failed: {error_text}")
65
+
66
+ return await response.json()
67
+
68
+ async def poll_token_endpoint(self, device_code: str, interval: int = 5, expires_in: int = 900) -> dict[str, str]:
149
69
  """
150
- Displays instructions for the user to authenticate.
70
+ Poll the token endpoint until authorization is complete.
151
71
 
152
- Raises:
153
- Exception: If device code information is not available.
154
- """
155
- if self.device_code_info:
156
- verification_uri = f"{self.device_code_info.verification_uri}?user_code={self.device_code_info.user_code}"
157
- user_code = self.device_code_info.user_code
158
- print(f"Please visit {verification_uri} and validate the code {user_code} to authenticate.")
159
- else:
160
- raise Exception("Device code information is not available.")
161
-
162
- async def poll_token_endpoint(self):
163
- """
164
- Polls the token endpoint to obtain an access token.
72
+ Args:
73
+ device_code: Device code from request_device_code
74
+ interval: Polling interval in seconds
75
+ expires_in: Expiration time in seconds
165
76
 
166
77
  Returns:
167
- str: The access token.
78
+ Token response with access_token, refresh_token, etc.
168
79
 
169
80
  Raises:
170
- Exception: If there is an error polling the token endpoint.
81
+ TimeoutError: If authorization times out
82
+ Exception: If authorization fails
171
83
  """
172
- if not self.device_code_info:
173
- raise Exception("Device code information is not available.")
174
-
175
- token_url = f"https://{self.auth0_domain}/oauth/token"
176
- token_data = {
177
- "grant_type": "urn:ietf:params:oauth:grant-type:device_code",
178
- "device_code": self.device_code_info.device_code,
179
- "client_id": self.auth0_client_id,
180
- }
84
+ start_time = asyncio.get_event_loop().time()
85
+
86
+ while (asyncio.get_event_loop().time() - start_time) < expires_in:
87
+ await asyncio.sleep(interval)
88
+
89
+ async with aiohttp.ClientSession() as session:
90
+ async with session.post(
91
+ self.token_endpoint,
92
+ data={
93
+ "grant_type": "urn:ietf:params:oauth:grant-type:device_code",
94
+ "device_code": device_code,
95
+ "client_id": self._get_client_id(),
96
+ },
97
+ headers={"Content-Type": "application/x-www-form-urlencoded"},
98
+ ) as response:
99
+ if response.status == 200:
100
+ return await response.json()
181
101
 
182
- async with aiohttp.ClientSession() as session:
183
- while self.attempts > 0:
184
- self.attempts = self.attempts - 1
185
- async with session.post(token_url, headers=self.headers, data=token_data) as token_response:
186
- if token_response.status == 200:
187
- # If the response status is 200, it means the access token is successfully obtained.
188
- response_data = await token_response.json()
189
- token_info = Auth0TokenInfo(**response_data)
190
- self.refresh_token = token_info.refresh_token
191
- return token_info.access_token
192
- elif token_response.status == 400:
193
- # If the response status is 400, check the error type.
194
- error_data = await token_response.json()
195
- error = error_data.get("error")
196
- if error == "authorization_pending":
197
- # If the error is 'authorization_pending', it means the user has not yet authorized.
198
- await asyncio.sleep(self.interval)
199
- elif error == "slow_down":
200
- # If the error is 'slow_down', it means the server requests to slow down polling.
201
- self.interval += 5
202
- await asyncio.sleep(self.interval)
203
- elif token_response.status == 403:
204
- # If the response status is 403, it means the request is forbidden, wait and retry.
205
- await asyncio.sleep(self.interval)
102
+ error_data = await response.json()
103
+ error = error_data.get("error")
104
+
105
+ if error == "authorization_pending":
106
+ continue
107
+ elif error == "slow_down":
108
+ interval += 5
109
+ continue
206
110
  else:
207
- # For other status codes, raise an exception with the error details.
208
- error_data = await token_response.json()
209
- raise Exception("Error:", token_response.status, error_data)
210
- raise Exception("Error: It was not able to authenticate. Please try again.")
111
+ raise Exception(f"Authorization failed: {error}")
112
+
113
+ raise TimeoutError("Device authorization timed out")
211
114
 
212
- async def refresh_access_token(self, refresh_token: str):
115
+ async def refresh_token(self, refresh_token: str) -> dict[str, str]:
213
116
  """
214
- Refreshes the access token using the refresh token.
117
+ Refresh access token using refresh token.
215
118
 
216
119
  Args:
217
- refresh_token (str): The refresh token.
120
+ refresh_token: Refresh token from previous authentication
218
121
 
219
122
  Returns:
220
- str: The new access token.
123
+ New token response with access_token and potentially new refresh_token
221
124
 
222
125
  Raises:
223
- Exception: If there is an error refreshing the access token.
126
+ Exception: If token refresh fails
224
127
  """
225
- if not refresh_token:
226
- raise Exception("Refresh token is not available.")
227
-
228
- token_url = f"https://{self.auth0_domain}/oauth/token"
229
- token_data = {
230
- "grant_type": "refresh_token",
231
- "client_id": self.auth0_client_id,
232
- "refresh_token": refresh_token,
128
+ async with aiohttp.ClientSession() as session:
129
+ async with session.post(
130
+ self.token_endpoint,
131
+ data={
132
+ "grant_type": "refresh_token",
133
+ "refresh_token": refresh_token,
134
+ "client_id": self._get_client_id(),
135
+ },
136
+ headers={"Content-Type": "application/x-www-form-urlencoded"},
137
+ ) as response:
138
+ if response.status != 200:
139
+ error_text = await response.text()
140
+ raise Exception(f"Token refresh failed: {error_text}")
141
+
142
+ return await response.json()
143
+
144
+ @abstractmethod
145
+ def _get_client_id(self) -> str:
146
+ """Get the client ID for the configuration."""
147
+ pass
148
+
149
+
150
+ class Auth0Config(DeviceCodeFlowConfig):
151
+ """Configuration for Auth0 device code flow authentication."""
152
+
153
+ domain: str | None = None
154
+ client_id: str | None = None
155
+ audience: str | None = None
156
+
157
+ @classmethod
158
+ def default(cls) -> "Auth0Config":
159
+ """Provide the default Auth0 configuration."""
160
+ return cls(
161
+ domain="",
162
+ client_id="",
163
+ audience="",
164
+ )
165
+
166
+ def is_complete(self) -> bool:
167
+ """Check if all required fields are set."""
168
+ return bool(self.domain and self.client_id and self.audience)
169
+
170
+ @property
171
+ def token_endpoint(self) -> str:
172
+ """Get the token endpoint URL."""
173
+ if not self.domain:
174
+ raise ValueError("Domain is not set")
175
+ return f"https://{self.domain}/oauth/token"
176
+
177
+ @property
178
+ def device_endpoint(self) -> str:
179
+ """Get the device code endpoint URL."""
180
+ if not self.domain:
181
+ raise ValueError("Domain is not set")
182
+ return f"https://{self.domain}/oauth/device/code"
183
+
184
+ def _get_client_id(self) -> str:
185
+ """Get the client ID for the configuration."""
186
+ if not self.client_id:
187
+ raise ValueError("Client ID is not set")
188
+ return self.client_id
189
+
190
+ def _build_device_code_request(self) -> dict[str, str]:
191
+ """Build the device code request data."""
192
+ data = {
193
+ "client_id": self.client_id,
194
+ "scope": self.scope,
233
195
  }
196
+ if self.audience:
197
+ data["audience"] = self.audience
198
+ return data
234
199
 
235
- async with aiohttp.ClientSession() as session:
236
- async with session.post(token_url, headers=self.headers, data=token_data) as response:
237
- if response.status == 200:
238
- response_data = await response.json()
239
- token_info = Auth0TokenInfo(**response_data)
240
- return token_info.access_token
241
- else:
242
- error_data = await response.json()
243
- raise Exception("Error refreshing access token:", error_data)
200
+
201
+ class EntraIDConfig(DeviceCodeFlowConfig):
202
+ """Configuration for Microsoft Entra ID (Azure AD) device code flow authentication."""
203
+
204
+ client_id: str | None = None
205
+ tenant_id: str | None = None
206
+
207
+ def is_complete(self) -> bool:
208
+ """Check if all required fields are set."""
209
+ return bool(self.client_id and self.tenant_id)
210
+
211
+ @property
212
+ def token_endpoint(self) -> str:
213
+ """Get the token endpoint URL."""
214
+ if not self.tenant_id:
215
+ raise ValueError("Tenant ID is not set")
216
+ return f"https://login.microsoftonline.com/{self.tenant_id}/oauth2/v2.0/token"
217
+
218
+ @property
219
+ def device_endpoint(self) -> str:
220
+ """Get the device code endpoint URL."""
221
+ if not self.tenant_id:
222
+ raise ValueError("Tenant ID is not set")
223
+ return f"https://login.microsoftonline.com/{self.tenant_id}/oauth2/v2.0/devicecode"
224
+
225
+ def _get_client_id(self) -> str:
226
+ """Get the client ID for the configuration."""
227
+ if not self.client_id:
228
+ raise ValueError("Client ID is not set")
229
+ return self.client_id
230
+
231
+ def _build_device_code_request(self) -> dict[str, str]:
232
+ """Build the device code request data."""
233
+ if not self.client_id:
234
+ raise ValueError("Client ID is not set")
235
+ return {
236
+ "client_id": self.client_id,
237
+ "scope": self.scope,
238
+ }
@@ -13,7 +13,7 @@ Generated by OpenAPI Generator (https://openapi-generator.tech)
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "26.6.0.dev44"
16
+ __version__ = "26.6.0.dev46"
17
17
 
18
18
  from . import api
19
19
  from . import api_client
@@ -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.dev44"
88
+ self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.dev46"
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.dev44".format(env=sys.platform, pyversion=sys.version)
515
+ "SDK Package Version: 26.6.0.dev46".format(env=sys.platform, pyversion=sys.version)
516
516
  )
517
517
 
518
518
  def get_host_settings(self) -> List[HostSetting]:
@@ -13,7 +13,7 @@ Generated by OpenAPI Generator (https://openapi-generator.tech)
13
13
  Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
- __version__ = "26.6.0.dev44"
16
+ __version__ = "26.6.0.dev46"
17
17
 
18
18
  from . import api
19
19
  from . import api_client
@@ -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.dev44"
88
+ self.user_agent = "Wandelbots-Nova-API-Python-Client/26.6.0.dev46"
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.dev44".format(env=sys.platform, pyversion=sys.version)
515
+ "SDK Package Version: 26.6.0.dev46".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: tmppbly5qf4
3
- # timestamp: 2026-06-30T12:30:50+00:00
2
+ # filename: tmpnutnw9uv
3
+ # timestamp: 2026-07-01T09:00:20+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: models.yaml
3
- # timestamp: 2026-06-30T12:30:50+00:00
3
+ # timestamp: 2026-07-01T09:00:20+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
  from pydantic import AnyUrl, AwareDatetime, BaseModel, EmailStr, Field, RootModel
@@ -0,0 +1,52 @@
1
+ Metadata-Version: 2.4
2
+ Name: wandelbots_api_client
3
+ Version: 26.6.0.dev46
4
+ Summary: Wandelbots Python Client: Interact with robots in an easy and intuitive way.
5
+ Author: Copyright (c) 2025 Wandelbots GmbH
6
+ Author-email: Copyright (c) 2025 Wandelbots GmbH <contact@wandelbots.com>
7
+ License-Expression: Apache-2.0
8
+ Classifier: Typing :: Typed
9
+ Classifier: Topic :: Software Development
10
+ Classifier: Operating System :: Microsoft :: Windows
11
+ Classifier: Operating System :: POSIX
12
+ Classifier: Operating System :: Unix
13
+ Classifier: Operating System :: MacOS
14
+ Requires-Dist: urllib3>=1.25.3
15
+ Requires-Dist: python-dateutil>=2.8.2
16
+ Requires-Dist: aiohttp>=3.8.4
17
+ Requires-Dist: aiohttp-retry>=2.8.3
18
+ Requires-Dist: pydantic>=2
19
+ Requires-Dist: websockets
20
+ Requires-Dist: typing-extensions>=4.7.1
21
+ Requires-Dist: furl
22
+ Requires-Dist: pyhumps
23
+ Requires-Dist: pydantic-core
24
+ Requires-Dist: annotated-types
25
+ Requires-Dist: pydantic[email]
26
+ Requires-Python: >=3.9
27
+ Project-URL: homepage, https://wandelbots.com/
28
+ Description-Content-Type: text/markdown
29
+
30
+ # wandelbots-api-client.v2
31
+ Interact with robots in an easy and intuitive way.
32
+
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.dev46
35
+
36
+ ## Requirements.
37
+ Python >=3.9, Python < 4.0
38
+
39
+ ## Installation
40
+ ```
41
+ pip install wandelbots-api-client
42
+ ```
43
+
44
+ OR
45
+
46
+ pyproject.toml:
47
+ ```
48
+ [tool.poetry.dependencies]
49
+ wandelbots-api-client = "*"
50
+ ```
51
+
52
+