splight-lib 4.5.2__tar.gz → 4.5.4__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 (104) hide show
  1. {splight_lib-4.5.2 → splight_lib-4.5.4}/PKG-INFO +3 -3
  2. {splight_lib-4.5.2 → splight_lib-4.5.4}/pyproject.toml +3 -3
  3. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/tests/test_database.py +27 -2
  4. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/tests/test_datalake.py +23 -2
  5. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/component.py +11 -0
  6. {splight_lib-4.5.2 → splight_lib-4.5.4}/LICENSE.txt +0 -0
  7. {splight_lib-4.5.2 → splight_lib-4.5.4}/README.md +0 -0
  8. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/__init__.py +0 -0
  9. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/abstract/__init__.py +0 -0
  10. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/abstract/client.py +0 -0
  11. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/auth/__init__.py +0 -0
  12. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/auth/exceptions.py +0 -0
  13. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/auth/mac_auth.py +0 -0
  14. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/auth/token.py +0 -0
  15. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/__init__.py +0 -0
  16. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/__init__.py +0 -0
  17. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/abstract.py +0 -0
  18. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/classmap.py +0 -0
  19. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/exceptions.py +0 -0
  20. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/local_client.py +0 -0
  21. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/communication/remote_client.py +0 -0
  22. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/__init__.py +0 -0
  23. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/abstract.py +0 -0
  24. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/builder.py +0 -0
  25. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/classmap.py +0 -0
  26. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/local_client.py +0 -0
  27. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/database/remote_client.py +0 -0
  28. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/datalake/__init__.py +0 -0
  29. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/datalake/abstract.py +0 -0
  30. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/datalake/builder.py +0 -0
  31. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/datalake/local_client.py +0 -0
  32. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/datalake/remote_client.py +0 -0
  33. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/exceptions.py +0 -0
  34. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/file_handler.py +0 -0
  35. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/filter.py +0 -0
  36. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/hub/__init__.py +0 -0
  37. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/hub/abstract.py +0 -0
  38. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/hub/client.py +0 -0
  39. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/tests/test_communication.py +0 -0
  40. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/client/tests/test_hub.py +0 -0
  41. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/communication/__init__.py +0 -0
  42. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/communication/event_handler.py +0 -0
  43. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/communication/tests/test_event_handler.py +0 -0
  44. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/__init__.py +0 -0
  45. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/abstract.py +0 -0
  46. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/exceptions.py +0 -0
  47. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/spec.py +0 -0
  48. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/tests/test_abstract.py +0 -0
  49. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/component/tests/test_spec.py +0 -0
  50. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/constants.py +0 -0
  51. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/encryption.py +0 -0
  52. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/__init__.py +0 -0
  53. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/engine.py +0 -0
  54. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/exceptions.py +0 -0
  55. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/scheduling.py +0 -0
  56. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/task.py +0 -0
  57. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/tests/test_execution.py +0 -0
  58. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/tests/test_scheduling.py +0 -0
  59. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/execution/trigger.py +0 -0
  60. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/__init__.py +0 -0
  61. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/_internal.py +0 -0
  62. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/component.py +0 -0
  63. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/constants.py +0 -0
  64. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/logging.py +0 -0
  65. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/logging/tests/test_logging.py +0 -0
  66. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/__init__.py +0 -0
  67. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/alert.py +0 -0
  68. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/asset.py +0 -0
  69. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/attribute.py +0 -0
  70. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/base.py +0 -0
  71. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/communication.py +0 -0
  72. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/dashboard.py +0 -0
  73. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/data_address.py +0 -0
  74. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/event.py +0 -0
  75. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/exceptions.py +0 -0
  76. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/file.py +0 -0
  77. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/function.py +0 -0
  78. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/generic.py +0 -0
  79. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/hub.py +0 -0
  80. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/metadata.py +0 -0
  81. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/native.py +0 -0
  82. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/pipeline.py +0 -0
  83. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/secret.py +0 -0
  84. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/tests/models.json +0 -0
  85. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/tests/test_component_object_instance.py +0 -0
  86. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/tests/test_database_model.py +0 -0
  87. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/tests/test_metadata.py +0 -0
  88. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/models/tests/test_models.py +0 -0
  89. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/restclient/__init__.py +0 -0
  90. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/restclient/client.py +0 -0
  91. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/restclient/exceptions.py +0 -0
  92. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/restclient/tests/test_restclient.py +0 -0
  93. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/restclient/types.py +0 -0
  94. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/settings.py +0 -0
  95. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/testing/__init__.py +0 -0
  96. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/tests/FakeProc.py +0 -0
  97. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/tests/asset_geometries.json +0 -0
  98. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/tests/test_api_contracts.py +0 -0
  99. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/tests/test_encryption.py +0 -0
  100. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/utils/__init__.py +0 -0
  101. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/utils/custom_model.py +0 -0
  102. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/utils/hub.py +0 -0
  103. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/version.py +0 -0
  104. {splight_lib-4.5.2 → splight_lib-4.5.4}/splight_lib/webhook.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-lib
