layrz-sdk 4.0.15__tar.gz → 4.0.17__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 (136) hide show
  1. {layrz_sdk-4.0.15/layrz_sdk.egg-info → layrz_sdk-4.0.17}/PKG-INFO +1 -1
  2. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/__init__.py +8 -0
  3. layrz_sdk-4.0.17/layrz_sdk/entities/ats_operation.py +47 -0
  4. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/ats_possible_entry.py +1 -3
  5. layrz_sdk-4.0.17/layrz_sdk/entities/ats_purchaseorder.py +65 -0
  6. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/ats_reception.py +1 -1
  7. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17/layrz_sdk.egg-info}/PKG-INFO +1 -1
  8. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk.egg-info/SOURCES.txt +2 -10
  9. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/pyproject.toml +1 -1
  10. layrz_sdk-4.0.15/.github/workflows/checks.yml +0 -50
  11. layrz_sdk-4.0.15/.github/workflows/deploy.yml +0 -32
  12. layrz_sdk-4.0.15/.gitignore +0 -19
  13. layrz_sdk-4.0.15/.vscode/extensions.json +0 -9
  14. layrz_sdk-4.0.15/CHANGELOG.md +0 -605
  15. layrz_sdk-4.0.15/CODE_OF_CONDUCT.md +0 -29
  16. layrz_sdk-4.0.15/CONTRIBUTING.md +0 -26
  17. layrz_sdk-4.0.15/manual_deploy.py +0 -12
  18. layrz_sdk-4.0.15/tests/__init__.py +0 -0
  19. layrz_sdk-4.0.15/uv.lock +0 -749
  20. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/LICENSE +0 -0
  21. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/README.md +0 -0
  22. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/__init__.py +0 -0
  23. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/constants.py +0 -0
  24. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/decorators/__init__.py +0 -0
  25. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/decorators/func_timing.py +0 -0
  26. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/action.py +0 -0
  27. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/action_geofence_ownership.py +0 -0
  28. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/action_kind.py +0 -0
  29. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/action_subkind.py +0 -0
  30. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/asset.py +0 -0
  31. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/asset_constants.py +0 -0
  32. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/asset_contact.py +0 -0
  33. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/asset_operation_mode.py +0 -0
  34. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/ats_entry.py +0 -0
  35. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/ats_exit_history.py +0 -0
  36. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/ats_possible_exit.py +0 -0
  37. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/__init__.py +0 -0
  38. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/payload.py +0 -0
  39. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/request.py +0 -0
  40. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/response.py +0 -0
  41. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/result.py +0 -0
  42. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/service.py +0 -0
  43. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/broadcast/status.py +0 -0
  44. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/case.py +0 -0
  45. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/case_ignored_status.py +0 -0
  46. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/case_status.py +0 -0
  47. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/axis_config.py +0 -0
  48. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/bar_chart.py +0 -0
  49. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
  50. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_color.py +0 -0
  51. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
  52. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
  53. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
  54. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
  55. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
  56. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/column_chart.py +0 -0
  57. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/html_chart.py +0 -0
  58. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/line_chart.py +0 -0
  59. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/map_center_type.py +0 -0
  60. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/map_chart.py +0 -0
  61. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/map_point.py +0 -0
  62. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/number_chart.py +0 -0
  63. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/pie_chart.py +0 -0
  64. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/radar_chart.py +0 -0
  65. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
  66. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
  67. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
  68. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
  69. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/table_chart.py +0 -0
  70. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/table_header.py +0 -0
  71. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/table_row.py +0 -0
  72. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
  73. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
  74. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
  75. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/checkpoint.py +0 -0
  76. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/command_series_ticket.py +0 -0
  77. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/comment.py +0 -0
  78. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/custom_field.py +0 -0
  79. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/custom_report_page.py +0 -0
  80. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/destination_phone.py +0 -0
  81. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/device.py +0 -0
  82. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/event.py +0 -0
  83. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/exchange_service.py +0 -0
  84. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/function.py +0 -0
  85. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/geofence.py +0 -0
  86. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/geofence_category.py +0 -0
  87. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/last_message.py +0 -0
  88. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/message.py +0 -0
  89. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/__init__.py +0 -0
  90. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/config.py +0 -0
  91. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/parameter.py +0 -0
  92. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/schema.py +0 -0
  93. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/status.py +0 -0
  94. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/modbus/wait.py +0 -0
  95. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/notification_type.py +0 -0
  96. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/operation.py +0 -0
  97. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/operation_case_payload.py +0 -0
  98. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/operation_payload.py +0 -0
  99. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/operation_type.py +0 -0
  100. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/outbound_service.py +0 -0
  101. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/platform.py +0 -0
  102. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/position.py +0 -0
  103. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/presence_type.py +0 -0
  104. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/preset.py +0 -0
  105. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report.py +0 -0
  106. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_col.py +0 -0
  107. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_configuration.py +0 -0
  108. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_data_type.py +0 -0
  109. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_format.py +0 -0
  110. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_header.py +0 -0
  111. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_page.py +0 -0
  112. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/report_row.py +0 -0
  113. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/request_type.py +0 -0
  114. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/sensor.py +0 -0
  115. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/sound_effect.py +0 -0
  116. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/static_position.py +0 -0
  117. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  118. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/telemetry/assetmessage.py +0 -0
  119. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/telemetry/devicemessage.py +0 -0
  120. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/text_alignment.py +0 -0
  121. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/timezone.py +0 -0
  122. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/trigger.py +0 -0
  123. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/trigger_kind.py +0 -0
  124. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/user.py +0 -0
  125. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/waypoint.py +0 -0
  126. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/entities/weekday.py +0 -0
  127. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/helpers/__init__.py +0 -0
  128. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/helpers/color.py +0 -0
  129. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/lcl/__init__.py +0 -0
  130. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/lcl/core.py +0 -0
  131. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk/py.typed +0 -0
  132. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  133. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk.egg-info/requires.txt +0 -0
  134. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/layrz_sdk.egg-info/top_level.txt +0 -0
  135. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/setup.cfg +0 -0
  136. {layrz_sdk-4.0.15 → layrz_sdk-4.0.17}/tests/test_lcl.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 4.0.15
