dasl-client 1.0.9__tar.gz → 1.0.11__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 dasl-client might be problematic. Click here for more details.
- {dasl_client-1.0.9 → dasl_client-1.0.11}/PKG-INFO +2 -2
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/auth/auth.py +6 -5
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/client.py +35 -1
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/__init__.py +1 -0
- dasl_client-1.0.11/dasl_client/types/content.py +235 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/workspace_config.py +4 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client.egg-info/PKG-INFO +2 -2
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client.egg-info/SOURCES.txt +1 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client.egg-info/requires.txt +1 -1
- {dasl_client-1.0.9 → dasl_client-1.0.11}/pyproject.toml +2 -2
- {dasl_client-1.0.9 → dasl_client-1.0.11}/LICENSE +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/README.md +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/__init__.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/auth/__init__.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/conn/__init__.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/conn/client_identifier.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/conn/conn.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/errors/__init__.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/errors/errors.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/helpers.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/__init__.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/errors.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/preview_engine.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/preview_parameters.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/stage.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/admin_config.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/datasource.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/dbui.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/helpers.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/rule.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/types/types.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client.egg-info/dependency_links.txt +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client.egg-info/top_level.txt +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/setup.cfg +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/setup.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/test/test_api_changes.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/test/test_api_surface.py +0 -0
- {dasl_client-1.0.9 → dasl_client-1.0.11}/test/test_marshaling.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dasl_client
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.11
|
|
4
4
|
Summary: The DASL client library used for interacting with the DASL workspace
|
|
5
5
|
Home-page: https://github.com/antimatter/asl
|
|
6
6
|
Author: Antimatter Team
|
|
@@ -8,7 +8,7 @@ Author-email: Antimatter Team <support@antimatter.io>
|
|
|
8
8
|
Requires-Python: >=3.8
|
|
9
9
|
Description-Content-Type: text/markdown
|
|
10
10
|
License-File: LICENSE
|
|
11
|
-
Requires-Dist: dasl_api==0.1.
|
|
11
|
+
Requires-Dist: dasl_api==0.1.14
|
|
12
12
|
Requires-Dist: databricks-sdk>=0.41.0
|
|
13
13
|
Requires-Dist: pydantic>=2
|
|
14
14
|
Requires-Dist: typing_extensions==4.10.0
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import abc
|
|
2
|
+
import base64
|
|
2
3
|
import time
|
|
3
4
|
from datetime import datetime
|
|
4
5
|
|
|
@@ -176,15 +177,15 @@ class DatabricksSecretAuth(Authorization):
|
|
|
176
177
|
principalName=self._principal,
|
|
177
178
|
)
|
|
178
179
|
handler = api.WorkspaceV1Api(api_client=self._client)
|
|
179
|
-
resp = handler.
|
|
180
|
-
workspace=self._workspace,
|
|
180
|
+
resp = handler.workspace_v1_request_secret(
|
|
181
|
+
workspace=self._workspace, workspace_v1_request_secret_request=req
|
|
181
182
|
)
|
|
182
183
|
secret_name = resp.secret_name
|
|
183
184
|
secret_value = ""
|
|
184
185
|
for tries in range(3):
|
|
185
186
|
try:
|
|
186
|
-
secret_value =
|
|
187
|
-
secret_name, "token"
|
|
187
|
+
secret_value = (
|
|
188
|
+
WorkspaceClient().secrets.get_secret(secret_name, "token").value
|
|
188
189
|
)
|
|
189
190
|
break
|
|
190
191
|
except ResourceDoesNotExist:
|
|
@@ -194,7 +195,7 @@ class DatabricksSecretAuth(Authorization):
|
|
|
194
195
|
raise RuntimeError(f"failed to complete secret auth")
|
|
195
196
|
|
|
196
197
|
req = WorkspaceV1AuthenticateRequest(
|
|
197
|
-
databricks_secret=secret_value,
|
|
198
|
+
databricks_secret=base64.b64decode(secret_value).decode("utf-8"),
|
|
198
199
|
)
|
|
199
200
|
handler = api.WorkspaceV1Api(api_client=self._client)
|
|
200
201
|
|
|
@@ -3,8 +3,8 @@ from typing import Any, Callable, Iterator, List, Optional, TypeVar
|
|
|
3
3
|
|
|
4
4
|
from dasl_api import (
|
|
5
5
|
CoreV1Api,
|
|
6
|
-
CoreV1DataSourceAutoloaderSpec,
|
|
7
6
|
DbuiV1Api,
|
|
7
|
+
ContentV1Api,
|
|
8
8
|
WorkspaceV1Api,
|
|
9
9
|
WorkspaceV1CreateWorkspaceRequest,
|
|
10
10
|
api,
|
|
@@ -13,6 +13,7 @@ from pydantic import Field
|
|
|
13
13
|
|
|
14
14
|
from dasl_client.auth.auth import (
|
|
15
15
|
Authorization,
|
|
16
|
+
DatabricksSecretAuth,
|
|
16
17
|
DatabricksTokenAuth,
|
|
17
18
|
ServiceAccountKeyAuth,
|
|
18
19
|
)
|
|
@@ -29,6 +30,8 @@ from .types import (
|
|
|
29
30
|
WorkspaceConfig,
|
|
30
31
|
TransformRequest,
|
|
31
32
|
TransformResponse,
|
|
33
|
+
DataSourcePresetsList,
|
|
34
|
+
DataSourcePreset,
|
|
32
35
|
)
|
|
33
36
|
|
|
34
37
|
|
|
@@ -229,6 +232,9 @@ class Client:
|
|
|
229
232
|
def _dbui_client(self) -> DbuiV1Api:
|
|
230
233
|
return DbuiV1Api(self.auth.client())
|
|
231
234
|
|
|
235
|
+
def _content_client(self) -> ContentV1Api:
|
|
236
|
+
return ContentV1Api(self.auth.client())
|
|
237
|
+
|
|
232
238
|
def _workspace(self) -> str:
|
|
233
239
|
return self.auth.workspace()
|
|
234
240
|
|
|
@@ -616,3 +622,31 @@ class Client:
|
|
|
616
622
|
limit=limit,
|
|
617
623
|
)
|
|
618
624
|
)
|
|
625
|
+
|
|
626
|
+
def list_presets(self) -> DataSourcePresetsList:
|
|
627
|
+
"""
|
|
628
|
+
List the Presets in this workspace. This will include any user defined
|
|
629
|
+
presets if a custom presets path has been configured in the workspace.
|
|
630
|
+
|
|
631
|
+
:returns: DataSourcePresetsList
|
|
632
|
+
"""
|
|
633
|
+
with error_handler():
|
|
634
|
+
return DataSourcePresetsList.from_api_obj(
|
|
635
|
+
self._content_client().content_v1_get_preset_data_sources(
|
|
636
|
+
self._workspace(),
|
|
637
|
+
)
|
|
638
|
+
)
|
|
639
|
+
|
|
640
|
+
def get_preset(self, name: str) -> DataSourcePreset:
|
|
641
|
+
"""
|
|
642
|
+
Get the preset with the argument name from the DASL server. If the preset name
|
|
643
|
+
begins with 'internal_' it will instead be collected from the user catalog,
|
|
644
|
+
provided a preset path is set in the workspace config.
|
|
645
|
+
|
|
646
|
+
:param name: The unique name of the DataSource preset within this workspace.
|
|
647
|
+
:returns: DataSourcePreset
|
|
648
|
+
"""
|
|
649
|
+
with error_handler():
|
|
650
|
+
return DataSourcePreset.from_api_obj(
|
|
651
|
+
self._content_client().content_v1_get_preset_datasource(self._workspace(), name)
|
|
652
|
+
)
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
from typing import Optional, List, Dict
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
|
|
4
|
+
from dasl_api import (
|
|
5
|
+
ContentV1PresetDataSourceList, ContentV1PresetDataSourceListItemsInner, ContentV1DatasourcePresetAutoloader,
|
|
6
|
+
ContentV1DatasourcePresetSilver, ContentV1DatasourcePresetSilverPreTransformInner,
|
|
7
|
+
ContentV1DatasourcePresetSilverTransformInner, ContentV1DatasourcePresetGoldInner, ContentV1DatasourcePreset,
|
|
8
|
+
ContentV1DatasourcePresetAutoloaderCloudFiles,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from .datasource import DataSource, FieldSpec, FieldUtils
|
|
12
|
+
from .helpers import Helpers
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SilverPreset(BaseModel):
|
|
16
|
+
class PreTransform(BaseModel):
|
|
17
|
+
name: Optional[str] = None
|
|
18
|
+
filter: Optional[str] = None
|
|
19
|
+
post_filter: Optional[str] = None
|
|
20
|
+
fields: Optional[List[Optional[FieldSpec]]] = None
|
|
21
|
+
utils: Optional[FieldUtils] = None
|
|
22
|
+
|
|
23
|
+
@staticmethod
|
|
24
|
+
def from_api_obj(
|
|
25
|
+
obj: Optional[ContentV1DatasourcePresetSilverPreTransformInner],
|
|
26
|
+
) -> Optional["SilverPreset.PreTransform"]:
|
|
27
|
+
if obj is None:
|
|
28
|
+
return None
|
|
29
|
+
if obj.fields is not None:
|
|
30
|
+
fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
|
|
31
|
+
else:
|
|
32
|
+
fields = None
|
|
33
|
+
|
|
34
|
+
return SilverPreset.PreTransform(
|
|
35
|
+
name=obj.name,
|
|
36
|
+
filter=obj.filter,
|
|
37
|
+
post_filter=obj.post_filter,
|
|
38
|
+
fields=fields,
|
|
39
|
+
utils=FieldUtils.from_api_obj(obj.utils),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
class Transform(BaseModel):
|
|
43
|
+
name: Optional[str] = None
|
|
44
|
+
filter: Optional[str] = None
|
|
45
|
+
post_filter: Optional[str] = None
|
|
46
|
+
fields: Optional[List[Optional[FieldSpec]]] = None
|
|
47
|
+
utils: Optional[FieldUtils] = None
|
|
48
|
+
|
|
49
|
+
@staticmethod
|
|
50
|
+
def from_api_obj(
|
|
51
|
+
obj: Optional[ContentV1DatasourcePresetSilverTransformInner],
|
|
52
|
+
) -> Optional["SilverPreset.Transform"]:
|
|
53
|
+
if obj is None:
|
|
54
|
+
return None
|
|
55
|
+
if obj.fields is not None:
|
|
56
|
+
fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
|
|
57
|
+
else:
|
|
58
|
+
fields = None
|
|
59
|
+
|
|
60
|
+
return SilverPreset.Transform(
|
|
61
|
+
name=obj.name,
|
|
62
|
+
filter=obj.filter,
|
|
63
|
+
post_filter=obj.post_filter,
|
|
64
|
+
fields=fields,
|
|
65
|
+
utils=FieldUtils.from_api_obj(obj.utils),
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
pre_transform: Optional[List[PreTransform]] = None
|
|
69
|
+
transform: Optional[List[Transform]] = None
|
|
70
|
+
|
|
71
|
+
@staticmethod
|
|
72
|
+
def from_api_obj(
|
|
73
|
+
obj: Optional[ContentV1DatasourcePresetSilver],
|
|
74
|
+
) -> Optional["SilverPreset"]:
|
|
75
|
+
if obj is None:
|
|
76
|
+
return None
|
|
77
|
+
|
|
78
|
+
if obj.pre_transform is not None:
|
|
79
|
+
pre_transform = [SilverPreset.PreTransform.from_api_obj(item) for item in obj.pre_transform]
|
|
80
|
+
else:
|
|
81
|
+
pre_transform = None
|
|
82
|
+
|
|
83
|
+
if obj.transform is not None:
|
|
84
|
+
transform = [SilverPreset.Transform.from_api_obj(item) for item in obj.transform]
|
|
85
|
+
else:
|
|
86
|
+
transform = None
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
return SilverPreset(
|
|
90
|
+
pre_transform=pre_transform,
|
|
91
|
+
transform=transform,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class GoldPreset(BaseModel):
|
|
96
|
+
name: str
|
|
97
|
+
input: str
|
|
98
|
+
filter: Optional[str] = None
|
|
99
|
+
post_filter: Optional[str] = None
|
|
100
|
+
fields: Optional[List[Optional[FieldSpec]]] = None
|
|
101
|
+
utils: Optional[FieldUtils] = None
|
|
102
|
+
|
|
103
|
+
@staticmethod
|
|
104
|
+
def from_api_obj(
|
|
105
|
+
obj: Optional[ContentV1DatasourcePresetGoldInner],
|
|
106
|
+
) -> Optional["GoldPreset"]:
|
|
107
|
+
if obj is None:
|
|
108
|
+
return None
|
|
109
|
+
if obj.fields is not None:
|
|
110
|
+
fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
|
|
111
|
+
else:
|
|
112
|
+
fields = None
|
|
113
|
+
|
|
114
|
+
return GoldPreset(
|
|
115
|
+
name=obj.name,
|
|
116
|
+
input=obj.input,
|
|
117
|
+
filter=obj.filter,
|
|
118
|
+
post_filter=obj.post_filter,
|
|
119
|
+
fields=fields,
|
|
120
|
+
utils=FieldUtils.from_api_obj(obj.utils),
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class PresetCloudFiles(BaseModel):
|
|
125
|
+
schema_hints_file: Optional[str] = None
|
|
126
|
+
schema_hints: Optional[str] = None
|
|
127
|
+
|
|
128
|
+
@staticmethod
|
|
129
|
+
def from_api_obj(
|
|
130
|
+
obj: Optional[ContentV1DatasourcePresetAutoloaderCloudFiles],
|
|
131
|
+
) -> Optional["PresetCloudFiles"]:
|
|
132
|
+
if obj is None:
|
|
133
|
+
return None
|
|
134
|
+
|
|
135
|
+
return PresetCloudFiles(
|
|
136
|
+
schema_hints_file=obj.schema_hints_file,
|
|
137
|
+
schema_hints=obj.schema_hints,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class PresetAutoloader(BaseModel):
|
|
142
|
+
format: str
|
|
143
|
+
schema_file: Optional[str] = None
|
|
144
|
+
var_schema: Optional[str] = None
|
|
145
|
+
cloud_files: Optional[PresetCloudFiles] = None
|
|
146
|
+
|
|
147
|
+
@staticmethod
|
|
148
|
+
def from_api_obj(
|
|
149
|
+
obj: Optional[ContentV1DatasourcePresetAutoloader],
|
|
150
|
+
) -> Optional["PresetAutoloader"]:
|
|
151
|
+
if obj is None:
|
|
152
|
+
return None
|
|
153
|
+
|
|
154
|
+
return PresetAutoloader(
|
|
155
|
+
format=obj.format,
|
|
156
|
+
schema_file=obj.schema_file,
|
|
157
|
+
var_schema=obj.var_schema,
|
|
158
|
+
cloud_files=PresetCloudFiles.from_api_obj(obj.cloud_files),
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
class DataSourcePreset(BaseModel):
|
|
162
|
+
|
|
163
|
+
name: Optional[str] = None
|
|
164
|
+
author: Optional[str] = None
|
|
165
|
+
description: Optional[str] = None
|
|
166
|
+
autoloader: Optional[PresetAutoloader] = None
|
|
167
|
+
silver: Optional[SilverPreset] = None
|
|
168
|
+
gold: Optional[List[GoldPreset]] = None
|
|
169
|
+
|
|
170
|
+
@staticmethod
|
|
171
|
+
def from_api_obj(
|
|
172
|
+
obj: Optional[ContentV1DatasourcePreset],
|
|
173
|
+
) -> Optional["DataSourcePreset"]:
|
|
174
|
+
if obj is None:
|
|
175
|
+
return None
|
|
176
|
+
|
|
177
|
+
return DataSourcePreset(
|
|
178
|
+
name=obj.name,
|
|
179
|
+
author=obj.author,
|
|
180
|
+
description=obj.description,
|
|
181
|
+
autoloader=PresetAutoloader.from_api_obj(obj.autoloader),
|
|
182
|
+
silver=SilverPreset.from_api_obj(obj.silver),
|
|
183
|
+
gold=[GoldPreset.from_api_obj(item) for item in obj.gold],
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class DataSourcePresetSummary(BaseModel):
|
|
188
|
+
name: Optional[str] = None
|
|
189
|
+
source: Optional[str] = None
|
|
190
|
+
source_type: Optional[str] = None
|
|
191
|
+
description: Optional[str] = None
|
|
192
|
+
title: Optional[str] = None
|
|
193
|
+
author: Optional[str] = None
|
|
194
|
+
icon_url: Optional[str] = None
|
|
195
|
+
|
|
196
|
+
@staticmethod
|
|
197
|
+
def from_api_obj(
|
|
198
|
+
obj: Optional[ContentV1PresetDataSourceListItemsInner],
|
|
199
|
+
) -> Optional["DataSourcePresetSummary"]:
|
|
200
|
+
if obj is None:
|
|
201
|
+
return None
|
|
202
|
+
|
|
203
|
+
return DataSourcePresetSummary(
|
|
204
|
+
name=obj.name,
|
|
205
|
+
source=obj.source,
|
|
206
|
+
source_type=obj.source_type,
|
|
207
|
+
description=obj.description,
|
|
208
|
+
title=obj.title,
|
|
209
|
+
author=obj.author,
|
|
210
|
+
icon_url=obj.icon_url,
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
class DataSourcePresetsList(BaseModel):
|
|
214
|
+
kind: Optional[str] = None
|
|
215
|
+
cursor: Optional[str] = None
|
|
216
|
+
items: List["DataSourcePresetSummary"] = []
|
|
217
|
+
|
|
218
|
+
@staticmethod
|
|
219
|
+
def from_api_obj(
|
|
220
|
+
obj: Optional[ContentV1PresetDataSourceList],
|
|
221
|
+
) -> Optional["DataSourcePresetsList"]:
|
|
222
|
+
if obj is None:
|
|
223
|
+
return None
|
|
224
|
+
cursor = None
|
|
225
|
+
if obj.metadata is not None:
|
|
226
|
+
cursor = obj.metadata.cursor
|
|
227
|
+
|
|
228
|
+
return DataSourcePresetsList(
|
|
229
|
+
kind=obj.kind,
|
|
230
|
+
cursor=cursor,
|
|
231
|
+
items=[
|
|
232
|
+
DataSourcePresetSummary.from_api_obj(item)
|
|
233
|
+
for item in obj.items
|
|
234
|
+
],
|
|
235
|
+
)
|
|
@@ -576,6 +576,8 @@ class WorkspaceConfig(BaseModel):
|
|
|
576
576
|
dasl_storage_path (Optional[str]):
|
|
577
577
|
The path to a directory where DASL can store internal files and
|
|
578
578
|
state.
|
|
579
|
+
dasl_custom_presets_path (Optional[str]):
|
|
580
|
+
An optional path to a directory containing user defined presets.
|
|
579
581
|
default_config (Optional[DefaultConfig]):
|
|
580
582
|
Configuration settings regarding storage of bronze, silver, and
|
|
581
583
|
gold tables and related assets for each resource type.
|
|
@@ -594,6 +596,7 @@ class WorkspaceConfig(BaseModel):
|
|
|
594
596
|
operational_alert_export: Optional[ExportConfig] = None
|
|
595
597
|
observables: Optional[WorkspaceConfigObservables] = None
|
|
596
598
|
dasl_storage_path: Optional[str] = None
|
|
599
|
+
dasl_custom_presets_path: Optional[str] = None
|
|
597
600
|
default_config: Optional[DefaultConfig] = None
|
|
598
601
|
managed_retention: Optional[List[ManagedRetention]] = None
|
|
599
602
|
status: Optional[ResourceStatus] = None
|
|
@@ -623,6 +626,7 @@ class WorkspaceConfig(BaseModel):
|
|
|
623
626
|
),
|
|
624
627
|
observables=WorkspaceConfigObservables.from_api_obj(spec.observables),
|
|
625
628
|
dasl_storage_path=spec.dasl_storage_path,
|
|
629
|
+
dasl_custom_presets_path=spec.dasl_custom_presets_path,
|
|
626
630
|
default_config=DefaultConfig.from_api_obj(spec.default_config),
|
|
627
631
|
managed_retention=managed_retention,
|
|
628
632
|
status=ResourceStatus.from_api_obj(obj.status),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dasl_client
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.11
|
|
4
4
|
Summary: The DASL client library used for interacting with the DASL workspace
|
|
5
5
|
Home-page: https://github.com/antimatter/asl
|
|
6
6
|
Author: Antimatter Team
|
|
@@ -8,7 +8,7 @@ Author-email: Antimatter Team <support@antimatter.io>
|
|
|
8
8
|
Requires-Python: >=3.8
|
|
9
9
|
Description-Content-Type: text/markdown
|
|
10
10
|
License-File: LICENSE
|
|
11
|
-
Requires-Dist: dasl_api==0.1.
|
|
11
|
+
Requires-Dist: dasl_api==0.1.14
|
|
12
12
|
Requires-Dist: databricks-sdk>=0.41.0
|
|
13
13
|
Requires-Dist: pydantic>=2
|
|
14
14
|
Requires-Dist: typing_extensions==4.10.0
|
|
@@ -24,6 +24,7 @@ dasl_client/preset_development/preview_parameters.py
|
|
|
24
24
|
dasl_client/preset_development/stage.py
|
|
25
25
|
dasl_client/types/__init__.py
|
|
26
26
|
dasl_client/types/admin_config.py
|
|
27
|
+
dasl_client/types/content.py
|
|
27
28
|
dasl_client/types/datasource.py
|
|
28
29
|
dasl_client/types/dbui.py
|
|
29
30
|
dasl_client/types/helpers.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dasl_client"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.11"
|
|
8
8
|
description = "The DASL client library used for interacting with the DASL workspace"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -13,7 +13,7 @@ authors = [
|
|
|
13
13
|
requires-python = ">=3.8"
|
|
14
14
|
|
|
15
15
|
dependencies = [
|
|
16
|
-
"dasl_api==0.1.
|
|
16
|
+
"dasl_api==0.1.14",
|
|
17
17
|
"databricks-sdk>=0.41.0",
|
|
18
18
|
"pydantic>=2",
|
|
19
19
|
"typing_extensions==4.10.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dasl_client-1.0.9 → dasl_client-1.0.11}/dasl_client/preset_development/preview_parameters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|