layrz-sdk 4.0.14__tar.gz → 4.0.15__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 (134) hide show
  1. layrz_sdk-4.0.15/.github/workflows/checks.yml +50 -0
  2. layrz_sdk-4.0.15/.github/workflows/deploy.yml +32 -0
  3. layrz_sdk-4.0.15/.gitignore +19 -0
  4. layrz_sdk-4.0.15/.vscode/extensions.json +9 -0
  5. layrz_sdk-4.0.15/CHANGELOG.md +605 -0
  6. layrz_sdk-4.0.15/CODE_OF_CONDUCT.md +29 -0
  7. layrz_sdk-4.0.15/CONTRIBUTING.md +26 -0
  8. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/PKG-INFO +1 -1
  9. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/__init__.py +2 -0
  10. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/__init__.py +2 -1
  11. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/result.py +26 -3
  12. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk.egg-info/PKG-INFO +1 -1
  13. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk.egg-info/SOURCES.txt +10 -0
  14. layrz_sdk-4.0.15/manual_deploy.py +12 -0
  15. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/pyproject.toml +1 -1
  16. layrz_sdk-4.0.15/tests/__init__.py +0 -0
  17. layrz_sdk-4.0.15/uv.lock +749 -0
  18. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/LICENSE +0 -0
  19. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/README.md +0 -0
  20. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/__init__.py +0 -0
  21. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/constants.py +0 -0
  22. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/decorators/__init__.py +0 -0
  23. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/decorators/func_timing.py +0 -0
  24. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/action.py +0 -0
  25. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/action_geofence_ownership.py +0 -0
  26. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/action_kind.py +0 -0
  27. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/action_subkind.py +0 -0
  28. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/asset.py +0 -0
  29. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/asset_constants.py +0 -0
  30. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/asset_contact.py +0 -0
  31. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/asset_operation_mode.py +0 -0
  32. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/ats_entry.py +0 -0
  33. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/ats_exit_history.py +0 -0
  34. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/ats_possible_entry.py +0 -0
  35. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/ats_possible_exit.py +0 -0
  36. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/ats_reception.py +0 -0
  37. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/payload.py +0 -0
  38. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/request.py +0 -0
  39. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/response.py +0 -0
  40. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/service.py +0 -0
  41. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/broadcast/status.py +0 -0
  42. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/case.py +0 -0
  43. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/case_ignored_status.py +0 -0
  44. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/case_status.py +0 -0
  45. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/axis_config.py +0 -0
  46. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/bar_chart.py +0 -0
  47. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
  48. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_color.py +0 -0
  49. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
  50. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
  51. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
  52. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
  53. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
  54. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/column_chart.py +0 -0
  55. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/html_chart.py +0 -0
  56. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/line_chart.py +0 -0
  57. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/map_center_type.py +0 -0
  58. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/map_chart.py +0 -0
  59. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/map_point.py +0 -0
  60. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/number_chart.py +0 -0
  61. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/pie_chart.py +0 -0
  62. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/radar_chart.py +0 -0
  63. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
  64. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
  65. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
  66. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
  67. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/table_chart.py +0 -0
  68. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/table_header.py +0 -0
  69. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/table_row.py +0 -0
  70. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
  71. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
  72. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
  73. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/checkpoint.py +0 -0
  74. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/command_series_ticket.py +0 -0
  75. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/comment.py +0 -0
  76. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/custom_field.py +0 -0
  77. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/custom_report_page.py +0 -0
  78. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/destination_phone.py +0 -0
  79. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/device.py +0 -0
  80. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/event.py +0 -0
  81. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/exchange_service.py +0 -0
  82. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/function.py +0 -0
  83. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/geofence.py +0 -0
  84. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/geofence_category.py +0 -0
  85. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/last_message.py +0 -0
  86. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/message.py +0 -0
  87. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/__init__.py +0 -0
  88. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/config.py +0 -0
  89. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/parameter.py +0 -0
  90. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/schema.py +0 -0
  91. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/status.py +0 -0
  92. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/modbus/wait.py +0 -0
  93. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/notification_type.py +0 -0
  94. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/operation.py +0 -0
  95. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/operation_case_payload.py +0 -0
  96. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/operation_payload.py +0 -0
  97. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/operation_type.py +0 -0
  98. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/outbound_service.py +0 -0
  99. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/platform.py +0 -0
  100. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/position.py +0 -0
  101. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/presence_type.py +0 -0
  102. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/preset.py +0 -0
  103. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report.py +0 -0
  104. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_col.py +0 -0
  105. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_configuration.py +0 -0
  106. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_data_type.py +0 -0
  107. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_format.py +0 -0
  108. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_header.py +0 -0
  109. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_page.py +0 -0
  110. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/report_row.py +0 -0
  111. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/request_type.py +0 -0
  112. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/sensor.py +0 -0
  113. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/sound_effect.py +0 -0
  114. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/static_position.py +0 -0
  115. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  116. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/telemetry/assetmessage.py +0 -0
  117. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/telemetry/devicemessage.py +0 -0
  118. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/text_alignment.py +0 -0
  119. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/timezone.py +0 -0
  120. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/trigger.py +0 -0
  121. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/trigger_kind.py +0 -0
  122. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/user.py +0 -0
  123. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/waypoint.py +0 -0
  124. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/entities/weekday.py +0 -0
  125. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/helpers/__init__.py +0 -0
  126. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/helpers/color.py +0 -0
  127. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/lcl/__init__.py +0 -0
  128. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/lcl/core.py +0 -0
  129. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk/py.typed +0 -0
  130. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  131. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk.egg-info/requires.txt +0 -0
  132. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/layrz_sdk.egg-info/top_level.txt +0 -0
  133. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/setup.cfg +0 -0
  134. {layrz_sdk-4.0.14 → layrz_sdk-4.0.15}/tests/test_lcl.py +0 -0
