layrz-sdk 4.0.12__tar.gz → 4.0.14__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 (135) hide show
  1. {layrz_sdk-4.0.12/layrz_sdk.egg-info → layrz_sdk-4.0.14}/PKG-INFO +1 -1
  2. layrz_sdk-4.0.14/layrz_sdk/decorators/__init__.py +5 -0
  3. layrz_sdk-4.0.14/layrz_sdk/decorators/func_timing.py +96 -0
  4. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/asset.py +5 -0
  5. layrz_sdk-4.0.14/layrz_sdk/entities/broadcast/result.py +49 -0
  6. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/status.py +2 -2
  7. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14/layrz_sdk.egg-info}/PKG-INFO +1 -1
  8. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk.egg-info/SOURCES.txt +2 -10
  9. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/pyproject.toml +1 -1
  10. layrz_sdk-4.0.12/.github/workflows/checks.yml +0 -50
  11. layrz_sdk-4.0.12/.github/workflows/deploy.yml +0 -32
  12. layrz_sdk-4.0.12/.gitignore +0 -19
  13. layrz_sdk-4.0.12/.vscode/extensions.json +0 -9
  14. layrz_sdk-4.0.12/CHANGELOG.md +0 -593
  15. layrz_sdk-4.0.12/CODE_OF_CONDUCT.md +0 -29
  16. layrz_sdk-4.0.12/CONTRIBUTING.md +0 -26
  17. layrz_sdk-4.0.12/layrz_sdk/entities/broadcast/result.py +0 -20
  18. layrz_sdk-4.0.12/manual_deploy.py +0 -12
  19. layrz_sdk-4.0.12/tests/__init__.py +0 -0
  20. layrz_sdk-4.0.12/uv.lock +0 -749
  21. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/LICENSE +0 -0
  22. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/README.md +0 -0
  23. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/__init__.py +0 -0
  24. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/constants.py +0 -0
  25. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/__init__.py +0 -0
  26. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/action.py +0 -0
  27. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/action_geofence_ownership.py +0 -0
  28. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/action_kind.py +0 -0
  29. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/action_subkind.py +0 -0
  30. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/asset_constants.py +0 -0
  31. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/asset_contact.py +0 -0
  32. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/asset_operation_mode.py +0 -0
  33. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/ats_entry.py +0 -0
  34. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/ats_exit_history.py +0 -0
  35. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/ats_possible_entry.py +0 -0
  36. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/ats_possible_exit.py +0 -0
  37. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/ats_reception.py +0 -0
  38. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/__init__.py +0 -0
  39. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/payload.py +0 -0
  40. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/request.py +0 -0
  41. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/response.py +0 -0
  42. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/broadcast/service.py +0 -0
  43. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/case.py +0 -0
  44. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/case_ignored_status.py +0 -0
  45. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/case_status.py +0 -0
  46. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/axis_config.py +0 -0
  47. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/bar_chart.py +0 -0
  48. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
  49. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_color.py +0 -0
  50. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
  51. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
  52. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
  53. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
  54. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
  55. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/column_chart.py +0 -0
  56. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/html_chart.py +0 -0
  57. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/line_chart.py +0 -0
  58. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/map_center_type.py +0 -0
  59. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/map_chart.py +0 -0
  60. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/map_point.py +0 -0
  61. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/number_chart.py +0 -0
  62. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/pie_chart.py +0 -0
  63. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/radar_chart.py +0 -0
  64. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
  65. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
  66. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
  67. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
  68. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/table_chart.py +0 -0
  69. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/table_header.py +0 -0
  70. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/table_row.py +0 -0
  71. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
  72. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
  73. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
  74. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/checkpoint.py +0 -0
  75. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/command_series_ticket.py +0 -0
  76. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/comment.py +0 -0
  77. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/custom_field.py +0 -0
  78. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/custom_report_page.py +0 -0
  79. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/destination_phone.py +0 -0
  80. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/device.py +0 -0
  81. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/event.py +0 -0
  82. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/exchange_service.py +0 -0
  83. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/function.py +0 -0
  84. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/geofence.py +0 -0
  85. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/geofence_category.py +0 -0
  86. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/last_message.py +0 -0
  87. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/message.py +0 -0
  88. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/__init__.py +0 -0
  89. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/config.py +0 -0
  90. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/parameter.py +0 -0
  91. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/schema.py +0 -0
  92. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/status.py +0 -0
  93. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/modbus/wait.py +0 -0
  94. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/notification_type.py +0 -0
  95. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/operation.py +0 -0
  96. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/operation_case_payload.py +0 -0
  97. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/operation_payload.py +0 -0
  98. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/operation_type.py +0 -0
  99. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/outbound_service.py +0 -0
  100. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/platform.py +0 -0
  101. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/position.py +0 -0
  102. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/presence_type.py +0 -0
  103. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/preset.py +0 -0
  104. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report.py +0 -0
  105. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_col.py +0 -0
  106. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_configuration.py +0 -0
  107. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_data_type.py +0 -0
  108. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_format.py +0 -0
  109. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_header.py +0 -0
  110. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_page.py +0 -0
  111. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/report_row.py +0 -0
  112. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/request_type.py +0 -0
  113. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/sensor.py +0 -0
  114. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/sound_effect.py +0 -0
  115. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/static_position.py +0 -0
  116. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  117. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/telemetry/assetmessage.py +0 -0
  118. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/telemetry/devicemessage.py +0 -0
  119. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/text_alignment.py +0 -0
  120. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/timezone.py +0 -0
  121. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/trigger.py +0 -0
  122. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/trigger_kind.py +0 -0
  123. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/user.py +0 -0
  124. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/waypoint.py +0 -0
  125. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/entities/weekday.py +0 -0
  126. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/helpers/__init__.py +0 -0
  127. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/helpers/color.py +0 -0
  128. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/lcl/__init__.py +0 -0
  129. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/lcl/core.py +0 -0
  130. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk/py.typed +0 -0
  131. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  132. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk.egg-info/requires.txt +0 -0
  133. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/layrz_sdk.egg-info/top_level.txt +0 -0
  134. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/setup.cfg +0 -0
  135. {layrz_sdk-4.0.12 → layrz_sdk-4.0.14}/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.12