3
+ Version: 4.0.17
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>
@@ -10,8 +10,10 @@ from .asset_contact import AssetContact
10
10
  from .asset_operation_mode import AssetOperationMode
11
11
  from .ats_entry import AtsEntry
12
12
  from .ats_exit_history import AtsExitExecutionHistory
13
+ from .ats_operation import AtsOperation, AtsOperationMovement
13
14
  from .ats_possible_entry import AtsPossibleEntry
14
15
  from .ats_possible_exit import AtsPossibleExit
16
+ from .ats_purchaseorder import AtsPurchaseOrder, DeliveryCategories, OrderCategories, OrderStatus
15
17
  from .ats_reception import AtsReception
16
18
  from .broadcast import (
17
19
  BroadcastPayload,
@@ -208,4 +210,10 @@ __all__ = [
208
210
  'WaypointKind',
209
211
  'WaypointRef',
210
212
  'Weekday',
213
+ 'AtsPurchaseOrder',
214
+ 'DeliveryCategories',
215
+ 'OrderCategories',
216
+ 'OrderStatus',
217
+ 'AtsOperationMovement',
218
+ 'AtsOperation',
211
219
  ]
@@ -0,0 +1,47 @@
1
+ """Entry entity"""
2
+
3
+ from datetime import datetime
4
+ from enum import StrEnum
5
+
6
+ from pydantic import BaseModel, Field
7
+
8
+ from .ats_purchaseorder import AtsPurchaseOrder, DeliveryCategories, OrderCategories, OrderStatus
9
+
10
+
11
+ class AtsOperationMovement(BaseModel):
12
+ """Ats operation movement entity"""
13
+
14
+ model_config = {
15
+ 'json_encoders': {
16
+ datetime: lambda v: v.timestamp(),
17
+ OrderStatus: lambda v: v.value,
18
+ },
19
+ }
20
+ pk: int = Field(description='Defines the primary key of the Function', alias='id')
21
+ status: OrderStatus = Field(..., description='Current status of the order')
22
+ created_at: datetime = Field(description='Timestamp when the operation movement was created')
23
+ asset_id: int | None = Field(description='ID of the asset', default=None)
24
+ operation_id: int = Field(description='ID of the operation')
25
+
26
+
27
+ class AtsOperation(BaseModel):
28
+ """Entry entity"""
29
+
30
+ model_config = {
31
+ 'json_encoders': {
32
+ datetime: lambda v: v.timestamp(),
33
+ OrderStatus: lambda v: v.value,
34
+ OrderCategories: lambda v: v.value,
35
+ DeliveryCategories: lambda v: v.value,
36
+ },
37
+ }
38
+ pk: int = Field(description='Defines the primary key of the Function', alias='id')
39
+ purchased_at: datetime = Field(description='Timestamp when the operation was purchased')
40
+ order_status: OrderStatus = Field(..., description='Current status of the order')
41
+ category: OrderCategories = Field(..., description='Category of the operation')
42
+ deliver_category: DeliveryCategories = Field(..., description='Delivery category of the operation')
43
+ seller_asset_id: int = Field(description='ID of the seller asset')
44
+ transport_asset_id: int = Field(description='ID of the transport asset')
45
+ finished_at: datetime | None = Field(description='Timestamp when the operation was finished', default=None)
46
+ history: list[AtsOperationMovement] = Field(description='List of operation movements')
47
+ purchase_orders: list[AtsPurchaseOrder] = Field(description='List of purchase orders')
@@ -24,6 +24,4 @@ class AtsPossibleEntry(BaseModel):
24
24
  )