@@ -0,0 +1,50 @@
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
+
@@ -0,0 +1,32 @@
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/*
@@ -0,0 +1,19 @@
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
@@ -0,0 +1,9 @@
1
+ {
2
+ "recommendations": [
3
+ "ms-python.python",
4
+ "charliermarsh.ruff",
5
+ "ms-python.vscode-pylance",
6
+ "njpwerner.autodocstring",
7
+ "oderwat.indent-rainbow"
8
+ ]
9
+ }
@@ -0,0 +1,605 @@
1
+ # Changelog
2
+
3
+ ## 4.0.14
4
+
5
+ - Added decorators to measure function execution time.
6
+
7
+ ## 4.0.13
8
+
9
+ - Added `partition_number` field to `Asset` entity to represent the partition number assigned to the asset.
10
+ - Added `pk` and `trigger_id` fields to `BroadcastResult` entity to represent the broadcast result ID and trigger ID respectively.
11
+ - Updated `BroadcastResult` entity to include an `error` field to represent any error message if the broadcast failed.
12
+ - Updated `BroadcastStatus` enum to include `BAD_REQUEST` and `INTERNAL_ERROR` as new status values.
13
+ - Added `algorithm` field to `BroadcastResult` entity to represent the algorithm used for the broadcast, if any.
14
+
15
+ ## 4.0.12
16
+
17
+ - Added `search_time_delta` field to `Trigger` entity to define the search time delta of the trigger.
18
+ - Updated `TriggerKind` enum to include `NESTED` as a new trigger kind
19
+
20
+ ## 4.0.11
21
+
22
+ - Added protection of worksheets in `Report` entity when exporting to Microsoft Excel to enable cell locking.
23
+
24
+ ## 4.0.10
25
+
26
+ - Added support for lock cells in `ReportCol` entity and their export to Microsoft Excel.
27
+ - Added support for `list[Geofence]` on `Message` entity for presence in geofences.
28
+
29
+ ## 4.0.9
30
+
31
+ - Added validation for `destination_phones` field in `Operation` entity to ensure it is a list of `DestinationPhone` objects.
32
+ - Updated `OperationPayload` entity to use `DestinationPhone` instead of a list of strings for `destinations`.
33
+
34
+
35
+ ## 4.0.8
36
+
37
+ - Allowed `int | str | None` for `account_id` in `Operation` and `OperationPayload` entities.
38
+
39
+ ## 4.0.7
40
+
41
+ - Added validation for `headers` field in `Operation` entity to ensure it is a list of dictionaries.
42
+ - Added validation for `reception_emails` field in `Operation` entity to ensure it is a list of strings or a single string.
43
+
44
+ ## 4.0.6
45
+
46
+ - Added validation for `manual_action_fields` in `Trigger` entity to ensure it is a list of dictionaries.
47
+ - Added validation for `priority` field in `Trigger` entity to ensure it is an integer
48
+
49
+ ## 4.0.5
50
+
51
+ - Missing doc
52
+
53
+ ## 4.0.4
54
+
55
+ - Fixes on `is_primary` field in `Device` entity to ensure it is a boolean value.
56
+
57
+ ## 4.0.3
58
+
59
+ - Added validation for `static_position` in `Asset` entity to ensure it can accept a dictionary representation of `StaticPosition`.
60
+
61
+ ## 4.0.2
62
+
63
+ - Missing doc
64
+
65
+ ## 4.0.1
66
+
67
+ - Missing doc
68
+
69
+ ## 4.0.0
70
+
71
+ - Removed all aliases to be more accurate and similar to the Dart equivalent on [`layrz_models`](https://pub.dev/packages/layrz_models).
72
+
73
+ ## 3.1.50
74
+
75
+ - Added `is_fixed` field to `CustomField` entity to indicate if the custom field is fixed or not.
76
+ - Updated `CustomField` entity to include `pk` field as an alias for `id`.
77
+
78
+ ## 3.1.49
79
+
80
+ - New models `AtsExitExecutionHistory` and `AtsPossibleExit` for Ats exits add formula field to `Sensor`.
81
+ ## 3.1.48
82
+
83
+ - Moved `DestinationPhone` entity to its own file, and renamed from `TwilioHostPhone` to `DestinationPhone`.
84
+ - Updated `Operation` entity to use `DestinationPhone` instead of a `list[str]` for `destination_phones`.
85
+
86
+ ## 3.1.47
87
+
88
+ - Changed datatype of `destinations` field in `OperationPayload` entity from `list[str]` to `list[TwilioHostPhone]`.
89
+
90
+ ## 3.1.46
91
+
92
+ - Added `AssetContact` entity to represent contacts of an asset.
93
+ - Updated `Asset` entity to use `AssetContact` instead of a list of strings for contacts.
94
+ - Added `contacts` field to `Asset` entity to represent the list of contacts associated with the asset.
95
+
96
+ ## 3.1.45
97
+
98
+ - Updates over `Checkpoint` and `Waypoint` models
99
+
100
+ ## 3.1.44
101
+
102
+ - Removed `asset_id` from `Checkpoint` entity, now using `name` field to represent the checkpoint name.
103
+
104
+ ## 3.1.43
105
+
106
+ - Fixes
107
+
108
+ ## 3.1.42
109
+
110
+ - New models `CheckpointRef` and `WaypointRef` to represent checkpoints with waypoints.
111
+
112
+ ## 3.1.41
113
+
114
+ - Added `owner_id` field to `Preset` entity to represent the owner of the preset.
115
+
116
+ ## 3.1.40
117
+
118
+ - Added `Preset` entity to represent presets with a name, valid before date, and comment.
119
+
120
+ ## 3.1.39
121
+
122
+ - Added `ExchangeService` entity to represent outbound services with credentials.
123
+ - New `CommandSeriesTicket` model
124
+ - Added more information on `OutboundService` model
125
+
126
+ ## 3.1.38
127
+
128
+ - Added `owner_id` field to `Asset`, `Action`, and `Trigger` models to represent the owner of the entity.
129
+
130
+ ## 3.1.37
131
+
132
+ - Fixes on `Timezone` model, added `offset` field to represent the timezone offset in seconds from UTC.
133
+ - Added some fields on `Operation` model
134
+
135
+ ## 3.1.36
136
+
137
+ - Updated enum of `OperationType`
138
+
139
+ ## 3.1.35
140
+
141
+ - Added models for operations handling
142
+
143
+ ## 3.1.34
144
+
145
+ - Fixes on data types onf `Action` model
146
+
147
+ ## 3.1.33
148
+
149
+ - New `Action` model
150
+ - New `ActionKind`, `ActionSubKind`, `GeofenceCategory` and `ActionGeofenceOwnership` enums
151
+
152
+ ## 3.1.32
153
+
154
+ - New `AtsREception` model
155
+
156
+ ## 3.1.31
157
+
158
+ - Expanded `Trigger` model with new fields (Almost closed to the Dart equivalent on [`layrz_models`](https://pub.dev/packages/layrz_models))
159
+ - Added `Weekday` enum to represent days of the week
160
+ - Added `TriggerKind`, `TriggerGeofenceKind`, `TriggerCaseKind`, and `TriggerCommentPattern` enums to represent different trigger types and patterns
161
+ - Almost removed all aliases from the models
162
+
163
+ ## 3.1.30
164
+
165
+ - New `Function` model
166
+
167
+ ## 3.1.29
168
+
169
+ - Serialization changes
170
+
171
+ ## 3.1.28
172
+
173
+ - Added `BroadcastPayload` and `BroadcastService` models
174
+
175
+ ## 3.1.27
176
+
177
+ - Fixes on `ChartDataSerieType` that can have a `None` value, removed str inheritance to avoid issues
178
+
179
+ ## 3.1.26
180
+
181
+ - Reverted StrEnum in favor to str + Enum due to compatibility issues
182
+
183
+ ## 3.1.25
184
+
185
+ - Added `AssetConstants` class to hold constants related to assets on sensors, triggers and functions.
186
+
187
+ ## 3.1.24
188
+ ## 3.1.23
189
+ ## 3.1.22
190
+
191
+ - Backwards compatibility for `StrEnum` in Python 3.11 and below, now using `layrz_sdk.backwards.StrEnum` for versions below 3.11.
192
+
193
+ ## 3.1.21
194
+
195
+ - Moved all enums to `StrEnum` and added compatibility for Python 3.11 and below.
196
+
197
+ ## 3.1.20
198
+
199
+ - Fixed condition of `StrEnum` on Python 3.11, for versions below 3.11 it will use `strenum.StrEnum` instead of `enum.StrEnum`
200
+
201
+ ## 3.1.19
202
+
203
+ - Added serializers for messages
204
+
205
+ ## 3.1.18
206
+
207
+ - Fixes
208
+
209
+ ## 3.1.17
210
+
211
+ - Fixes
212
+
213
+ ## 3.1.16
214
+
215
+ - Added `primary_id` into `Asset`
216
+
217
+ ## 3.1.15
218
+
219
+ - Added some parameters on `Asset` and `Device` classes
220
+ - Added `AssetMessage` and `DeviceMessage` classes to handle messages related to assets and devices
221
+
222
+ ## 3.1.14
223
+
224
+ - Some changes related to the `Case` entity
225
+
226
+ ## 3.1.12
227
+
228
+ - Adjustment of all typings
229
+
230
+ ## 3.1.11
231
+
232
+ - Fixes on data casting in `Message` class
233
+
234
+ ## 3.1.10
235
+
236
+ - Updated docstrings to provide more information about types and usage
237
+
238
+ ## 3.1.9
239
+
240
+ - Changed `json` to `parsed` on `BroadcastResponse` and `BroadcastRequest` to avoid confusion with the `json` property from `pydantic.BaseModel`
241
+
242
+ ## 3.1.8
243
+
244
+ - Replaced `str` in favor of using `Path` object to manage paths on `Report` export methods
245
+
246
+ ## 3.1.7
247
+
248
+ - Removed validation of asset type `SINGLE`
249
+
250
+ ## 3.1.6
251
+
252
+ - Fixes on model validate on `Asset` class
253
+
254
+ ## 3.1.5
255
+
256
+ - Changed `width` on `ReportHeader` from `int` to `float` due to backwards compatibility
257
+
258
+ ## 3.1.4
259
+
260
+ - Fixed iteration searching for the primary device on `Asset` class
261
+
262
+ ## 3.1.3
263
+
264
+ - Fixes on `Asset` entity validation, found by @simonjrojas!
265
+
266
+ ## 3.1.2
267
+
268
+ - Set as optional the `asset_type` argument in `Asset` class
269
+
270
+ ## 3.1.1
271
+
272
+ - Small fixes on some models to backwards compatibility
273
+
274
+ ## 3.1.0
275
+
276
+ - Migrated all models to Pydantic
277
+ - Removed models `Transaction`.
278
+ - Added `mypy` to the project to enforce type checking
279
+ - Migrated from `uniitest` to `pytest` to the project to enforce unit testing
280
+
281
+ ## 3.0.14
282
+
283
+ - Fixes on `GET_CUSTOM_FIELD` LCL function, now accepts a default value as the second argument (Fallback as '')
284
+
285
+ ## 3.0.13
286
+
287
+ - Added `LastMessage` entity to be used in `Trigger`s
288
+
289
+ ## 3.0.12
290
+
291
+ - Moved `Geofence` model from `checkpoints` to `general`
292
+ - Added `PresenceType` enum to be used in `Event` model
293
+
294
+ ## 3.0.11
295
+
296
+ - Added way to standarize the `int` and `float` arguments to `float`. Allowing comparison between `int` and `float` values in LCL formulas
297
+
298
+ ## 3.0.10
299
+
300
+ - Removed Self type annotation from all classes
301
+
302
+ ## 3.0.9
303
+
304
+ - Added different return data of Report when password is set
305
+
306
+ ## 3.0.8
307
+
308
+ - New linter and formatter using ruff
309
+ - Added typings on all classes and functions available
310
+ - New Report export format PDF (Not implemented yet)
311
+ - Added new way to encrypt .xslx files directly using the `Report` class
312
+
313
+ ## 3.0.7
314
+
315
+ - Added the value of `AssetOperationMode.ZONE`
316
+ - Added a check for `Asset.operation_mode == ASSETMULTIPLE` while savind the list of child's
317
+ - Clarified the deprecation of `ReportRow.height`
318
+
319
+ ## 3.0.6
320
+
321
+ - Changed print in `LineChart` to a `log.warning` and `log.fatal` in case of error
322
+
323
+ ## 3.0.3
324
+
325
+ - Implemented new chart rendering library `syncfusion_flutter_charts` for Flutter.
326
+ - Changed rendering method for `LineChart`, now you should provide the `technology` to select the rendering library.
327
+
328
+ ## 3.0.2
329
+
330
+ - Fixed issue with `IF()` LCL function, now only validates the nullability of the first argument.
331
+ - Added new `VERSION()` LCL Function to get the current version of the package
332
+
333
+ ## 3.0.1
334
+
335
+ - Added None validation on every LCL function, when any of the arguments is None, the function will return None
336
+ - Added unit tests for all LCL functions
337
+
338
+ ## 3.0.0
339
+
340
+ - Removed shared namespace to improve compatibility with other packages
341
+
342
+ ## 2.2.4
343
+
344
+ - Defined new class `ReportConfiguration` to handle the configuration of the report in Python scripts
345
+
346
+ ## 2.2.3
347
+
348
+ - Property `text_color` deprectated in `ReportCol`, replaced by a luminance-based color using the background color
349
+ - Property `text_color` deprectated in `ReportHeader`, replaced by a luminance-based color using the background color
350
+ - Property `width` deprectated in `ReportHeader`, replaced by the function `autofit()` to automatically fit the header width
351
+ - New entity `CustomReportPage` that receives a custom builder function to build the page
352
+ - Property `export_format` deprecated in `Report`, replaced to an argument of the function `export()`
353
+
354
+ ## 2.2.2
355
+
356
+ - Updated `AssetOperationMode` to support `STATIC` and removal of `FAILOVER` mode
357
+
358
+ ## 2.2.1
359
+
360
+ - Bug fixes related to removing __ from all classes
361
+
362
+ ## 2.2.0
363
+
364
+ - Removed support to Python 3.12 due to a shared namespace issue.
365
+ - Reorganized classes to better support.
366
+ - Added typings to all classes and functions.
367
+
368
+ ## 2.1.5
369
+
370
+ - Added declarative typing on all LCL functions
371
+ - Added support for timezone in `UNIX_TO_STR` LCL function
372
+
373
+ ## 2.1.3
374
+
375
+ - Changed build mode to pyproject.toml
376
+ - Updated `LcLCore.perform()` function to receive additional globals and locals in their arguments
377
+
378
+ ## v2.1.2
379
+
380
+ - Add UNIX_TO_STR LCL function
381
+
382
+ ## v2.1.1
383
+
384
+ - Added `compact` in the json return format in reports
385
+
386
+ ## v2.1.0
387
+
388
+ - Add bold format option to Col class
389
+ - Add freeze header option to Page class
390
+
391
+ ## v2.0.1
392
+
393
+ - Fixes on package namespace
394
+
395
+ ## v2.0.0
396
+
397
+ - Deprecated `lcl.core` module
398
+ - Changed `layrzsdk` to `layrz.sdk` package (With unified Layrz namespace)
399
+
400
+ ## v1.4.5
401
+
402
+ - Added CaseIgnoredStatus to init file
403
+
404
+ ## v1.4.4
405
+
406
+ - Added CaseIgnoredStatus to Case entity
407
+
408
+ ## v1.4.3
409
+
410
+ - Added new ChartType: TableChart and NumberChart
411
+ - Starting to replace documentation format from unstructured to a structured format
412
+
413
+ ## v1.4.2
414
+
415
+ - Fix, added SUBSTRING LCL to global functions
416
+
417
+ ## v1.4.1
418
+
419
+ - Fixed LineChart xAxis Datetime conversion for CanvasJS, now will multiply the timestamp by 1000 to use milliseconds
420
+
421
+ ## v1.4.0
422
+
423
+ - Added support for Flutter `graphic` library
424
+ - LineChart
425
+ - AreaChart (Replaced previous AreaChart to a temporal extend of LineChart)
426
+ - BarChart
427
+ - ColumnChart
428
+ - PieChart
429
+ - MapChart
430
+ - ScatterChart
431
+ - RadialBarChart
432
+
433
+ - Future deprecations:
434
+ - HTMLChart
435
+ - TimelineChart
436
+ - RadarChart
437
+
438
+ ## v1.3.9
439
+
440
+ - Internal changes related to GitLab CI automation
441
+
442
+ ## v1.3.8
443
+
444
+ - Added SUBSTRING LCL function
445
+
446
+ ## v.1.3.7
447
+
448
+ - Added sequence in cases
449
+
450
+ ## v1.3.6
451
+
452
+ - Added new Map Chart
453
+ - Added required entity MapPoint
454
+ - Added required enum MapCenterType
455
+ - Added new HTML Chart
456
+
457
+ ## v1.3.5
458
+
459
+ - Bug fix related to formula perform, added PRIMARY_DEVICE to simulation environment
460
+
461
+ ## v1.3.4
462
+
463
+ - Added Transaction entity for REPCOM reports
464
+
465
+ ## v1.3.3
466
+
467
+ - Added PRIMARY_DEVICE() function to Layrz Compute Language
468
+
469
+ ## v1.3.2
470
+
471
+ - Updated styles of charts return object to ApexCharts or CanvasJS
472
+ - Replaced all .rst files to .md files
473
+
474
+ ## v1.3.1
475
+
476
+ - Removed markerSize (in CanvasJS) for dashed series
477
+
478
+ ## v1.3.0
479
+
480
+ - Added support for CanvasJS Javascript Library
481
+ - Deprecated to_apexcharts property in charts.
482
+ - New method render() in charts with support for multiple Javascript rendering library
483
+ - Added color helpers in layrzsdk.helpers
484
+
485
+ ## v1.2.6
486
+
487
+ - Removed dataLabels in almost all charts (Except Pie and RadialBar)
488
+
489
+ ## v1.2.5
490
+
491
+ - Optimizations for Javascript renderer
492
+
493
+ ## v1.2.4
494
+
495
+ - Added dashed attribute to ChartDataSerie
496
+ - Added the Possibility to mix charts, only available for:
497
+ - LineChart
498
+ - AreaChart
499
+ - ColumnChart
500
+ - ScatterChart (Only as serie, not as main chart)
501
+
502
+ ## v1.2.3
503
+
504
+ - Added new value in BroadcastStatus
505
+
506
+ ## v1.2.2
507
+
508
+ - Updated ReportCol entity to set new default values
509
+ - New entity ReportDataType
510
+ - Possibility to export directly to the Report class
511
+ - Re-organized entities/ folder
512
+ - Added Broadcasts entities
513
+
514
+ ## v1.2.1
515
+
516
+ - Added Report Col entity
517
+
518
+ ## v1.2.0
519
+
520
+ - Added reports entities
521
+
522
+ ## v1.1.4
523
+
524
+ - Bug fixes
525
+
526
+ ## v1.1.3
527
+
528
+ - Bug fixes
529
+
530
+ ## v1.1.2
531
+
532
+ - Bug fixes
533
+
534
+ ## v1.1.1
535
+
536
+ - Bug fixes
537
+
538
+ ## v1.1.0
539
+
540
+ - Reorganized files
541
+ - Added new Charts entities
542
+
543
+ ## v1.0.14
544
+
545
+ - Added CONTAINS, STARTS_WITH, ENDS_WITH functions to the Layrz Computed Language
546
+
547
+ ## v1.0.13
548
+
549
+ - Fixed missing import into `layrzsdk.entities.__init__.py`
550
+
551
+ ## v1.0.12
552
+
553
+ - Added Geofence, Comment, Waypoint and Checkpoint entities
554
+
555
+ ## v1.0.11
556
+
557
+ - Added User, Comment and Case entities
558
+
559
+ ## v1.0.10
560
+
561
+ - Fixes
562
+
563
+ ## v1.0.9
564
+
565
+ - Added Event and Trigger entities
566
+ - Renamed file `mesage.py` to `message.py`
567
+
568
+ ## v1.0.8
569
+
570
+ - Added title getter of all charts entities
571
+
572
+ ## v1.0.7
573
+
574
+ - Added PieChart, BarChart, and RadialBarChart entities
575
+
576
+ ## v1.0.6
577
+
578
+ - Fixed STING to STRING bug in ChartDataType enum
579
+
580
+ ## v1.0.5
581
+
582
+ - Bug fixes
583
+
584
+ ## v1.0.4
585
+
586
+ - Added data_type argument of ChartDataSerie
587
+
588
+ ## v1.0.3
589
+
590
+ - Added Chart configuration entity
591
+
592
+ ## v1.0.2
593
+
594
+ - Added entities for Range Charts:
595
+ - Line Charts
596
+ - Area Charts
597
+ - Column Charts
598
+
599
+ ## v1.0.1
600
+
601
+ - Added entities for Sensors and Triggers
602
+
603
+ ## v1.0.0
604
+
605
+ - Initial release