layrz-sdk 3.1.28__tar.gz → 3.1.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 (107) hide show
  1. {layrz_sdk-3.1.28/layrz_sdk.egg-info → layrz_sdk-3.1.30}/PKG-INFO +1 -1
  2. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/__init__.py +1 -0
  3. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/asset.py +1 -1
  4. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/payload.py +11 -2
  5. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/device.py +1 -1
  6. layrz_sdk-3.1.30/layrz_sdk/entities/function.py +29 -0
  7. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/trigger.py +1 -1
  8. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30/layrz_sdk.egg-info}/PKG-INFO +1 -1
  9. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk.egg-info/SOURCES.txt +1 -10
  10. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/pyproject.toml +1 -1
  11. layrz_sdk-3.1.28/.github/workflows/checks.yml +0 -50
  12. layrz_sdk-3.1.28/.github/workflows/deploy.yml +0 -32
  13. layrz_sdk-3.1.28/.gitignore +0 -19
  14. layrz_sdk-3.1.28/.vscode/extensions.json +0 -9
  15. layrz_sdk-3.1.28/CHANGELOG.md +0 -433
  16. layrz_sdk-3.1.28/CODE_OF_CONDUCT.md +0 -29
  17. layrz_sdk-3.1.28/CONTRIBUTING.md +0 -26
  18. layrz_sdk-3.1.28/manual_deploy.py +0 -14
  19. layrz_sdk-3.1.28/tests/__init__.py +0 -0
  20. layrz_sdk-3.1.28/uv.lock +0 -1059
  21. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/LICENSE +0 -0
  22. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/README.md +0 -0
  23. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/__init__.py +0 -0
  24. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/backwards.py +0 -0
  25. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/constants.py +0 -0
  26. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/asset_constants.py +0 -0
  27. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/asset_operation_mode.py +0 -0
  28. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/__init__.py +0 -0
  29. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/request.py +0 -0
  30. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/response.py +0 -0
  31. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/result.py +0 -0
  32. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/service.py +0 -0
  33. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/broadcast/status.py +0 -0
  34. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/case.py +0 -0
  35. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/case_ignored_status.py +0 -0
  36. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/case_status.py +0 -0
  37. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/axis_config.py +0 -0
  38. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/bar_chart.py +0 -0
  39. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
  40. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_color.py +0 -0
  41. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
  42. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
  43. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
  44. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
  45. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
  46. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/column_chart.py +0 -0
  47. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/html_chart.py +0 -0
  48. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/line_chart.py +0 -0
  49. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/map_center_type.py +0 -0
  50. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/map_chart.py +0 -0
  51. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/map_point.py +0 -0
  52. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/number_chart.py +0 -0
  53. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/pie_chart.py +0 -0
  54. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/radar_chart.py +0 -0
  55. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
  56. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
  57. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
  58. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
  59. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/table_chart.py +0 -0
  60. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/table_header.py +0 -0
  61. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/table_row.py +0 -0
  62. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
  63. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
  64. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
  65. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/checkpoint.py +0 -0
  66. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/comment.py +0 -0
  67. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/custom_field.py +0 -0
  68. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/custom_report_page.py +0 -0
  69. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/event.py +0 -0
  70. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/geofence.py +0 -0
  71. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/last_message.py +0 -0
  72. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/message.py +0 -0
  73. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/__init__.py +0 -0
  74. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/config.py +0 -0
  75. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/parameter.py +0 -0
  76. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/schema.py +0 -0
  77. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/status.py +0 -0
  78. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/modbus/wait.py +0 -0
  79. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/outbound_service.py +0 -0
  80. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/position.py +0 -0
  81. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/presence_type.py +0 -0
  82. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report.py +0 -0
  83. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_col.py +0 -0
  84. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_configuration.py +0 -0
  85. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_data_type.py +0 -0
  86. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_format.py +0 -0
  87. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_header.py +0 -0
  88. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_page.py +0 -0
  89. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/report_row.py +0 -0
  90. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/sensor.py +0 -0
  91. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/static_position.py +0 -0
  92. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  93. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/telemetry/assetmessage.py +0 -0
  94. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/telemetry/devicemessage.py +0 -0
  95. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/text_alignment.py +0 -0
  96. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/user.py +0 -0
  97. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/entities/waypoint.py +0 -0
  98. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/helpers/__init__.py +0 -0
  99. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/helpers/color.py +0 -0
  100. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/lcl/__init__.py +0 -0
  101. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/lcl/core.py +0 -0
  102. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk/py.typed +0 -0
  103. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  104. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk.egg-info/requires.txt +0 -0
  105. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/layrz_sdk.egg-info/top_level.txt +0 -0
  106. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/setup.cfg +0 -0
  107. {layrz_sdk-3.1.28 → layrz_sdk-3.1.30}/tests/test_lcl.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 3.1.28