3
- Version: 4.5.2
3
+ Version: 4.5.4
4
4
  Summary: Splight Library
5
5
  Author: Splight Dev
6
6
  Author-email: dev@splight-ae.com
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
13
  Requires-Dist: apscheduler (==3.10.4)
14
14
  Requires-Dist: concurrent-log-handler (==0.9.21)
15
- Requires-Dist: cryptography (==35.0.0)
15
+ Requires-Dist: cryptography (==41.0.7)
16
16
  Requires-Dist: email-validator (>=2.1.0.post1,<3.0.0)
17
17
  Requires-Dist: furl (==2.1.3)
18
18
  Requires-Dist: geojson-pydantic (==1.0.1)
@@ -24,7 +24,7 @@ Requires-Dist: pandas (==1.4.0)
24
24
  Requires-Dist: parameterized (==0.8.1)
25
25
  Requires-Dist: pathspec (==0.11.1)
26
26
  Requires-Dist: protobuf (==4.21.6)
27
- Requires-Dist: py7zr (==0.18.5)
27
+ Requires-Dist: py7zr (==0.20.8)
28
28
  Requires-Dist: pydantic (==2.4.2)
29
29
  Requires-Dist: pydantic-settings (==2.0.3)
30
30
  Requires-Dist: pysher (==1.0.8)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "splight-lib"
3
- version = "4.5.2"
3
+ version = "4.5.4"
4
4
  description = "Splight Library"
5
5
  authors = ["Splight Dev <dev@splight-ae.com>"]
6
6
  readme = "README.md"
@@ -8,7 +8,7 @@ readme = "README.md"
8
8
  [tool.poetry.dependencies]
9
9
  python = ">=3.8.1,<4"
10
10
  concurrent-log-handler = "0.9.21"
11
- cryptography = "35.0.0"
11
+ cryptography = "41.0.7"
12
12
  furl = "2.1.3"
13
13
  geojson-pydantic = "1.0.1"
14
14
  hexbytes = "0.2.2"
@@ -19,7 +19,7 @@ pandas = "1.4.0"
19
19
  parameterized = "0.8.1"
20
20
  pathspec = "0.11.1"
21
21
  protobuf = "4.21.6"
22
- py7zr = "0.18.5"
22
+ py7zr = "0.20.8"
23
23
  pydantic = "2.4.2"
24
24
  pysher = "1.0.8"
25
25
  pytz = "2021.3"
@@ -1,3 +1,4 @@
1
+ import os
1
2
  from unittest.mock import patch # noqa E402
2
3
 
3
4
  import pytest # noqa E402
