dasl-client 1.0.7__py3-none-any.whl → 1.0.11__py3-none-any.whl
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/auth/auth.py +6 -5
- dasl_client/client.py +45 -9
- dasl_client/preset_development/__init__.py +4 -0
- dasl_client/preset_development/errors.py +159 -0
- dasl_client/preset_development/preview_engine.py +344 -0
- dasl_client/preset_development/preview_parameters.py +386 -0
- dasl_client/preset_development/stage.py +559 -0
- dasl_client/types/__init__.py +1 -0
- dasl_client/types/admin_config.py +10 -7
- dasl_client/types/content.py +235 -0
- dasl_client/types/datasource.py +177 -138
- dasl_client/types/dbui.py +46 -34
- dasl_client/types/rule.py +91 -65
- dasl_client/types/types.py +67 -54
- dasl_client/types/workspace_config.py +90 -74
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.11.dist-info}/METADATA +3 -2
- dasl_client-1.0.11.dist-info/RECORD +29 -0
- dasl_client-1.0.7.dist-info/RECORD +0 -23
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.11.dist-info}/LICENSE +0 -0
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.11.dist-info}/WHEEL +0 -0
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.11.dist-info}/top_level.txt +0 -0
|
@@ -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
|
+
)
|