splight-lib 5.11.0__tar.gz → 5.11.1.dev0__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.
Files changed (108) hide show
  1. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/PKG-INFO +1 -1
  2. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/pyproject.toml +1 -1
  3. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/database/classmap.py +1 -1
  4. splight_lib-5.11.1.dev0/splight_lib/models/dashboard.py +98 -0
  5. splight_lib-5.11.0/splight_lib/models/dashboard.py +0 -93
  6. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/LICENSE.txt +0 -0
  7. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/README.md +0 -0
  8. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/__init__.py +0 -0
  9. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/abstract/__init__.py +0 -0
  10. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/abstract/client.py +0 -0
  11. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/auth/__init__.py +0 -0
  12. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/auth/exceptions.py +0 -0
  13. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/auth/mac_auth.py +0 -0
  14. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/auth/token.py +0 -0
  15. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/__init__.py +0 -0
  16. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/database/__init__.py +0 -0
  17. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/database/abstract.py +0 -0
  18. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/database/builder.py +0 -0
  19. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/database/remote_client.py +0 -0
  20. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/__init__.py +0 -0
  21. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/abstract.py +0 -0
  22. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/buffer.py +0 -0
  23. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/builder.py +0 -0
  24. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/constants.py +0 -0
  25. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/exceptions.py +0 -0
  26. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/datalake/remote_client.py +0 -0
  27. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/exceptions.py +0 -0
  28. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/file_handler.py +0 -0
  29. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/filter.py +0 -0
  30. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/hub/__init__.py +0 -0
  31. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/hub/abstract.py +0 -0
  32. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/hub/client.py +0 -0
  33. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/tests/test_database.py +0 -0
  34. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/client/tests/test_datalake.py +0 -0
  35. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/__init__.py +0 -0
  36. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/abstract.py +0 -0
  37. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/exceptions.py +0 -0
  38. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/spec.py +0 -0
  39. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/tests/test_abstract.py +0 -0
  40. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/component/tests/test_spec.py +0 -0
  41. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/conftest.py +0 -0
  42. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/constants.py +0 -0
  43. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/encryption.py +0 -0
  44. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/__init__.py +0 -0
  45. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/engine.py +0 -0
  46. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/exceptions.py +0 -0
  47. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/scheduling.py +0 -0
  48. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/task.py +0 -0
  49. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/tests/test_execution.py +0 -0
  50. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/tests/test_scheduling.py +0 -0
  51. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/execution/trigger.py +0 -0
  52. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/__init__.py +0 -0
  53. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/_internal.py +0 -0
  54. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/component.py +0 -0
  55. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/constants.py +0 -0
  56. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/logging.py +0 -0
  57. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/logging/tests/test_logging.py +0 -0
  58. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/__init__.py +0 -0
  59. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/actions.py +0 -0
  60. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/alert.py +0 -0
  61. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/asset.py +0 -0
  62. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/attribute.py +0 -0
  63. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/component.py +0 -0
  64. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/data_address.py +0 -0
  65. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/database_base.py +0 -0
  66. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/datalake.py +0 -0
  67. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/datalake_base.py +0 -0
  68. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/exceptions.py +0 -0
  69. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/file.py +0 -0
  70. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/function.py +0 -0
  71. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/generic.py +0 -0
  72. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/hub.py +0 -0
  73. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/hub_server.py +0 -0
  74. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/hub_solution.py +0 -0
  75. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/metadata.py +0 -0
  76. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/native.py +0 -0
  77. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/secret.py +0 -0
  78. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/server.py +0 -0
  79. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/solution.py +0 -0
  80. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tag.py +0 -0
  81. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tests/models.json +0 -0
  82. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tests/test_component_object_instance.py +0 -0
  83. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tests/test_database_model.py +0 -0
  84. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tests/test_metadata.py +0 -0
  85. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/tests/test_models.py +0 -0
  86. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/models/variable_types.py +0 -0
  87. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/restclient/__init__.py +0 -0
  88. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/restclient/client.py +0 -0
  89. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/restclient/exceptions.py +0 -0
  90. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/restclient/tests/test_restclient.py +0 -0
  91. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/restclient/types.py +0 -0
  92. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/server/__init__.py +0 -0
  93. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/server/exceptions.py +0 -0
  94. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/server/server.py +0 -0
  95. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/settings.py +0 -0
  96. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/solution/__init__.py +0 -0
  97. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/solution/exceptions.py +0 -0
  98. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/solution/solution.py +0 -0
  99. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/stringcase.py +0 -0
  100. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/testing/__init__.py +0 -0
  101. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/tests/FakeProc.py +0 -0
  102. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/tests/asset_geometries.json +0 -0
  103. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/tests/test_api_contracts.py +0 -0
  104. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/tests/test_encryption.py +0 -0
  105. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/utils/__init__.py +0 -0
  106. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/utils/custom_model.py +0 -0
  107. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/utils/hub.py +0 -0
  108. {splight_lib-5.11.0 → splight_lib-5.11.1.dev0}/splight_lib/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-lib
