layrz-sdk 4.0.28__tar.gz → 4.0.30__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.

Potentially problematic release.


This version of layrz-sdk might be problematic. Click here for more details.

Files changed (138) hide show
  1. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/CHANGELOG.md +8 -0
  2. {layrz_sdk-4.0.28/layrz_sdk.egg-info → layrz_sdk-4.0.30}/PKG-INFO +1 -1
  3. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/locator.py +26 -1
  4. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30/layrz_sdk.egg-info}/PKG-INFO +1 -1
  5. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/pyproject.toml +1 -1
  6. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/uv.lock +1 -1
  7. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/.github/workflows/checks.yml +0 -0
  8. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/.github/workflows/deploy.yml +0 -0
  9. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/.gitignore +0 -0
  10. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/.vscode/extensions.json +0 -0
  11. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/CODE_OF_CONDUCT.md +0 -0
  12. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/CONTRIBUTING.md +0 -0
  13. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/LICENSE +0 -0
  14. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/README.md +0 -0
  15. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/__init__.py +0 -0
  16. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/constants.py +0 -0
  17. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/decorators/__init__.py +0 -0
  18. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/decorators/func_timing.py +0 -0
  19. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/__init__.py +0 -0
  20. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/action.py +0 -0
  21. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/action_geofence_ownership.py +0 -0
  22. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/action_kind.py +0 -0
  23. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/action_subkind.py +0 -0
  24. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/asset.py +0 -0
  25. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/asset_constants.py +0 -0
  26. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/asset_contact.py +0 -0
  27. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/asset_operation_mode.py +0 -0
  28. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_entry.py +0 -0
  29. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_exit_history.py +0 -0
  30. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_operation.py +0 -0
  31. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_possible_entry.py +0 -0
  32. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_possible_exit.py +0 -0
  33. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_purchaseorder.py +0 -0
  34. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/ats_reception.py +0 -0
  35. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/__init__.py +0 -0
  36. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/payload.py +0 -0
  37. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/request.py +0 -0
  38. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/response.py +0 -0
  39. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/result.py +0 -0
  40. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/service.py +0 -0
  41. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/broadcast/status.py +0 -0
  42. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/case.py +0 -0
  43. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/case_ignored_status.py +0 -0
  44. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/case_status.py +0 -0
  45. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/axis_config.py +0 -0
  46. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/bar_chart.py +0 -0
  47. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
  48. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_color.py +0 -0
  49. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
  50. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
  51. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
  52. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
  53. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
  54. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/column_chart.py +0 -0
  55. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/html_chart.py +0 -0
  56. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/line_chart.py +0 -0
  57. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/map_center_type.py +0 -0
  58. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/map_chart.py +0 -0
  59. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/map_point.py +0 -0
  60. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/number_chart.py +0 -0
  61. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/pie_chart.py +0 -0
  62. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/radar_chart.py +0 -0
  63. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
  64. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
  65. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
  66. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
  67. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/table_chart.py +0 -0
  68. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/table_header.py +0 -0
  69. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/table_row.py +0 -0
  70. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
  71. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
  72. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
  73. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/checkpoint.py +0 -0
  74. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/command_series_ticket.py +0 -0
  75. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/comment.py +0 -0
  76. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/custom_field.py +0 -0
  77. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/custom_report_page.py +0 -0
  78. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/destination_phone.py +0 -0
  79. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/device.py +0 -0
  80. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/event.py +0 -0
  81. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/exchange_service.py +0 -0
  82. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/function.py +0 -0
  83. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/geofence.py +0 -0
  84. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/geofence_category.py +0 -0
  85. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/last_message.py +0 -0
  86. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/message.py +0 -0
  87. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/__init__.py +0 -0
  88. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/config.py +0 -0
  89. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/parameter.py +0 -0
  90. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/schema.py +0 -0
  91. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/status.py +0 -0
  92. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/modbus/wait.py +0 -0
  93. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/notification_type.py +0 -0
  94. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/operation.py +0 -0
  95. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/operation_case_payload.py +0 -0
  96. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/operation_payload.py +0 -0
  97. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/operation_type.py +0 -0
  98. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/outbound_service.py +0 -0
  99. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/platform.py +0 -0
  100. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/position.py +0 -0
  101. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/presence_type.py +0 -0
  102. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/preset.py +0 -0
  103. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report.py +0 -0
  104. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_col.py +0 -0
  105. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_configuration.py +0 -0
  106. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_data_type.py +0 -0
  107. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_format.py +0 -0
  108. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_header.py +0 -0
  109. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_page.py +0 -0
  110. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/report_row.py +0 -0
  111. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/request_type.py +0 -0
  112. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/sensor.py +0 -0
  113. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/sensor_mask.py +0 -0
  114. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/sound_effect.py +0 -0
  115. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/static_position.py +0 -0
  116. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  117. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/telemetry/assetmessage.py +0 -0
  118. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/telemetry/devicemessage.py +0 -0
  119. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/text_alignment.py +0 -0
  120. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/timezone.py +0 -0
  121. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/trigger.py +0 -0
  122. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/trigger_kind.py +0 -0
  123. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/user.py +0 -0
  124. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/waypoint.py +0 -0
  125. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/entities/weekday.py +0 -0
  126. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/helpers/__init__.py +0 -0
  127. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/helpers/color.py +0 -0
  128. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/lcl/__init__.py +0 -0
  129. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/lcl/core.py +0 -0
  130. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk/py.typed +0 -0
  131. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk.egg-info/SOURCES.txt +0 -0
  132. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  133. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk.egg-info/requires.txt +0 -0
  134. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/layrz_sdk.egg-info/top_level.txt +0 -0
  135. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/manual_deploy.py +0 -0
  136. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/setup.cfg +0 -0
  137. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/tests/__init__.py +0 -0
  138. {layrz_sdk-4.0.28 → layrz_sdk-4.0.30}/tests/test_lcl.py +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.0.30
