splight-lib 5.8.0.dev0__tar.gz → 5.8.1__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 (98) hide show
  1. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/PKG-INFO +1 -1
  2. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/pyproject.toml +1 -1
  3. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/database/remote_client.py +3 -1
  4. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/alert.py +9 -7
  5. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/asset.py +2 -2
  6. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/base.py +3 -1
  7. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/solution.py +1 -40
  8. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/LICENSE.txt +0 -0
  9. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/README.md +0 -0
  10. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/__init__.py +0 -0
  11. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/abstract/__init__.py +0 -0
  12. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/abstract/client.py +0 -0
  13. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/auth/__init__.py +0 -0
  14. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/auth/exceptions.py +0 -0
  15. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/auth/mac_auth.py +0 -0
  16. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/auth/token.py +0 -0
  17. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/__init__.py +0 -0
  18. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/database/__init__.py +0 -0
  19. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/database/abstract.py +0 -0
  20. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/database/builder.py +0 -0
  21. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/database/classmap.py +0 -0
  22. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/__init__.py +0 -0
  23. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/abstract.py +0 -0
  24. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/buffer.py +0 -0
  25. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/builder.py +0 -0
  26. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/exceptions.py +0 -0
  27. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/remote_client.py +0 -0
  28. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/datalake/schemas.py +0 -0
  29. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/exceptions.py +0 -0
  30. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/file_handler.py +0 -0
  31. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/filter.py +0 -0
  32. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/hub/__init__.py +0 -0
  33. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/hub/abstract.py +0 -0
  34. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/hub/client.py +0 -0
  35. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/tests/test_database.py +0 -0
  36. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/client/tests/test_datalake.py +0 -0
  37. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/__init__.py +0 -0
  38. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/abstract.py +0 -0
  39. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/exceptions.py +0 -0
  40. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/spec.py +0 -0
  41. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/tests/test_abstract.py +0 -0
  42. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/component/tests/test_spec.py +0 -0
  43. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/conftest.py +0 -0
  44. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/constants.py +0 -0
  45. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/encryption.py +0 -0
  46. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/__init__.py +0 -0
  47. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/engine.py +0 -0
  48. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/exceptions.py +0 -0
  49. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/scheduling.py +0 -0
  50. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/task.py +0 -0
  51. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/tests/test_execution.py +0 -0
  52. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/tests/test_scheduling.py +0 -0
  53. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/execution/trigger.py +0 -0
  54. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/__init__.py +0 -0
  55. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/_internal.py +0 -0
  56. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/component.py +0 -0
  57. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/constants.py +0 -0
  58. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/logging.py +0 -0
  59. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/logging/tests/test_logging.py +0 -0
  60. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/__init__.py +0 -0
  61. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/attribute.py +0 -0
  62. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/component.py +0 -0
  63. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/dashboard.py +0 -0
  64. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/data_address.py +0 -0
  65. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/exceptions.py +0 -0
  66. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/file.py +0 -0
  67. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/function.py +0 -0
  68. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/generic.py +0 -0
  69. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/hub.py +0 -0
  70. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/hub_solution.py +0 -0
  71. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/metadata.py +0 -0
  72. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/native.py +0 -0
  73. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/pipeline.py +0 -0
  74. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/secret.py +0 -0
  75. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/tests/models.json +0 -0
  76. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/tests/test_component_object_instance.py +0 -0
  77. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/tests/test_database_model.py +0 -0
  78. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/tests/test_metadata.py +0 -0
  79. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/models/tests/test_models.py +0 -0
  80. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/restclient/__init__.py +0 -0
  81. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/restclient/client.py +0 -0
  82. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/restclient/exceptions.py +0 -0
  83. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/restclient/tests/test_restclient.py +0 -0
  84. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/restclient/types.py +0 -0
  85. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/settings.py +0 -0
  86. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/solution/__init__.py +0 -0
  87. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/solution/exceptions.py +0 -0
  88. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/solution/solution.py +0 -0
  89. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/stringcase.py +0 -0
  90. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/testing/__init__.py +0 -0
  91. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/tests/FakeProc.py +0 -0
  92. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/tests/asset_geometries.json +0 -0
  93. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/tests/test_api_contracts.py +0 -0
  94. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/tests/test_encryption.py +0 -0
  95. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/utils/__init__.py +0 -0
  96. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/utils/custom_model.py +0 -0
  97. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/utils/hub.py +0 -0
  98. {splight_lib-5.8.0.dev0 → splight_lib-5.8.1}/splight_lib/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-lib
3
- Version: 5.8.0.dev0
3
+ Version: 5.8.1
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.8.0.dev0"
3
+ version = "5.8.1"
4
4
  description = "Splight Library"
5
5
  authors = ["Splight Dev <dev@splight-ae.com>"]
6
6
  readme = "README.md"
@@ -212,7 +212,9 @@ class RemoteDatabaseClient(AbstractDatabaseClient, AbstractRemoteClient):
212
212
  InvalidModelName thrown when the model name is not correct.