25
25
  is_ready_by_reception: bool | None = Field(description='Indicates if the entry is ready by reception', default=False)
26
26
  false_positive_count: int = Field(description='Count of false positives for the entry', default=0)
27
- reception_id: int | None = Field(
28
- description='Reception ID associated with the entry', default=None, alias='receptionId'
29
- )
27
+ reception_id: int | None = Field(description='Reception ID associated with the entry', default=None)
@@ -0,0 +1,65 @@
1
+ """Entry entity"""
2
+
3
+ from datetime import datetime
4
+ from enum import StrEnum
5
+
6
+ from pydantic import BaseModel, Field
7
+
8
+
9
+ class OrderStatus(StrEnum):
10
+ GENERATED = 'GENERATED'
11
+ IN_TRANSIT = 'IN_TRANSIT'
12
+ WAITING_TO_DISPATCH = 'WAITING_TO_DISPATCH' # For trucks
13
+ DELIVERED = 'DELIVERED'
14
+ # For the purchase order status in the port
15
+ READY_TO_OPERATE = 'READY_TO_OPERATE'
16
+ UNLOADING_OPERATION = 'UNLOADING_OPERATION'
17
+ UNLOADING_FUEL = 'UNLOADING_FUEL'
18
+ UNLOADING_FUEL_INTERRUPTED = 'UNLOADING_FUEL_INTERRUPTED'
19
+ DESTINATION_BERTH_EXIT = 'DESTINATION_BERTH_EXIT'
20
+ ORIGIN_BERTH_EXIT = 'ORIGIN_BERTH_EXIT'
21
+
22
+
23
+ class OrderCategories(StrEnum):
24
+ PICKUP = 'PICKUP'
25
+ PICKUP_TO_SUPPLIER = 'PICKUP_TO_SUPPLIER'
26
+ TRANSFER = 'TRANSFER'
27
+ DELIVERY_TO_SUPPLIER = 'DELIVERY_TO_SUPPLIER'
28
+ DELIVERY_TO_RESELLER = 'DELIVERY_TO_RESELLER'
29
+ FOR_SALE_OUTSIDE = 'FOR_SALE_OUTSIDE'
30
+ DELIVERY_TO_STORAGE = 'DELIVERY_TO_STORAGE'
31
+ RETURN_FROM_STORAGE = 'RETURN_FROM_STORAGE'
32
+ NOT_DEFINED = 'NOT_DEFINED'
33
+
34
+
35
+ class DeliveryCategories(StrEnum):
36
+ SAME_STATE = 'SAME_STATE'
37
+ OTHER_STATE = 'OTHER_STATE'
38
+ NOT_DEFINED = 'NOT_DEFINED'
39
+
40
+
41
+ class AtsPurchaseOrder(BaseModel):
42
+ """Entry entity"""
43
+
44
+ model_config = {
45
+ 'json_encoders': {
46
+ datetime: lambda v: v.timestamp(),
47
+ OrderStatus: lambda v: v.value,
48
+ OrderCategories: lambda v: v.value,
49
+ DeliveryCategories: lambda v: v.value,
50
+ },
51
+ }
52
+ pk: int = Field(description='Defines the primary key of the Function', alias='id')
53
+ purchased_at: datetime = Field(description='Timestamp when the operation was purchased')
54
+ order_status: OrderStatus = Field(..., description='Current status of the order')
55
+ order_id: int = Field(description='ID of the order')
56
+ category: OrderCategories | None = Field(description='Category of the operation', default=None)
57
+ deliver_category: DeliveryCategories | None = Field(description='Delivery category of the operation', default=None)
58
+ seller_asset_id: int = Field(description='ID of the seller asset')
59
+ transport_asset_id: int | None = Field(description='ID of the transport asset', default=None)
60
+ asset_id: int = Field(description='ID of the asset')
61
+ delivered_at: datetime | None = Field(description='Timestamp when the operation was delivered', default=None)
62
+ eta: datetime | None = Field(description='Estimated time of arrival to the destination', default=None)
63
+ eta_updated_at: datetime | None = Field(description='Timestamp when the ETA was last updated', default=None)
64
+ invoice_type: str = Field(description='Type of the invoice')
65
+ operation_id: int | None = Field(description='ID of the operation', default=None)
@@ -10,7 +10,7 @@ from layrz_sdk.constants import UTC
10
10
  class AtsReception(BaseModel):