4
+
5
+ - Added a validation for `pk` field in `Locator` entity to ensure it is always a string, converting from `int` or `UUID` if necessary.
6
+
7
+ ## 4.0.29
8
+
9
+ - Added `created_at` and `updated_at` fields to `Locator` entity to track creation and last update timestamps.
10
+
3
11
  ## 4.0.28
4
12
 
5
13
  - Added `owner_id` field to `Locator` entity to represent the owner of the locator.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 4.0.28
3
+ Version: 4.0.30
4
4
  Summary: Layrz SDK for Python
5
5
  Author-email: "Golden M, Inc." <software@goldenm.com>
6
6
  Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>, Miguel Zauzich <miguel@goldenm.com>, Angel Prieto <aprieto@goldenm.com>
@@ -1,6 +1,8 @@
1
1
  from datetime import datetime
2
+ from typing import Any
3
+ from uuid import UUID
2
4
 
3
- from pydantic import BaseModel, Field, field_serializer
5
+ from pydantic import BaseModel, Field, field_serializer, field_validator
4
6
 
5
7
  from .asset import Asset
6
8
  from .geofence import Geofence
@@ -17,9 +19,32 @@ class LocatorMqttConfig(BaseModel):
17
19
 
18
20
  class Locator(BaseModel):
19
21
  pk: str = Field(..., description='Defines the primary key of the locator', alias='id')
22
+
23
+ @field_validator('pk', mode='before')
24
+ def validate_pk(cls, v: Any) -> str:
25
+ if isinstance(v, int):
26
+ return str(v)
27
+ if isinstance(v, str):
28
+ return v
29
+ if isinstance(v, UUID):
30
+ return str(v)
31
+ raise ValueError('Invalid type for pk')
32
+
20
33
  token: str = Field(..., description='Defines the token of the locator')
21
34
  owner_id: int = Field(..., description='Defines the owner ID of the locator')
22
35
 
36
+ created_at: datetime = Field(..., description='Defines the creation date of the locator')
37
+
38
+ @field_serializer('created_at', when_used='always')
39
+ def serialize_created_at(self, created_at: datetime) -> float:
40
+ return created_at.timestamp()
41
+
42
+ updated_at: datetime = Field(..., description='Defines the last update date of the locator')
43
+
44
+ @field_serializer('updated_at', when_used='always')
45
+ def serialize_updated_at(self, updated_at: datetime) -> float:
46
+ return updated_at.timestamp()
47
+
23
48
  mqtt_config: LocatorMqttConfig | None = Field(..., description='Defines the MQTT configuration of the locator')
24
49
  assets: list[Asset] = Field(
25
50
  default_factory=list,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 4.0.28
3
+ Version: 4.0.30
4
4
  Summary: Layrz SDK for Python
5
5
  Author-email: "Golden M, Inc." <software@goldenm.com>
6
6
  Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>, Miguel Zauzich <miguel@goldenm.com>, Angel Prieto <aprieto@goldenm.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "layrz-sdk"
3
- version = "4.0.28"
3
+ version = "4.0.30"
4
4
  description = "Layrz SDK for Python"
5
5
  authors = [{ name = "Golden M, Inc.", email = "software@goldenm.com" }]
6
6
  requires-python = ">=3.13"
@@ -233,7 +233,7 @@ wheels = [
233
233
 
234
234
  [[package]]
235
235
  name = "layrz-sdk"
236
- version = "4.0.28"
236
+ version = "4.0.30"
237
237
  source = { editable = "." }
238
238
  dependencies = [
239
239
  { name = "geopy" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes