plexus-msgs-python 1.0.9__tar.gz → 1.0.10__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 (57) hide show
  1. {plexus_msgs_python-1.0.9/src/plexus_msgs_python.egg-info → plexus_msgs_python-1.0.10}/PKG-INFO +3 -3
  2. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/pyproject.toml +4 -4
  3. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/utils.py +7 -9
  4. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10/src/plexus_msgs_python.egg-info}/PKG-INFO +3 -3
  5. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/.gitignore +0 -0
  6. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/MANIFEST.in +0 -0
  7. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/VERSION +0 -0
  8. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/setup.cfg +0 -0
  9. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/setup.py +0 -0
  10. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/__init__.py +0 -0
  11. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/__main__.py +0 -0
  12. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/control/plexus_msgs_control_control_command_pb2.py +0 -0
  13. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/control/plexus_msgs_control_control_command_pb2.pyi +0 -0
  14. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/control/plexus_msgs_control_dbw_command_pb2.py +0 -0
  15. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/control/plexus_msgs_control_dbw_command_pb2.pyi +0 -0
  16. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/descriptor.pb +0 -0
  17. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/localization/plexus_msgs_localization_odometry_pb2.py +0 -0
  18. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/localization/plexus_msgs_localization_odometry_pb2.pyi +0 -0
  19. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/localization/plexus_msgs_localization_positioning_pb2.py +0 -0
  20. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/localization/plexus_msgs_localization_positioning_pb2.pyi +0 -0
  21. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/mapping/plexus_msgs_mapping_map_region_pb2.py +0 -0
  22. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/mapping/plexus_msgs_mapping_map_region_pb2.pyi +0 -0
  23. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/perception/plexus_msgs_perception_lane_detection_pb2.py +0 -0
  24. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/perception/plexus_msgs_perception_lane_detection_pb2.pyi +0 -0
  25. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/perception/plexus_msgs_perception_obstacle_detection_pb2.py +0 -0
  26. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/perception/plexus_msgs_perception_obstacle_detection_pb2.pyi +0 -0
  27. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/planning/plexus_msgs_planning_driving_trajectory_pb2.py +0 -0
  28. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/planning/plexus_msgs_planning_driving_trajectory_pb2.pyi +0 -0
  29. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/planning/plexus_msgs_planning_obstacle_threat_pb2.py +0 -0
  30. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/planning/plexus_msgs_planning_obstacle_threat_pb2.pyi +0 -0
  31. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_carto_pb2.py +0 -0
  32. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_carto_pb2.pyi +0 -0
  33. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_entity_pb2.py +0 -0
  34. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_entity_pb2.pyi +0 -0
  35. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_geom_pb2.py +0 -0
  36. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_geom_pb2.pyi +0 -0
  37. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_message_pb2.py +0 -0
  38. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_message_pb2.pyi +0 -0
  39. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_pb2.py +0 -0
  40. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_common_pb2.pyi +0 -0
  41. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_pb2.py +0 -0
  42. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/plexus_pb2.pyi +0 -0
  43. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/routing/plexus_msgs_routing_navigation_info_pb2.py +0 -0
  44. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/routing/plexus_msgs_routing_navigation_info_pb2.pyi +0 -0
  45. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/testing/plexus_msgs_testing_dummy_pb2.py +0 -0
  46. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/testing/plexus_msgs_testing_dummy_pb2.pyi +0 -0
  47. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/vehicle/plexus_msgs_vehicle_can_messages_pb2.py +0 -0
  48. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus/msgs/vehicle/plexus_msgs_vehicle_can_messages_pb2.pyi +0 -0
  49. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/SOURCES.txt +0 -0
  50. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/dependency_links.txt +0 -0
  51. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/entry_points.txt +0 -0
  52. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/not-zip-safe +0 -0
  53. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/requires.txt +0 -0
  54. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/src/plexus_msgs_python.egg-info/top_level.txt +0 -0
  55. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/test/plexus_test.py +0 -0
  56. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/test/plexus_tests/__init__.py +0 -0
  57. {plexus_msgs_python-1.0.9 → plexus_msgs_python-1.0.10}/test/plexus_tests/msgs/utils_test.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plexus-msgs-python
3
- Version: 1.0.9
3
+ Version: 1.0.10
4
4
  Summary: Python APIs and utilities for Plexus ProtoBuf messages
5
5
  Classifier: Programming Language :: Python :: 3
6
- Classifier: Programming Language :: Python :: 3.11
7
6
  Classifier: Programming Language :: Python :: 3.12
8
7
  Classifier: Programming Language :: Python :: 3.13
9
- Requires-Python: <3.14,>=3.11
8
+ Classifier: Programming Language :: Python :: 3.14
9
+ Requires-Python: <3.15,>=3.12
10
10
  Requires-Dist: jinja2>=3.0
11
11
  Requires-Dist: protobuf>=5.0
12
12
  Requires-Dist: iker-python-common>=1.0
@@ -1,7 +1,7 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools>=75.0",
4
- "setuptools-scm>=8.0",
3
+ "setuptools>=80.0",
4
+ "setuptools-scm>=9.0",
5
5
  "iker-python-setup>=1.0",
6
6
  "plexus-python-protobuf-setup>=1.0",
7
7
  ]
