micropsi-integration-sdk 0.22.0__tar.gz → 0.25.0__tar.gz

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 (27) hide show
  1. {micropsi-integration-sdk-0.22.0/micropsi_integration_sdk.egg-info → micropsi-integration-sdk-0.25.0}/PKG-INFO +2 -2
  2. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/robot_interface_collection.py +2 -2
  3. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/robot_sdk.py +29 -0
  4. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/sandbox.py +3 -2
  5. micropsi-integration-sdk-0.25.0/micropsi_integration_sdk/version.py +1 -0
  6. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0/micropsi_integration_sdk.egg-info}/PKG-INFO +2 -2
  7. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/setup.py +1 -1
  8. micropsi-integration-sdk-0.22.0/micropsi_integration_sdk/version.py +0 -1
  9. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/LICENSE.txt +0 -0
  10. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/MANIFEST.in +0 -0
  11. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/README.md +0 -0
  12. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/examples/cartesian_pose_robot.py +0 -0
  13. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/examples/cartesian_velocity_robot.py +0 -0
  14. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/examples/joint_position_robot.py +0 -0
  15. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/examples/joint_speed_robot.py +0 -0
  16. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/__init__.py +0 -0
  17. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/dev_client.py +0 -0
  18. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/dev_schema.py +0 -0
  19. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/dev_server.py +0 -0
  20. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk/toolbox.py +0 -0
  21. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk.egg-info/SOURCES.txt +0 -0
  22. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk.egg-info/dependency_links.txt +0 -0
  23. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk.egg-info/entry_points.txt +0 -0
  24. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk.egg-info/requires.txt +0 -0
  25. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/micropsi_integration_sdk.egg-info/top_level.txt +0 -0
  26. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/setup.cfg +0 -0
  27. {micropsi-integration-sdk-0.22.0 → micropsi-integration-sdk-0.25.0}/tests/test_example_robots.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micropsi-integration-sdk
3
- Version: 0.22.0
3
+ Version: 0.25.0
4
4
  Summary: Integration SDK for Micropsi Industries
5
5
  Home-page: https://github.com/micropsi-industries/micropsi-integration-sdk
6
6
  Author: Micropsi Industries
7
7
  Author-email: contact@micropsi-industries.com
8
8
  License: MIT
9
9
  Platform: linux-x86_64
10
- Requires-Python: >=3.6, <4
10
+ Requires-Python: >=3.10, <4
11
11
  Description-Content-Type: text/markdown
12
12
  Provides-Extra: test
13
13
  License-File: LICENSE.txt
@@ -22,7 +22,7 @@ class RobotInterfaceCollection:
22
22
 
23
23
  def register_interface(self, interface_class: type) -> bool:
24
24
  """
25
- Given a class definition fully satisfying the RobotInterface ABC, register it as the
25
+ Given a class definition fully satisfying the RobotInterface ABC, register it as the
26
26
  constructor for each of its supported robot models.
27
27
  Args:
28
28
  interface_class (type): class definition, fully implementing RobotInterface.
@@ -78,7 +78,7 @@ class RobotInterfaceCollection:
78
78
  module = importlib.util.module_from_spec(spec)
79
79
  spec.loader.exec_module(module)
80
80
  for _, obj in inspect.getmembers(module):
81
- self.register_interface(obj)
81
+ self.register_interface(obj)
82
82
  else:
83
83
  logger.info("Skipping non-python file %s" % filepath)
84
84
 
@@ -409,6 +409,35 @@ class RobotInterface(ABC):
409
409
  "max_deceleration_degrees": 60,
410
410
  }
411
411
 
412
+ def kill_all_threads(self) -> None:
413
+ """
414
+ Optional, override as appropriate.
415
+
416
+ While your robot implementation might keep background threads alive between connect
417
+ and disconnect calls, this is the moment where all background activity needs to terminate.
418
+ Implement this method if you have threads or daemons started that stay alive after
419
+ disconnect has been called. Please terminate them via this method.
420
+ """
421
+ pass
422
+
423
+ def prepare_for_cog_estimation(self) -> None:
424
+ """
425
+ Optional, override as appropriate.
426
+
427
+ Many robots may require a different robot communication state for CoG estimation. Mirai only
428
+ needs to read the robot state during the CoG and should not send control signals (because the
429
+ robot is jogged from its teachpendant). We currently achieve this state by enabling all
430
+ communication interfaces and not letting robot control in various ways on either on the robot
431
+ side (e.g., by not pressing start button on KUKA) or on the robot's own SDK implementation.
432
+ This method now allows us to implement required routines to achieve this. We can set our
433
+ communication or the robot configuration on the robot side in a state that the robot sends
434
+ its readings to us without needing to engage in robot control and command interface.
435
+
436
+ This method is at the moment used for KUKA and the new RSI logic that requires a signal from
437
+ us to even sends robot state readings to us.
438
+ """
439
+ pass
440
+
412
441
 
413
442
  class CartesianPoseRobot(RobotInterface):
414
443
  """
@@ -254,8 +254,9 @@ def parse_args():
254
254
  return parser.parse_args()
255
255
 
256
256
 
257
- def main():
258
- args = parse_args()
257
+ def main(args=None):
258
+ if args is None:
259
+ args = parse_args()
259
260
  logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO)
260
261
  path = args.path
261
262
  robot_model = args.model
@@ -0,0 +1 @@
1
+ VERSION = "0.25.0"
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micropsi-integration-sdk
3
- Version: 0.22.0
3
+ Version: 0.25.0
4
4
  Summary: Integration SDK for Micropsi Industries
5
5
  Home-page: https://github.com/micropsi-industries/micropsi-integration-sdk
6
6
  Author: Micropsi Industries
7
7
  Author-email: contact@micropsi-industries.com
8
8
  License: MIT
9
9
  Platform: linux-x86_64
10
- Requires-Python: >=3.6, <4
10
+ Requires-Python: >=3.10, <4
11
11
  Description-Content-Type: text/markdown
12
12
  Provides-Extra: test
13
13
  License-File: LICENSE.txt
@@ -38,6 +38,6 @@ setup(
38
38
  ],
39
39
  },
40
40
  platforms=[get_build_platform()],
41
- python_requires=">=3.6, <4",
41
+ python_requires=">=3.10, <4",
42
42
  license="MIT",
43
43
  )
@@ -1 +0,0 @@
1
- VERSION = "0.22.0"