splight-lib 5.17.3__tar.gz → 5.17.5.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 (110) hide show
  1. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/PKG-INFO +1 -1
  2. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/pyproject.toml +1 -1
  3. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/database/classmap.py +1 -0
  4. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/remote_client.py +5 -1
  5. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/__init__.py +2 -0
  6. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/function.py +0 -4
  7. splight_lib-5.17.5.dev0/splight_lib/models/load.py +22 -0
  8. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/LICENSE.txt +0 -0
  9. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/README.md +0 -0
  10. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/__init__.py +0 -0
  11. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/abstract/__init__.py +0 -0
  12. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/abstract/client.py +0 -0
  13. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/auth/__init__.py +0 -0
  14. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/auth/token.py +0 -0
  15. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/__init__.py +0 -0
  16. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/database/__init__.py +0 -0
  17. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/database/abstract.py +0 -0
  18. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/database/builder.py +0 -0
  19. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/database/remote_client.py +0 -0
  20. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/__init__.py +0 -0
  21. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/abstract.py +0 -0
  22. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/buffer.py +0 -0
  23. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/builder.py +0 -0
  24. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/constants.py +0 -0
  25. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/datalake/exceptions.py +0 -0
  26. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/exceptions.py +0 -0
  27. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/hub/__init__.py +0 -0
  28. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/hub/abstract.py +0 -0
  29. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/hub/client.py +0 -0
  30. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/tests/test_database.py +0 -0
  31. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/client/tests/test_datalake.py +0 -0
  32. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/__init__.py +0 -0
  33. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/abstract.py +0 -0
  34. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/exceptions.py +0 -0
  35. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/spec.py +0 -0
  36. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/tests/test_abstract.py +0 -0
  37. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/component/tests/test_spec.py +0 -0
  38. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/config.py +0 -0
  39. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/conftest.py +0 -0
  40. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/constants.py +0 -0
  41. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/encryption.py +0 -0
  42. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/__init__.py +0 -0
  43. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/engine.py +0 -0
  44. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/exceptions.py +0 -0
  45. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/scheduling.py +0 -0
  46. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/task.py +0 -0
  47. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/tests/test_execution.py +0 -0
  48. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/tests/test_scheduling.py +0 -0
  49. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/execution/trigger.py +0 -0
  50. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/__init__.py +0 -0
  51. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/_internal.py +0 -0
  52. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/component.py +0 -0
  53. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/constants.py +0 -0
  54. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/logging.py +0 -0
  55. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/logging/tests/test_logging.py +0 -0
  56. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/actions.py +0 -0
  57. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/alert.py +0 -0
  58. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/asset.py +0 -0
  59. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/attribute.py +0 -0
  60. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/bus.py +0 -0
  61. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/component.py +0 -0
  62. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/dashboard.py +0 -0
  63. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/data_address.py +0 -0
  64. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/database_base.py +0 -0
  65. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/datalake.py +0 -0
  66. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/datalake_base.py +0 -0
  67. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/exceptions.py +0 -0
  68. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/external_grid.py +0 -0
  69. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/file.py +0 -0
  70. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/generator.py +0 -0
  71. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/generic.py +0 -0
  72. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/grid.py +0 -0
  73. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/hub.py +0 -0
  74. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/hub_server.py +0 -0
  75. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/inverter.py +0 -0
  76. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/line.py +0 -0
  77. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/metadata.py +0 -0
  78. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/native.py +0 -0
  79. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/secret.py +0 -0
  80. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/segment.py +0 -0
  81. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/server.py +0 -0
  82. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/slack_generator.py +0 -0
  83. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/slack_line.py +0 -0
  84. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tag.py +0 -0
  85. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tests/models.json +0 -0
  86. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tests/test_component_object_instance.py +0 -0
  87. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tests/test_database_model.py +0 -0
  88. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tests/test_metadata.py +0 -0
  89. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/tests/test_models.py +0 -0
  90. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/three_winding_transformer.py +0 -0
  91. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/transformer.py +0 -0
  92. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/models/variable_types.py +0 -0
  93. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/restclient/__init__.py +0 -0
  94. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/restclient/client.py +0 -0
  95. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/restclient/exceptions.py +0 -0
  96. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/restclient/tests/test_restclient.py +0 -0
  97. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/restclient/types.py +0 -0
  98. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/server/__init__.py +0 -0
  99. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/server/exceptions.py +0 -0
  100. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/server/server.py +0 -0
  101. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/settings.py +0 -0
  102. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/testing/__init__.py +0 -0
  103. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/tests/FakeProc.py +0 -0
  104. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/tests/asset_geometries.json +0 -0
  105. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/tests/test_api_contracts.py +0 -0
  106. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/tests/test_encryption.py +0 -0
  107. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/utils/__init__.py +0 -0
  108. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/utils/custom_model.py +0 -0
  109. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/utils/hub.py +0 -0
  110. {splight_lib-5.17.3 → splight_lib-5.17.5.dev0}/splight_lib/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: splight-lib
