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