3
- Version: 5.11.0
3
+ Version: 5.11.1.dev0
4
4
  Summary: Splight Library
5
5
  Author: Splight Dev
6
6
  Author-email: dev@splight-ae.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "splight-lib"
3
- version = "5.11.0"
3
+ version = "5.11.1dev0"
4
4
  description = "Splight Library"
5
5
  authors = ["Splight Dev <dev@splight-ae.com>"]
6
6
  readme = "README.md"
@@ -12,7 +12,7 @@ MODEL_NAME_MAP = {
12
12
  "attribute": f"{ENGINE_PREFIX}/attributes/",
13
13
  "metadata": f"{ENGINE_PREFIX}/metadata/",
14
14
  "chart": f"{ENGINE_PREFIX}/dashboard/charts/",
15
- "chartitem": f"{ENGINE_PREFIX}/dashboard/chartitems/",
15
+ "chartitem": f"{ENGINE_PREFIX}/dashboard/items/",
16
16
  "component": f"{ENGINE_PREFIX}/component/components/",
17
17
  "componentobject": f"{ENGINE_PREFIX}/component/objects/",
18
18
  "dashboard": f"{ENGINE_PREFIX}/dashboard/dashboards/",
@@ -0,0 +1,98 @@
1
+ from enum import auto
2
+ from typing import Annotated, Any
3
+
4
+ from pydantic import BaseModel, Field
5
+ from strenum import UppercaseStrEnum
6
+
7
+ from splight_lib.constants import DESCRIPTION_MAX_LENGTH
8
+ from splight_lib.models.database_base import (
9
+ ResourceSummary,
10
+ SplightDatabaseBaseModel,
11
+ )
12
+
13
+
14
+ class ChartItemType(UppercaseStrEnum):
15
+ QUERY = auto()
16
+ EXPRESSION = auto()
17
+
18
+
19
+ class Filter(SplightDatabaseBaseModel):
20
+ id: str | None = None
21
+ chart_item: str
22
+ operator: str | None = None
23
+ key: str | None = None
24
+ value: str | None = None
25
+ label: str | None = None
26
+
27
+
28
+ class AdvancedFilter(SplightDatabaseBaseModel):
29
+ id: str | None = None
30
+ chart_item: str
31
+ operator: str | None = None
32
+ key: str | None = None
33
+ field: str | None = None
34
+ value: str | None = None
35
+
36
+
37
+ class ChartItem(BaseModel):
38
+ id: str | None = None
39
+ type: ChartItemType = ChartItemType.QUERY
40
+ ref_id: str
41
+ # chart: str | None = None
42
+ label: str
43
+ order: int | None = None
44
+ color: str | None = None
45
+ hidden: bool = False
46
+ query_filter_asset: ResourceSummary | None = None
47
+ query_filter_attribute: ResourceSummary | None = None
48
+ query_group_unit: str | None = None
49
+ query_group_function: str | None = None
50
+ query_sort_field: str | None = None
51
+ query_sort_direction: int | None = -1
52
+ query_limit: int = 10000
53
+ query_plain: str = ""
54
+ position_x: int | None = None
55
+ position_y: int | None = None
56
+ expression: str | None = None
57
+ expression_plain: str | None = None
58
+
59
+
60
+ class Chart(SplightDatabaseBaseModel):
61
+ id: str | None = None
62
+ name: str
63
+ description: Annotated[
64
+ str | None, Field(max_length=DESCRIPTION_MAX_LENGTH)
65
+ ] = None
66
+ items: list[ChartItem] | None = None
67
+ tab: str
68
+ position_x: int | None = None
69
+ position_y: int | None = None
70
+ height: int | None = 28
71
+ width: int | None = 80
72
+ min_height: int | None = 14
73
+ min_width: int | None = 14
74
+ type: str | None = None
75
+ timestamp_gte: str | None = None
76
+ timestamp_lte: str | None = None
77
+ refresh_interval: str | None = None
78
+ relative_window_time: str | None = None
79
+ y_axis_max_limit: int | None = None
80
+ y_axis_min_limit: int | None = None
81
+ config: dict[str, Any] | None = None
82
+ chart_items: list[ChartItem] = []
83
+
84
+
85
+ class Tab(SplightDatabaseBaseModel):
86
+ id: str | None = None
87
+ name: str
88
+ charts: list[Chart] | None = None
89
+ order: int | None = None
90
+ dashboard: str
91
+
92
+
93
+ class Dashboard(SplightDatabaseBaseModel):
94
+ id: str | None = None
95
+ name: str
96
+ description: str | None = Field(
97
+ default=None, max_length=DESCRIPTION_MAX_LENGTH
98
+ )
@@ -1,93 +0,0 @@
1
- from typing import Any, Dict, List, Optional
2
-
3
- from pydantic import Field
4
-
5
- from splight_lib.constants import DESCRIPTION_MAX_LENGTH
6
- from splight_lib.models.database_base import SplightDatabaseBaseModel
7
-
8
-
9
- class Filter(SplightDatabaseBaseModel):
10
- id: Optional[str] = None
11
- chart_item: str
12
- operator: Optional[str] = None
13
- key: Optional[str] = None
14
- value: Optional[str] = None
15
- label: Optional[str] = None
16
-
17
-
18
- class AdvancedFilter(SplightDatabaseBaseModel):
19
- id: Optional[str] = None
20
- chart_item: str
21
- operator: Optional[str] = None
22
- key: Optional[str] = None
23
- field: Optional[str] = None
24
- value: Optional[str] = None
25
-
26
-
27
- class ChartItem(SplightDatabaseBaseModel):
28
- id: Optional[str] = None
29
- chart: str
30
- label: str
31
- order: Optional[int] = None
32
- color: Optional[str] = None
33
- position_x: Optional[str] = None
34
- position_y: Optional[str] = None
35
- width: Optional[str] = None
36
- height: Optional[str] = None
37
- split_by: Optional[str] = None
38
- aggregate_criteria: Optional[str] = None
39
- aggregate_period: Optional[str] = None
40
- source: Optional[str] = None
41
- source_label: Optional[str] = None
42
- source_type: Optional[str] = None
43
- source_component_label: Optional[str] = None
44
- source_component_id: Optional[str] = None
45
- output_format: Optional[str] = None
46
- target: Optional[str] = None
47
- old_source: Optional[str] = None
48
- old_source_label: Optional[str] = None
49
- filters: Optional[List[Filter]] = None
50
- advanced_filters: Optional[List[AdvancedFilter]] = None
51
- query_params: Optional[str] = None
52
-
53
-
54
- class Chart(SplightDatabaseBaseModel):
55
- id: Optional[str] = None
56
- name: str
57
- description: Optional[str] = Field(
58
- default=None, max_length=DESCRIPTION_MAX_LENGTH
59
- )
60
- items: Optional[List[ChartItem]] = None
61
- tab: str
62
- position_x: Optional[str] = 0
63
- position_y: Optional[str] = 0
64
- height: Optional[str] = 28
65
- width: Optional[str] = 80
66
- min_height: Optional[str] = 14
67
- min_width: Optional[str] = 14
68
- type: Optional[str] = None
69
- timestamp_gte: Optional[str] = None
70
- timestamp_lte: Optional[str] = None
71
- refresh_interval: Optional[str] = None
72
- relative_window_time: Optional[str] = None
73
- external_resource: Optional[str] = None
74
- external_resource_type: Optional[str] = None
75
- y_axis_max_limit: Optional[str] = None
76
- y_axis_min_limit: Optional[str] = None
77
- config: Optional[Dict[str, Any]] = None
78
-
79
-
80
- class Tab(SplightDatabaseBaseModel):
81
- id: Optional[str] = None
82
- name: str
83
- charts: Optional[List[Chart]] = None
84
- order: Optional[int] = None
85
- dashboard: str
86
-
87
-
88
- class Dashboard(SplightDatabaseBaseModel):
89
- id: Optional[str] = None
90
- name: str
91
- description: Optional[str] = Field(
92
- default=None, max_length=DESCRIPTION_MAX_LENGTH
93
- )