11
11
  """AtsReception entity"""
12
12
 
13
- pk: int = Field(description='Defines the primary key of the AtsReception')
13
+ pk: int = Field(description='Defines the primary key of the AtsReception', alias='id')
14
14
  volume_bought: float = Field(
15
15
  description='Volume bought in liters',
16
16
  default=0.0,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 4.0.15
3
+ Version: 4.0.17
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,15 +1,6 @@
1
- .gitignore
2
- CHANGELOG.md
3
- CODE_OF_CONDUCT.md
4
- CONTRIBUTING.md
5
1
  LICENSE
6
2
  README.md
7
- manual_deploy.py
8
3
  pyproject.toml
9
- uv.lock
10
- .github/workflows/checks.yml
11
- .github/workflows/deploy.yml
12
- .vscode/extensions.json
13
4
  layrz_sdk/__init__.py
14
5
  layrz_sdk/constants.py
15
6
  layrz_sdk/py.typed
@@ -31,8 +22,10 @@ layrz_sdk/entities/asset_contact.py
31
22
  layrz_sdk/entities/asset_operation_mode.py
32
23
  layrz_sdk/entities/ats_entry.py
33
24
  layrz_sdk/entities/ats_exit_history.py
25
+ layrz_sdk/entities/ats_operation.py
34
26
  layrz_sdk/entities/ats_possible_entry.py
35
27
  layrz_sdk/entities/ats_possible_exit.py
28
+ layrz_sdk/entities/ats_purchaseorder.py
36
29
  layrz_sdk/entities/ats_reception.py
37
30
  layrz_sdk/entities/case.py
38
31
  layrz_sdk/entities/case_ignored_status.py
@@ -128,5 +121,4 @@ layrz_sdk/helpers/__init__.py
128
121
  layrz_sdk/helpers/color.py
129
122
  layrz_sdk/lcl/__init__.py
130
123
  layrz_sdk/lcl/core.py
131
- tests/__init__.py
132
124
  tests/test_lcl.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "layrz-sdk"
3
- version = "4.0.15"
3
+ version = "4.0.17"
4
4
  description = "Layrz SDK for Python"
5
5
  authors = [{ name = "Golden M, Inc.", email = "software@goldenm.com" }]
6
6
  requires-python = ">=3.13"
@@ -1,50 +0,0 @@
1
- name: "Checks before merging"
2
-
3
- on:
4
- pull_request:
5
- types:
6
- - opened
7
- - synchronize
8
- - reopened
9
- branches:
10
- - '*'
11
-
12
- jobs:
13
- lint:
14
- runs-on: ubuntu-latest
15
- container:
16
- image: ghcr.io/goldenm-software/python-builder:uv-3.13-x86
17
- options: --user root
18
- credentials:
19
- username: ${{ github.repository_owner }}
20
- password: ${{ secrets.GITHUB_TOKEN }}
21
-
22
- steps:
23
- - name: Checkout
24
- uses: actions/checkout@v4
25
-
26
- - name: Lint
27
- run: |
28
- uv sync --only-group dev
29
- uv run ruff check
30
- uv run mypy .
31
-
32
- uniitest:
33
- needs: lint
34
- runs-on: ubuntu-latest
35
- container:
36
- image: ghcr.io/goldenm-software/python-builder:uv-3.13-x86
37
- options: --user root
38
- credentials:
39
- username: ${{ github.repository_owner }}
40
- password: ${{ secrets.GITHUB_TOKEN }}
41
-
42
- steps:
43
- - name: Checkout
44
- uses: actions/checkout@v4
45
-
46
- - name: Install dependencies
47
- run: |
48
- uv sync
49
- uv run pytest ./tests/
50
-
@@ -1,32 +0,0 @@
1
- name: "Deploy package"
2
-
3
- on:
4
- push:
5
- branches: [ "main" ]
6
-
7
- jobs:
8
- build:
9
- permissions:
10
- id-token: write
11
- contents: read
12
- repository-projects: read
13
- packages: read
14
-
15
- runs-on: ubuntu-latest
16
- container:
17
- image: ghcr.io/goldenm-software/python-builder:uv-3.13-x86
18
- options: --user root
19
- credentials:
20
- username: ${{ github.repository_owner }}
21
- password: ${{ secrets.GITHUB_TOKEN }}
22
-
23
- steps:
24
- - name: Checkout
25
- uses: actions/checkout@v4
26
-
27
- - name: Build and upload
28
- run: |
29
- uv venv --python 3.13
30
- uv sync --only-group dev
31
- uv run python -m build
32
- uv run python -m twine upload -u ${{ secrets.LAYRZ_PYPI_USERNAME }} -p ${{ secrets.LAYRZ_PYPI_PASSWORD }} dist/*
@@ -1,19 +0,0 @@
1
- /dist
2
- /build
3
- /*.egg-info
4
- /.pypirc
5
- /test.py
6
- /**/*.pyc
7
- /.venv
8
- /site
9
-
10
- /**/*/__pycache__
11
-
12
- tests.py
13
- *.xlsx
14
-
15
- .ruff_cache
16
- .mypy_cache
17
- .pytest_cache
18
-
19
- .env
@@ -1,9 +0,0 @@
1
- {
2
- "recommendations": [
3
- "ms-python.python",
4
- "charliermarsh.ruff",
5
- "ms-python.vscode-pylance",
6
- "njpwerner.autodocstring",
7
- "oderwat.indent-rainbow"
8
- ]
9
- }