3
- Version: 5.17.3
3
+ Version: 5.17.5.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
  [project]
2
2
  name = "splight-lib"
3
- version = "5.17.3"
3
+ version = "5.17.5dev0"
4
4
  description = "Splight Library"
5
5
  authors = [
6
6
  {name = "Splight Dev",email = "dev@splight-ae.com"}
@@ -38,6 +38,7 @@ MODEL_NAME_MAP = {
38
38
  "grid": f"{ENGINE_PREFIX}/asset/grids/",
39
39
  "inverter": f"{ENGINE_PREFIX}/asset/inverters/",
40
40
  "line": f"{ENGINE_PREFIX}/asset/lines/",
41
+ "load": f"{ENGINE_PREFIX}/asset/loads/",
41
42
  "query": f"{ENGINE_PREFIX}/queries/",
42
43
  "routineobject": f"{ENGINE_PREFIX}/component/routines/",
43
44
  "secret": f"{ENGINE_PREFIX}/secrets/",
@@ -2,6 +2,7 @@ from threading import Lock, Thread
2
2
  from time import sleep
3
3
 
4
4
  from furl import furl
5
+ from httpx import HTTPTransport
5
6
  from retry import retry
6
7
 
7
8
  from splight_lib.auth import SplightAuthToken
@@ -40,7 +41,10 @@ class SyncRemoteDatalakeClient(AbstractDatalakeClient):
40
41
  # TODO: In the future we should use the API_VERSION parameter
41
42
  # self._prefix = f"{api_version}/data"
42
43
  self._prefix = "v3/data"
43
- self._restclient = SplightRestClient()
44
+
45
+ self._restclient = SplightRestClient(
46
+ transport=HTTPTransport(retries=3)
47
+ )
44
48
  self._restclient.update_headers(token.header)
45
49
  logger.debug(
46
50
  "Remote datalake client initialized.", tags=LogTags.DATALAKE
@@ -48,6 +48,7 @@ from splight_lib.models.hub import HubComponent
48
48
  from splight_lib.models.hub_server import HubServer
49
49
  from splight_lib.models.inverter import Inverter
50
50
  from splight_lib.models.line import Line
51
+ from splight_lib.models.load import Load
51
52
  from splight_lib.models.metadata import Metadata
52
53
  from splight_lib.models.native import Boolean, Number, String
53
54
  from splight_lib.models.secret import Secret
@@ -109,6 +110,7 @@ __all__ = [
109
110
  Generator,
110
111
  Grid,
111
112
  Line,
113
+ Load,
112
114
  Inverter,
113
115
  SlackGenerator,
114
116
  SlackLine,
@@ -85,10 +85,6 @@ class FunctionItem(BaseModel):
85
85
  @model_validator(mode="after")
86
86
  def validate_expression(self):
87
87
  if self.type == FunctionItemType.EXPRESSION:
88
- if self.expression is None:
89
- raise MissingFunctionItemExpression(
90
- "Parameter 'expression' is required for expression type function items"
91
- )
92
88
  self.expression_plain = (
93
89
  self._get_expression_plain()
94
90
  if self.expression_plain is None
@@ -0,0 +1,22 @@
1
+ from typing import Any
2
+
3
+ from pydantic import model_validator
4
+
5
+ from splight_lib.models import AssetParams, AssetRelationship, Attribute
6
+ from splight_lib.models.database_base import SplightDatabaseBaseModel
7
+ from splight_lib.settings import SplightAPIVersion, api_settings
8
+
9
+
10
+ class Load(AssetParams, SplightDatabaseBaseModel):
11
+ active_power: Attribute | None = None
12
+ reactive_power: Attribute | None = None
13
+ switch_status: Attribute | None = None
14
+ bus: AssetRelationship | None = None
15
+ grid: AssetRelationship | None = None
16
+
17
+ @model_validator(mode="after")
18
+ @classmethod
19
+ def check_api_version(cls, data: Any) -> Any:
20
+ if api_settings.API_VERSION == SplightAPIVersion.V3:
21
+ raise NotImplementedError("Load kind is not supported in API v3.")
22
+ return data