3
+ Version: 3.1.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>
@@ -48,6 +48,7 @@ from .custom_field import CustomField
48
48
  from .custom_report_page import CustomReportPage
49
49
  from .device import Device
50
50
  from .event import Event
51
+ from .function import Function
51
52
  from .geofence import Geofence
52
53
  from .last_message import LastMessage
53
54
  from .message import Message
@@ -20,7 +20,7 @@ from .static_position import StaticPosition
20
20
  class Asset(BaseModel):
21
21
  """Asset entity definition"""
22
22
 
23
- pk: int = Field(description='Defines the primary key of the asset')
23
+ pk: int = Field(description='Defines the primary key of the asset', serialization_alias='id')
24
24
  name: str = Field(description='Defines the name of the asset')
25
25
  vin: str | None = Field(
26
26
  default=None,
@@ -8,6 +8,7 @@ from pydantic import BaseModel, Field
8
8
  from layrz_sdk.constants import UTC
9
9
  from layrz_sdk.entities.asset import Asset
10
10
  from layrz_sdk.entities.device import Device
11
+ from layrz_sdk.entities.trigger import Trigger
11
12
 
12
13
  from .service import BroadcastService
13
14
 
@@ -23,9 +24,17 @@ class BroadcastPayload(BaseModel):
23
24
  }
24
25
 
25
26
  asset: Asset = Field(..., description='Asset object')
26
- primary_device: Device | None = Field(None, description='Primary device object', serialization_alias='primaryDevice')
27
+ primary_device: Device | None = Field(
28
+ default=None,
29
+ description='Primary device object',
30
+ serialization_alias='primaryDevice',
31
+ )
32
+ trigger: Trigger | None = Field(
33
+ default=None,
34
+ description='Trigger object, if available',
35
+ )
27
36
  message_id: int | str = Field(..., description='Message ID', serialization_alias='message.id')
28
- service: BroadcastService | None = Field(None, description='Broadcast service object')
37
+ service: BroadcastService | None = Field(default=None, description='Broadcast service object')
29
38
  position: dict[str, Any] = Field(default_factory=dict, description='Position data, if available')
30
39
  sensors: dict[str, Any] = Field(default_factory=dict, description='Sensors data, if available')
31
40
  payload: dict[str, Any] = Field(default_factory=dict, description='Payload data, if available')
@@ -8,7 +8,7 @@ from .modbus import ModbusConfig
8
8
  class Device(BaseModel):
9
9
  """Device entity"""
10
10
 
11
- pk: int = Field(description='Defines the primary key of the device')
11
+ pk: int = Field(description='Defines the primary key of the device', serialization_alias='id')
12
12
  name: str = Field(description='Defines the name of the device')
13
13
  ident: str = Field(description='Defines the identifier of the device')