@@ -25,12 +25,12 @@ test = [
25
25
  name = "plexus-msgs-python"
26
26
  description = "Python APIs and utilities for Plexus ProtoBuf messages"
27
27
  dynamic = ["version"]
28
- requires-python = ">=3.11,<3.14"
28
+ requires-python = ">=3.12,<3.15"
29
29
  classifiers = [
30
30
  "Programming Language :: Python :: 3",
31
- "Programming Language :: Python :: 3.11",
32
31
  "Programming Language :: Python :: 3.12",
33
32
  "Programming Language :: Python :: 3.13",
33
+ "Programming Language :: Python :: 3.14",
34
34
  ]
35
35
  dependencies = [
36
36
  "jinja2>=3.0",
@@ -6,7 +6,7 @@ import pkgutil
6
6
  import textwrap
7
7
  from collections.abc import Callable
8
8
  from types import ModuleType
9
- from typing import Any, TypeVar
9
+ from typing import Any
10
10
 
11
11
  import jinja2
12
12
  from google.protobuf import descriptor_pool, message_factory
@@ -42,8 +42,6 @@ __all__ = [
42
42
  "copy_plexus_message_2",
43
43
  ]
44
44
 
45
- MessageT = TypeVar("MessageT", bound=Message)
46
-
47
45
 
48
46
  @singleton
49
47
  def import_plexus_msgs():
@@ -60,7 +58,7 @@ def plexus_msgs_descriptor_path() -> str:
60
58
 
61
59
 
62
60
  @memorized
63
- def get_protobuf_class(name: str) -> Callable[..., MessageT]:
61
+ def get_protobuf_class[MessageT: Message](name: str) -> Callable[..., MessageT]:
64
62
  """Returns the protobuf class for a given name"""
65
63
  import_plexus_msgs()
66
64
 
@@ -69,7 +67,7 @@ def get_protobuf_class(name: str) -> Callable[..., MessageT]:
69
67
  return message_factory.GetMessageClass(desc)
70
68
 
71
69
 
72
- def wrap_plexus_message(header: PlexusMessageHeaderProto, payload: MessageT) -> bytes:
70
+ def wrap_plexus_message[MessageT: Message](header: PlexusMessageHeaderProto, payload: MessageT) -> bytes:
73
71
  """Wraps a plexus message into a protobuf encoded string"""
74
72
  if header.payload_type != payload.DESCRIPTOR.full_name:
75
73
  raise ValueError(
@@ -83,7 +81,7 @@ def wrap_plexus_message(header: PlexusMessageHeaderProto, payload: MessageT) ->
83
81
  return plexus_message_pb.SerializeToString()
84
82
 
85
83
 
86
- def unwrap_plexus_message(data: bytes) -> tuple[PlexusMessageHeaderProto, MessageT]:
84
+ def unwrap_plexus_message[MessageT: Message](data: bytes) -> tuple[PlexusMessageHeaderProto, MessageT]:
87
85
  """Unwraps a plexus message from a protobuf encoded string"""
88
86
  plexus_message_pb = PlexusMessageProto()
89
87
  plexus_message_pb.ParseFromString(data)
@@ -501,7 +499,7 @@ def make_tailor_plexus_msg():
501
499
  tailor_plexus_msg = make_tailor_plexus_msg()
502
500
 
503
501
 
504
- def tailor_plexus_msg_2(message: MessageT):
502
+ def tailor_plexus_msg_2[MessageT: Message](message: MessageT):
505
503
  qualified_name = "." + message.DESCRIPTOR.full_name
506
504
  _, _, omitted_field_desc_map = plexus_msgs_omitted_fields().get(qualified_name, (None, None, {}))
507
505
  if not omitted_field_desc_map:
@@ -520,11 +518,11 @@ def tailor_plexus_msg_2(message: MessageT):
520
518
  return message
521
519
 
522
520
 
523
- def copy_plexus_message(message: MessageT, *, tailored: bool = False):
521
+ def copy_plexus_message[MessageT: Message](message: MessageT, *, tailored: bool = False):
524
522
  message_copy = copy.deepcopy(message)
525
523
  return tailor_plexus_msg(message_copy) if tailored else message_copy
526
524
 
527
525
 
528
- def copy_plexus_message_2(message: MessageT, *, tailored: bool = False) -> MessageT:
526
+ def copy_plexus_message_2[MessageT: Message](message: MessageT, *, tailored: bool = False) -> MessageT:
529
527
  message_copy = copy.deepcopy(message)
530
528
  return tailor_plexus_msg_2(message_copy) if tailored else message_copy
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plexus-msgs-python
3
- Version: 1.0.9
3
+ Version: 1.0.10
4
4
  Summary: Python APIs and utilities for Plexus ProtoBuf messages
5
5
  Classifier: Programming Language :: Python :: 3
6
- Classifier: Programming Language :: Python :: 3.11
7
6
  Classifier: Programming Language :: Python :: 3.12
8
7
  Classifier: Programming Language :: Python :: 3.13
9
- Requires-Python: <3.14,>=3.11
8
+ Classifier: Programming Language :: Python :: 3.14
9
+ Requires-Python: <3.15,>=3.12
10
10
  Requires-Dist: jinja2>=3.0
11
11
  Requires-Dist: protobuf>=5.0
12
12
  Requires-Dist: iker-python-common>=1.0