@@ -10,8 +11,8 @@ from splight_lib.client.database.remote_client import ( # noqa E402
10
11
  from splight_lib.client.exceptions import InvalidModelName # noqa E402
11
12
 
12
13
  base_url = "http://test.com"
13
- access_id = "access_id"
14
- secret_key = "secret_key"
14
+ os.environ["ACCESS_ID"] = "access_id"
15
+ os.environ["SECRET_KEY"] = "secret_key"
15
16
 
16
17
 
17
18
  class MockResponse:
@@ -30,6 +31,9 @@ class MockResponse:
30
31
  @patch("splight_lib.client.database.remote_client.SplightAuthToken")
31
32
  @patch("splight_lib.client.database.remote_client.SplightRestClient")
32
33
  def test_initialization(mock_rest_client, mock_auth_token):
34
+ secret_key = os.getenv("SECRET_KEY")
35
+ access_id = os.getenv("ACCESS_ID")
36
+
33
37
  client = RemoteDatabaseClient(
34
38
  base_url=base_url,
35
39
  access_id=access_id,
@@ -49,6 +53,9 @@ def test_initialization(mock_rest_client, mock_auth_token):
49
53
  return_value=MockResponse({"name": "instance_name", "id": "some_id"}),
50
54
  )
51
55
  def test_save_without_id(mock_post):
56
+ secret_key = os.getenv("SECRET_KEY")
57
+ access_id = os.getenv("ACCESS_ID")
58
+
52
59
  client = RemoteDatabaseClient(
53
60
  base_url=base_url,
54
61
  access_id=access_id,
@@ -70,6 +77,9 @@ def test_save_without_id(mock_post):
70
77
  return_value=MockResponse({"name": "instance_name", "id": "instance_id"}),
71
78
  )
72
79
  def test_save_with_id(mock_put):
80
+ secret_key = os.getenv("SECRET_KEY")
81
+ access_id = os.getenv("ACCESS_ID")
82
+
73
83
  client = RemoteDatabaseClient(
74
84
  base_url=base_url,
75
85
  access_id=access_id,
@@ -88,6 +98,9 @@ def test_save_with_id(mock_put):
88
98
 
89
99
  @patch.object(SplightRestClient, "delete")
90
100
  def test_delete(mock_delete):
101
+ secret_key = os.getenv("SECRET_KEY")
102
+ access_id = os.getenv("ACCESS_ID")
103
+
91
104
  client = RemoteDatabaseClient(
92
105
  base_url=base_url,
93
106
  access_id=access_id,
@@ -98,6 +111,9 @@ def test_delete(mock_delete):
98
111
 
99
112
 
100
113
  def test_delete_invalid_model_name():
114
+ secret_key = os.getenv("SECRET_KEY")
115
+ access_id = os.getenv("ACCESS_ID")
116
+
101
117
  client = RemoteDatabaseClient(
102
118
  base_url=base_url,
103
119
  access_id=access_id,
@@ -110,6 +126,9 @@ def test_delete_invalid_model_name():
110
126
 
111
127
  @patch.object(SplightRestClient, "get")
112
128
  def test_get_with_id(mock_get):
129
+ secret_key = os.getenv("SECRET_KEY")
130
+ access_id = os.getenv("ACCESS_ID")
131
+
113
132
  mock_instance_id = "123"
114
133
  mock_get.return_value = MockResponse(
115
134
  {"name": "instance_name", "id": mock_instance_id}
@@ -127,6 +146,9 @@ def test_get_with_id(mock_get):
127
146
 
128
147
  @patch.object(SplightRestClient, "get")
129
148
  def test_get_without_id(mock_get):
149
+ secret_key = os.getenv("SECRET_KEY")
150
+ access_id = os.getenv("ACCESS_ID")
151
+
130
152
  mock_get.return_value = MockResponse(
131
153
  {
132
154
  "results": [{"name": "instance_name", "id": "instance_id"}],
@@ -146,6 +168,9 @@ def test_get_without_id(mock_get):
146
168
 
147
169
  @patch.object(SplightRestClient, "get")
148
170
  def test_get_without_id_and_set_first(mock_get):
171
+ secret_key = os.getenv("SECRET_KEY")
172
+ access_id = os.getenv("ACCESS_ID")
173
+
149
174
  mock_get.return_value = MockResponse(
150
175
  {
151
176
  "results": [{"name": "instance_name", "id": "instance_id"}],
@@ -9,8 +9,8 @@ from splight_lib.client.datalake.remote_client import ( # noqa E402
9
9
  )
10
10
 
11
11
  base_url = "http://test.com"
12
- access_id = "access_id"
13
- secret_key = "secret_key"
12
+ os.environ["ACCESS_ID"] = "access_id"
13
+ os.environ["SECRET_KEY"] = "secret_key"
14
14
 
15
15
 
16
16
  class MockResponse:
@@ -29,6 +29,9 @@ class MockResponse:
29
29
  @patch("splight_lib.client.datalake.remote_client.SplightAuthToken")
30
30
  @patch("splight_lib.client.datalake.remote_client.SplightRestClient")
31
31
  def test_initialization(mock_rest_client, mock_auth_token):
32
+ secret_key = os.getenv("SECRET_KEY")
33
+ access_id = os.getenv("ACCESS_ID")
34
+
32
35
  client = RemoteDatalakeClient(
33
36
  base_url=base_url,
34
37
  access_id=access_id,
@@ -45,6 +48,9 @@ def test_initialization(mock_rest_client, mock_auth_token):
45
48
  SplightRestClient, "post", return_value=MockResponse(({"key": "value"}))
46
49
  )
47
50
  def test_save(mock_post):
51
+ secret_key = os.getenv("SECRET_KEY")
52
+ access_id = os.getenv("ACCESS_ID")
53
+
48
54
  client = RemoteDatalakeClient(
49
55
  base_url=base_url,
50
56
  access_id=access_id,
@@ -63,6 +69,9 @@ def test_save(mock_post):
63
69
  return_value=MockResponse({"results": [{"key": "value"}]}),
64
70
  )
65
71
  def test_raw_get(mock_get):
72
+ secret_key = os.getenv("SECRET_KEY")
73
+ access_id = os.getenv("ACCESS_ID")
74
+
66
75
  client = RemoteDatalakeClient(base_url, access_id, secret_key)
67
76
  collection = "collection_name"
68
77
  result = client._raw_get("resource", collection)
@@ -72,6 +81,9 @@ def test_raw_get(mock_get):
72
81
 
73
82
  @patch.object(SplightRestClient, "delete", return_value=MockResponse(None))
74
83
  def test_delete(mock_delete):
84
+ secret_key = os.getenv("SECRET_KEY")
85
+ access_id = os.getenv("ACCESS_ID")
86
+
75
87
  client = RemoteDatalakeClient(base_url, access_id, secret_key)
76
88
  collection = "collection_name"
77
89
  client.delete(collection)
@@ -80,6 +92,9 @@ def test_delete(mock_delete):
80
92
 
81
93
  @patch.object(SplightRestClient, "post", return_value=MockResponse(None))
82
94
  def test_save_dataframe(mock_post):
95
+ secret_key = os.getenv("SECRET_KEY")
96
+ access_id = os.getenv("ACCESS_ID")
97
+
83
98
  client = RemoteDatalakeClient(base_url, access_id, secret_key)
84
99
  collection = "collection_name"
85
100
  dataframe = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
@@ -89,6 +104,9 @@ def test_save_dataframe(mock_post):
89
104
 
90
105
  @patch.object(SplightRestClient, "post", return_value=MockResponse(None))
91
106
  def test_create_index(mock_post):
107
+ secret_key = os.getenv("SECRET_KEY")
108
+ access_id = os.getenv("ACCESS_ID")
109
+
92
110
  client = RemoteDatalakeClient(base_url, access_id, secret_key)
93
111
  collection = "collection_name"
94
112
  indexes = [{"key": 1}]
@@ -100,6 +118,9 @@ def test_create_index(mock_post):
100
118
  SplightRestClient, "post", return_value=MockResponse([{"key": "value"}])
101
119
  )
102
120
  def test_raw_aggregate(mock_post):
121
+ secret_key = os.getenv("SECRET_KEY")
122
+ access_id = os.getenv("ACCESS_ID")
123
+
103
124
  client = RemoteDatalakeClient(base_url, access_id, secret_key)
104
125
  collection = "collection_name"
105
126
  pipeline = [{"$match": {"key": "value"}}]
@@ -12,6 +12,7 @@ from pydantic import (
12
12
  PrivateAttr,
13
13
  create_model,
14
14
  field_validator,
15
+ model_validator,
15
16
  )
16
17
  from strenum import LowercaseStrEnum, PascalCaseStrEnum
17
18
 
@@ -96,6 +97,16 @@ class DataAddress(Parameter):
96
97
  class InputDataAddress(DataAddress):
97
98
  value: Optional[Union[List[DLDataAddress], DLDataAddress]] = None
98
99
 
100
+ # NOTE: this is a patch.
101
+ # API returns [] as default for InputDataAddress with multiple set
102
+ # to true.
103
+ @model_validator(mode="after")
104
+ def validate_file(self):
105
+ if self.multiple and self.value is None:
106
+ self.value = []
107
+
108
+ return self
109
+
99
110
 
100
111
  class OutputParameter(BaseModel):
101
112
  name: str
File without changes
File without changes