3
+ Version: 4.0.14
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>
@@ -0,0 +1,5 @@
1
+ """decorators"""
2
+
3
+ from .func_timing import func_timing
4
+
5
+ __all__ = ['func_timing']
@@ -0,0 +1,96 @@
1
+ """Timing decorator"""
2
+
3
+ import asyncio
4
+ import logging
5
+ import os
6
+ from collections.abc import Callable
7
+ from functools import wraps
8
+ from typing import Any, ParamSpec, TypeVar, overload
9
+
10
+ T = TypeVar('T')
11
+ P = ParamSpec('P')
12
+
13
+ log = logging.getLogger(__name__)
14
+
15
+ SHOULD_DISPLAY = os.environ.get('LAYRZ_SDK_DISPLAY_TIMING', '1') == '1'
16
+
17
+
18
+ @overload
19
+ def func_timing(func: Callable[P, T]) -> Callable[P, T]: ...
20
+
21
+
22
+ @overload
23
+ def func_timing(*, depth: int) -> Callable[[Callable[P, T]], Callable[P, T]]: ...
24
+
25
+
26
+ def func_timing(
27
+ func: Callable[P, T] | None = None,
28
+ *,
29
+ depth: int = 0,
30
+ ) -> Any:
31
+ """
32
+ Decorator to time a function execution.
33
+
34
+ :param depth: The depth of the function call for logging indentation.
35
+ :return: The wrapped function with timing functionality.
36
+ """
37
+
38
+ def decorator(func: Callable[P, T]) -> Callable[P, T]:
39
+ """Decorator to time a function"""
40
+ import time
41
+
42
+ prefix = '\t' * depth
43
+
44
+ @wraps(func)
45
+ async def async_wrapper(*args: P.args, **kwargs: P.kwargs) -> T:
46
+ start_time = time.perf_counter_ns()
47
+ result: T = await func(*args, **kwargs) # type: ignore
48
+ diff = time.perf_counter_ns() - start_time
49
+
50
+ if SHOULD_DISPLAY:
51
+ log.info(f'{prefix}{func.__name__}() took {_readable_time(diff)}')
52
+
53
+ return result
54
+
55
+ @wraps(func)
56
+ def sync_wrapper(*args: P.args, **kwargs: P.kwargs) -> T:
57
+ start_time = time.perf_counter_ns()
58
+ result = func(*args, **kwargs)
59
+ diff = time.perf_counter_ns() - start_time
60
+
61
+ if SHOULD_DISPLAY:
62
+ log.info(f'{prefix}{func.__name__}() took {_readable_time(diff)}')
63
+
64
+ return result
65
+
66
+ if asyncio.iscoroutinefunction(func):
67
+ return async_wrapper # type: ignore
68
+ return sync_wrapper
69
+
70
+ if func is None:
71
+ return decorator
72
+ return decorator(func)
73
+
74
+
75
+ def _readable_time(diff: int) -> str:
76
+ """Convert nanoseconds to a readable format"""
77
+ if diff < 1_000:
78
+ return f'{diff} ns'
79
+
80
+ diff = diff // 1_000
81
+ if diff < 1_000:
82
+ return f'{diff} μs'
83
+
84
+ diff = diff // 1_000
85
+ if diff < 1_000:
86
+ return f'{diff} ms'
87
+
88
+ diff = diff // 1_000
89
+ if diff < 60:
90
+ return f'{diff} s'
91
+
92
+ diff = diff // 60
93
+ if diff < 60:
94
+ return f'{diff} m'
95
+
96
+ return f'{diff // 60} h'
@@ -104,3 +104,8 @@ class Asset(BaseModel):
104
104
  def asset_type(self: Self) -> int | None:
105
105
  """Get asset type"""
106
106
  return self.kind_id
107
+
108
+ partition_number: int | None = Field(
109
+ default=None,
110
+ description='Partition number assigned for this Asset, if is None, will be auto-assigned by the system',
111
+ )
@@ -0,0 +1,49 @@
1
+ """Broadcast result"""
2
+
3
+ from datetime import datetime
4
+ from typing import Any
5
+
6
+ from pydantic import BaseModel, Field
7
+
8
+ from .request import BroadcastRequest
9
+ from .response import BroadcastResponse
10
+ from .status import BroadcastStatus
11
+
12
+
13
+ class BroadcastResult(BaseModel):
14
+ """Broadcast result data"""
15
+
16
+ pk: int | None = Field(default=None, description='Broadcast result ID', alias='id')
17
+ trigger_id: int | None = Field(default=None, description='Trigger ID')
18
+
19
+ service_id: int = Field(description='Service ID')
20
+ asset_id: int = Field(description='Asset ID')
21
+ status: BroadcastStatus = Field(description='Broadcast status')
22
+ request: BroadcastRequest = Field(description='Broadcast request')
23
+ response: BroadcastResponse = Field(description='Broadcast response')
24
+ submitted_at: datetime = Field(description='Broadcast submission date')
25
+
26
+ algorithm: str | None = Field(
27
+ default=None,
28
+ description='Algorithm used for the broadcast, if any',
29
+ )
30
+
31
+ error: dict[str, Any] = Field(
32
+ default_factory=dict,
33
+ description='Error message if the broadcast failed',
34
+ )
35
+
36
+ service: dict[str, Any] = Field(
37
+ default_factory=dict,
38
+ description='Service details at the time of the broadcast',
39
+ )
40
+
41
+ asset: dict[str, Any] = Field(
42
+ default_factory=dict,
43
+ description='Asset details at the time of the broadcast',
44
+ )
45
+
46
+ trigger: dict[str, Any] = Field(
47
+ default_factory=dict,
48
+ description='Trigger details at the time of the broadcast',
49
+ )
@@ -8,8 +8,8 @@ class BroadcastStatus(StrEnum):
8
8
  """Broadcast result status"""
9
9
 
10
10
  OK = 'OK'
11
- BADREQUEST = 'BADREQUEST'
12
- INTERNALERROR = 'INTERNALERROR'
11
+ BAD_REQUEST = 'BADREQUEST'
12
+ INTERNAL_ERROR = 'INTERNALERROR'
13
13
  UNAUTHORIZED = 'UNAUTHORIZED'
14
14
  UNPROCESSABLE = 'UNPROCESSABLE'
15
15
  DISCONNECTED = 'DISCONNECTED'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 4.0.12
3
+ Version: 4.0.14
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
@@ -18,6 +9,8 @@ layrz_sdk.egg-info/SOURCES.txt
18
9
  layrz_sdk.egg-info/dependency_links.txt
19
10
  layrz_sdk.egg-info/requires.txt
20
11
  layrz_sdk.egg-info/top_level.txt
12
+ layrz_sdk/decorators/__init__.py
13
+ layrz_sdk/decorators/func_timing.py
21
14
  layrz_sdk/entities/__init__.py
22
15
  layrz_sdk/entities/action.py
23
16
  layrz_sdk/entities/action_geofence_ownership.py
@@ -126,5 +119,4 @@ layrz_sdk/helpers/__init__.py
126
119
  layrz_sdk/helpers/color.py
127
120
  layrz_sdk/lcl/__init__.py
128
121
  layrz_sdk/lcl/core.py
129
- tests/__init__.py
130
122
  tests/test_lcl.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "layrz-sdk"
3
- version = "4.0.12"
3
+ version = "4.0.14"
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
- }