213
213
  """
214
214
  if resource_name.lower() not in ["file", "hubsolutionversion"]:
215
- raise InvalidModel("Only files can be downloaded.")
215
+ raise InvalidModel(
216
+ "Only files and hub solution can be downloaded."
217
+ )
216
218
  api_path = self._get_api_path(resource_name)
217
219
  resource_id = instance.get("id")
218
220
  url = self._base_url / api_path / f"{resource_id}/download_url/"
@@ -52,20 +52,22 @@ class AlertItem(BaseModel):
52
52
 
53
53
  ref_id: str = Field(max_length=5)
54
54
  type: AlertItemType = AlertItemType.QUERY
55
+ label: Optional[str] = None
55
56
 
56
- expression: str = ""
57
- expression_plain: str = ""
57
+ expression: Optional[str] = None
58
+ expression_plain: Optional[str] = ""
58
59
 
59
60
  query_filter_asset: Optional[QueryFilter] = None
60
61
  query_filter_attribute: Optional[QueryFilter] = None
62
+ query_filter_metadata: Optional[QueryFilter] = None
61
63
 
62
- query_group_function: GroupCriteria = GroupCriteria.EMPTY
63
- query_group_unit: GroupUnit = GroupUnit.EMPTY
64
+ query_group_function: Optional[GroupCriteria] = None
65
+ query_group_unit: Optional[GroupUnit] = None
64
66
 
65
- query_sort_field: str = ""
66
- query_sort_direction: int = Field(-1, ge=-1, le=1)
67
+ query_sort_field: Optional[str] = None
68
+ query_sort_direction: Optional[int] = Field(-1, ge=-1, le=1)
67
69
 
68
- query_plain: str = ""
70
+ query_plain: Optional[str] = ""
69
71
  query_limit: int = Field(10000, ge=1, le=10000)
70
72
 
71
73
  @model_validator(mode="after")
@@ -22,9 +22,9 @@ class AssetRelationship(BaseModel):
22
22
  id: str
23
23
  name: str
24
24
  description: Optional[str] = None
25
- related_asset_kind: Optional[str] = None
25
+ related_asset_kind: Optional[AssetRepr] = None
26
26
  asset: AssetRepr
27
- related_asset: AssetRepr
27
+ related_asset: Optional[AssetRepr] = None
28
28
 
29
29
 
30
30
  class AssetKind(SplightDatabaseBaseModel):
@@ -48,7 +48,9 @@ class SplightDatabaseBaseModel(BaseModel):
48
48
  self.model_dump(exclude_none=True, mode="json"),
49
49
  files=files_dict,
50
50
  )
51
- return self.model_validate(saved)
51
+ instance = self.model_validate(saved)
52
+ for key, field in self.model_fields.items():
53
+ setattr(self, key, getattr(instance, key))
52
54
 
53
55
  def delete(self):
54
56
  self._db_client.delete(
@@ -61,25 +61,10 @@ def load_solution_resources(
61
61
  return resources
62
62
 
63
63
 
64
- # class Solution(BaseModel):
65
- # id: str
66
- # name: str
67
- # description: str
68
- # hub_solution: HubSolution
69
- #
70
- # @classmethod
71
- # def list(cls) -> list[Self]:
72
- # return [solution.parse() for solution in RawSolution.list()]
73
- #
74
- # @classmethod
75
- # def retrieve(cls, solution_id: str) -> Self:
76
- # return RawSolution.retrieve(solution_id).parse()
77
-
78
-
79
64
  class Solution(SplightDatabaseBaseModel):
80
65
  id: Optional[str] = None
81
66
  name: str
82
- description: str
67
+ description: Optional[str] = None
83
68
  hub_solution: HubSolution
84
69
  raw_config: list[dict] = Field(alias="config")
85
70
  raw_resources: list[dict] = Field(alias="resources")
@@ -135,27 +120,3 @@ class Solution(SplightDatabaseBaseModel):
135
120
  if item["name"] == key:
136
121
  item["value"] = value
137
122
  break
138
-
139
- # def parse(self) -> Solution:
140
- # config = load_solution_config(self.config)
141
- # config_type = NamedTuple(
142
- # "Config", [(x["name"], Any) for x in self.config]
143
- # )
144
- # resources = load_solution_resources(self.resources)
145
- # resouces_type = NamedTuple(
146
- # "Resources", [(x["name"], Any) for x in self.resources]
147
- # )
148
- # model = create_model(
149
- # "Solution",
150
- # __base__=Solution,
151
- # config=(config_type, ...),
152
- # resources=(resouces_type, ...),
153
- # )
154
- # return model(
155
- # id=self.id,
156
- # name=self.name,
157
- # description=self.description,
158
- # hub_solution=self.hub_solution,
159
- # config=config,
160
- # resources=resources,
161
- # )
File without changes