14
14
  protocol_id: int | None = Field(
@@ -0,0 +1,29 @@
1
+ """Geofence entity"""
2
+
3
+ from datetime import timedelta
4
+ from typing import Any, Dict, List, Optional
5
+
6
+ from pydantic import BaseModel, Field, constr
7
+
8
+ from .asset import Asset
9
+
10
+
11
+ class Function(BaseModel):
12
+ """Function entity"""
13
+
14
+ pk: int = Field(description='Defines the primary key of the Function')
15
+ name: str = Field(description='Name of the function')
16
+
17
+ maximum_time: Optional[timedelta] = None # DurationField → timedelta
18
+ minutes_delta: Optional[timedelta] = None
19
+
20
+ external_identifiers: List[constr(max_length=255)] = Field(default_factory=list) # type: ignore
21
+
22
+ credentials: Dict[str, Any] = Field(default_factory=dict)
23
+
24
+ # Many-to-manys ➜ list of nested DTOs
25
+ assets: List[Asset] = Field(default_factory=list)
26
+
27
+ # Foreign keys – normally expose only the FK id to keep the payload small.
28
+ owner_id: Optional[int] = None
29
+ algorithm_id: int
@@ -6,6 +6,6 @@ from pydantic import BaseModel, Field
6
6
  class Trigger(BaseModel):
7
7
  """Trigger entity"""
8
8
 
9
- pk: int = Field(description='Defines the primary key of the trigger')
9
+ pk: int = Field(description='Defines the primary key of the trigger', serialization_alias='id')
10
10
  name: str = Field(description='Defines the name of the trigger')
11
11
  code: str = Field(description='Defines the code of the trigger')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 3.1.28
3
+ Version: 3.1.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>
@@ -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/backwards.py
15
6
  layrz_sdk/constants.py
@@ -32,6 +23,7 @@ layrz_sdk/entities/custom_field.py
32
23
  layrz_sdk/entities/custom_report_page.py
33
24
  layrz_sdk/entities/device.py
34
25
  layrz_sdk/entities/event.py
26
+ layrz_sdk/entities/function.py
35
27
  layrz_sdk/entities/geofence.py
36
28
  layrz_sdk/entities/last_message.py
37
29
  layrz_sdk/entities/message.py
@@ -100,5 +92,4 @@ layrz_sdk/helpers/__init__.py
100
92
  layrz_sdk/helpers/color.py
101
93
  layrz_sdk/lcl/__init__.py
102
94
  layrz_sdk/lcl/core.py
103
- tests/__init__.py
104
95
  tests/test_lcl.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "layrz-sdk"
3
- version = "3.1.28"
3
+ version = "3.1.30"
4
4
  description = "Layrz SDK for Python"
5
5
  authors = [
6
6
  {name = "Golden M, Inc.", email = "software@goldenm.com"}
@@ -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
- }
@@ -1,433 +0,0 @@
1
- # Changelog
2
-
3
- ## 3.1.27
4
-
5
- - Fixes on `ChartDataSerieType` that can have a `None` value, removed str inheritance to avoid issues
6
-
7
- ## 3.1.26
8
-
9
- - Reverted StrEnum in favor to str + Enum due to compatibility issues
10
-
11
- ## 3.1.25
12
-
13
- - Added `AssetConstants` class to hold constants related to assets on sensors, triggers and functions.
14
-
15
- ## 3.1.24
16
- ## 3.1.23
17
- ## 3.1.22
18
-
19
- - Backwards compatibility for `StrEnum` in Python 3.11 and below, now using `layrz_sdk.backwards.StrEnum` for versions below 3.11.
20
-
21
- ## 3.1.21
22
-
23
- - Moved all enums to `StrEnum` and added compatibility for Python 3.11 and below.
24
-
25
- ## 3.1.20
26
-
27
- - Fixed condition of `StrEnum` on Python 3.11, for versions below 3.11 it will use `strenum.StrEnum` instead of `enum.StrEnum`
28
-
29
- ## 3.1.19
30
-
31
- - Added serializers for messages
32
-
33
- ## 3.1.18
34
-
35
- - Fixes
36
-
37
- ## 3.1.17
38
-
39
- - Fixes
40
-
41
- ## 3.1.16
42
-
43
- - Added `primary_id` into `Asset`
44
-
45
- ## 3.1.15
46
-
47
- - Added some parameters on `Asset` and `Device` classes
48
- - Added `AssetMessage` and `DeviceMessage` classes to handle messages related to assets and devices
49
-
50
- ## 3.1.14
51
-
52
- - Some changes related to the `Case` entity
53
-
54
- ## 3.1.12
55
-
56
- - Adjustment of all typings
57
-
58
- ## 3.1.11
59
-
60
- - Fixes on data casting in `Message` class
61
-
62
- ## 3.1.10
63
-
64
- - Updated docstrings to provide more information about types and usage
65
-
66
- ## 3.1.9
67
-
68
- - Changed `json` to `parsed` on `BroadcastResponse` and `BroadcastRequest` to avoid confusion with the `json` property from `pydantic.BaseModel`
69
-
70
- ## 3.1.8
71
-
72
- - Replaced `str` in favor of using `Path` object to manage paths on `Report` export methods
73
-
74
- ## 3.1.7
75
-
76
- - Removed validation of asset type `SINGLE`
77
-
78
- ## 3.1.6
79
-
80
- - Fixes on model validate on `Asset` class
81
-
82
- ## 3.1.5
83
-
84
- - Changed `width` on `ReportHeader` from `int` to `float` due to backwards compatibility
85
-
86
- ## 3.1.4
87
-
88
- - Fixed iteration searching for the primary device on `Asset` class
89
-
90
- ## 3.1.3
91
-
92
- - Fixes on `Asset` entity validation, found by @simonjrojas!
93
-
94
- ## 3.1.2
95
-
96
- - Set as optional the `asset_type` argument in `Asset` class
97
-
98
- ## 3.1.1
99
-
100
- - Small fixes on some models to backwards compatibility
101
-
102
- ## 3.1.0
103
-
104
- - Migrated all models to Pydantic
105
- - Removed models `Transaction`.
106
- - Added `mypy` to the project to enforce type checking
107
- - Migrated from `uniitest` to `pytest` to the project to enforce unit testing
108
-
109
- ## 3.0.14
110
-
111
- - Fixes on `GET_CUSTOM_FIELD` LCL function, now accepts a default value as the second argument (Fallback as '')
112
-
113
- ## 3.0.13
114
-
115
- - Added `LastMessage` entity to be used in `Trigger`s
116
-
117
- ## 3.0.12
118
-
119
- - Moved `Geofence` model from `checkpoints` to `general`
120
- - Added `PresenceType` enum to be used in `Event` model
121
-
122
- ## 3.0.11
123
-
124
- - Added way to standarize the `int` and `float` arguments to `float`. Allowing comparison between `int` and `float` values in LCL formulas
125
-
126
- ## 3.0.10
127
-
128
- - Removed Self type annotation from all classes
129
-
130
- ## 3.0.9
131
-
132
- - Added different return data of Report when password is set
133
-
134
- ## 3.0.8
135
-
136
- - New linter and formatter using ruff
137
- - Added typings on all classes and functions available
138
- - New Report export format PDF (Not implemented yet)
139
- - Added new way to encrypt .xslx files directly using the `Report` class
140
-
141
- ## 3.0.7
142
-
143
- - Added the value of `AssetOperationMode.ZONE`
144
- - Added a check for `Asset.operation_mode == ASSETMULTIPLE` while savind the list of child's
145
- - Clarified the deprecation of `ReportRow.height`
146
-
147
- ## 3.0.6
148
-
149
- - Changed print in `LineChart` to a `log.warning` and `log.fatal` in case of error
150
-
151
- ## 3.0.3
152
-
153
- - Implemented new chart rendering library `syncfusion_flutter_charts` for Flutter.
154
- - Changed rendering method for `LineChart`, now you should provide the `technology` to select the rendering library.
155
-
156
- ## 3.0.2
157
-
158
- - Fixed issue with `IF()` LCL function, now only validates the nullability of the first argument.
159
- - Added new `VERSION()` LCL Function to get the current version of the package
160
-
161
- ## 3.0.1
162
-
163
- - Added None validation on every LCL function, when any of the arguments is None, the function will return None
164
- - Added unit tests for all LCL functions
165
-
166
- ## 3.0.0
167
-
168
- - Removed shared namespace to improve compatibility with other packages
169
-
170
- ## 2.2.4
171
-
172
- - Defined new class `ReportConfiguration` to handle the configuration of the report in Python scripts
173
-
174
- ## 2.2.3
175
-
176
- - Property `text_color` deprectated in `ReportCol`, replaced by a luminance-based color using the background color
177
- - Property `text_color` deprectated in `ReportHeader`, replaced by a luminance-based color using the background color
178
- - Property `width` deprectated in `ReportHeader`, replaced by the function `autofit()` to automatically fit the header width
179
- - New entity `CustomReportPage` that receives a custom builder function to build the page
180
- - Property `export_format` deprecated in `Report`, replaced to an argument of the function `export()`
181
-
182
- ## 2.2.2
183
-
184
- - Updated `AssetOperationMode` to support `STATIC` and removal of `FAILOVER` mode
185
-
186
- ## 2.2.1
187
-
188
- - Bug fixes related to removing __ from all classes
189
-
190
- ## 2.2.0
191
-
192
- - Removed support to Python 3.12 due to a shared namespace issue.
193
- - Reorganized classes to better support.
194
- - Added typings to all classes and functions.
195
-
196
- ## 2.1.5
197
-
198
- - Added declarative typing on all LCL functions
199
- - Added support for timezone in `UNIX_TO_STR` LCL function
200
-
201
- ## 2.1.3
202
-
203
- - Changed build mode to pyproject.toml
204
- - Updated `LcLCore.perform()` function to receive additional globals and locals in their arguments
205
-
206
- ## v2.1.2
207
-
208
- - Add UNIX_TO_STR LCL function
209
-
210
- ## v2.1.1
211
-
212
- - Added `compact` in the json return format in reports
213
-
214
- ## v2.1.0
215
-
216
- - Add bold format option to Col class
217
- - Add freeze header option to Page class
218
-
219
- ## v2.0.1
220
-
221
- - Fixes on package namespace
222
-
223
- ## v2.0.0
224
-
225
- - Deprecated `lcl.core` module
226
- - Changed `layrzsdk` to `layrz.sdk` package (With unified Layrz namespace)
227
-
228
- ## v1.4.5
229
-
230
- - Added CaseIgnoredStatus to init file
231
-
232
- ## v1.4.4
233
-
234
- - Added CaseIgnoredStatus to Case entity
235
-
236
- ## v1.4.3
237
-
238
- - Added new ChartType: TableChart and NumberChart
239
- - Starting to replace documentation format from unstructured to a structured format
240
-
241
- ## v1.4.2
242
-
243
- - Fix, added SUBSTRING LCL to global functions
244
-
245
- ## v1.4.1
246
-
247
- - Fixed LineChart xAxis Datetime conversion for CanvasJS, now will multiply the timestamp by 1000 to use milliseconds
248
-
249
- ## v1.4.0
250
-
251
- - Added support for Flutter `graphic` library
252
- - LineChart
253
- - AreaChart (Replaced previous AreaChart to a temporal extend of LineChart)
254
- - BarChart
255
- - ColumnChart
256
- - PieChart
257
- - MapChart
258
- - ScatterChart
259
- - RadialBarChart
260
-
261
- - Future deprecations:
262
- - HTMLChart
263
- - TimelineChart
264
- - RadarChart
265
-
266
- ## v1.3.9
267
-
268
- - Internal changes related to GitLab CI automation
269
-
270
- ## v1.3.8
271
-
272
- - Added SUBSTRING LCL function
273
-
274
- ## v.1.3.7
275
-
276
- - Added sequence in cases
277
-
278
- ## v1.3.6
279
-
280
- - Added new Map Chart
281
- - Added required entity MapPoint
282
- - Added required enum MapCenterType
283
- - Added new HTML Chart
284
-
285
- ## v1.3.5
286
-
287
- - Bug fix related to formula perform, added PRIMARY_DEVICE to simulation environment
288
-
289
- ## v1.3.4
290
-
291
- - Added Transaction entity for REPCOM reports
292
-
293
- ## v1.3.3
294
-
295
- - Added PRIMARY_DEVICE() function to Layrz Compute Language
296
-
297
- ## v1.3.2
298
-
299
- - Updated styles of charts return object to ApexCharts or CanvasJS
300
- - Replaced all .rst files to .md files
301
-
302
- ## v1.3.1
303
-
304
- - Removed markerSize (in CanvasJS) for dashed series
305
-
306
- ## v1.3.0
307
-
308
- - Added support for CanvasJS Javascript Library
309
- - Deprecated to_apexcharts property in charts.
310
- - New method render() in charts with support for multiple Javascript rendering library
311
- - Added color helpers in layrzsdk.helpers
312
-
313
- ## v1.2.6
314
-
315
- - Removed dataLabels in almost all charts (Except Pie and RadialBar)
316
-
317
- ## v1.2.5
318
-
319
- - Optimizations for Javascript renderer
320
-
321
- ## v1.2.4
322
-
323
- - Added dashed attribute to ChartDataSerie
324
- - Added the Possibility to mix charts, only available for:
325
- - LineChart
326
- - AreaChart
327
- - ColumnChart
328
- - ScatterChart (Only as serie, not as main chart)
329
-
330
- ## v1.2.3
331
-
332
- - Added new value in BroadcastStatus
333
-
334
- ## v1.2.2
335
-
336
- - Updated ReportCol entity to set new default values
337
- - New entity ReportDataType
338
- - Possibility to export directly to the Report class
339
- - Re-organized entities/ folder
340
- - Added Broadcasts entities
341
-
342
- ## v1.2.1
343
-
344
- - Added Report Col entity
345
-
346
- ## v1.2.0
347
-
348
- - Added reports entities
349
-
350
- ## v1.1.4
351
-
352
- - Bug fixes
353
-
354
- ## v1.1.3
355
-
356
- - Bug fixes
357
-
358
- ## v1.1.2
359
-
360
- - Bug fixes
361
-
362
- ## v1.1.1
363
-
364
- - Bug fixes
365
-
366
- ## v1.1.0
367
-
368
- - Reorganized files
369
- - Added new Charts entities
370
-
371
- ## v1.0.14
372
-
373
- - Added CONTAINS, STARTS_WITH, ENDS_WITH functions to the Layrz Computed Language
374
-
375
- ## v1.0.13
376
-
377
- - Fixed missing import into `layrzsdk.entities.__init__.py`
378
-
379
- ## v1.0.12
380
-
381
- - Added Geofence, Comment, Waypoint and Checkpoint entities
382
-
383
- ## v1.0.11
384
-
385
- - Added User, Comment and Case entities
386
-
387
- ## v1.0.10
388
-
389
- - Fixes
390
-
391
- ## v1.0.9
392
-
393
- - Added Event and Trigger entities
394
- - Renamed file `mesage.py` to `message.py`
395
-
396
- ## v1.0.8
397
-
398
- - Added title getter of all charts entities
399
-
400
- ## v1.0.7
401
-
402
- - Added PieChart, BarChart, and RadialBarChart entities
403
-
404
- ## v1.0.6
405
-
406
- - Fixed STING to STRING bug in ChartDataType enum
407
-
408
- ## v1.0.5
409
-
410
- - Bug fixes
411
-
412
- ## v1.0.4
413
-
414
- - Added data_type argument of ChartDataSerie
415
-
416
- ## v1.0.3
417
-
418
- - Added Chart configuration entity
419
-
420
- ## v1.0.2
421
-
422
- - Added entities for Range Charts:
423
- - Line Charts
424
- - Area Charts
425
- - Column Charts
426
-
427
- ## v1.0.1
428
-
429
- - Added entities for Sensors and Triggers
430
-
431
- ## v1.0.0
432
-
433
- - Initial release