fabricks 3.0.19__py3-none-any.whl → 4.0.1__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.
- fabricks/api/context.py +15 -3
- fabricks/api/notebooks/schedule.py +2 -3
- fabricks/api/parsers.py +2 -1
- fabricks/api/utils.py +3 -1
- fabricks/cdc/__init__.py +1 -2
- fabricks/cdc/base/__init__.py +1 -2
- fabricks/cdc/base/_types.py +5 -3
- fabricks/cdc/base/configurator.py +5 -0
- fabricks/cdc/base/generator.py +7 -3
- fabricks/cdc/base/merger.py +2 -0
- fabricks/cdc/base/processor.py +15 -0
- fabricks/cdc/templates/README.md +490 -0
- fabricks/cdc/templates/ctes/base.sql.jinja +1 -0
- fabricks/cdc/templates/ctes/current.sql.jinja +4 -0
- fabricks/cdc/templates/merges/scd1.sql.jinja +6 -0
- fabricks/cdc/templates/merges/scd2.sql.jinja +6 -0
- fabricks/cdc/templates/queries/context.sql.jinja +104 -96
- fabricks/cdc/templates/query.sql.jinja +1 -1
- fabricks/context/__init__.py +13 -1
- fabricks/context/config.py +13 -122
- fabricks/context/log.py +92 -1
- fabricks/context/runtime.py +35 -69
- fabricks/context/spark_session.py +4 -4
- fabricks/context/utils.py +26 -39
- fabricks/core/__init__.py +2 -2
- fabricks/core/dags/base.py +5 -5
- fabricks/core/dags/processor.py +2 -3
- fabricks/core/extenders.py +1 -1
- fabricks/core/job_schema.py +26 -16
- fabricks/core/jobs/__init__.py +1 -7
- fabricks/core/jobs/base/README.md +1545 -0
- fabricks/core/jobs/base/__init__.py +1 -8
- fabricks/core/jobs/base/checker.py +7 -7
- fabricks/core/jobs/base/configurator.py +142 -63
- fabricks/core/jobs/base/generator.py +38 -34
- fabricks/core/jobs/base/invoker.py +48 -63
- fabricks/core/jobs/base/processor.py +13 -28
- fabricks/core/jobs/bronze.py +88 -38
- fabricks/core/jobs/get_job.py +3 -6
- fabricks/core/jobs/get_job_conf.py +19 -68
- fabricks/core/jobs/get_jobs.py +10 -11
- fabricks/core/jobs/get_schedules.py +3 -17
- fabricks/core/jobs/gold.py +89 -47
- fabricks/core/jobs/silver.py +42 -22
- fabricks/core/masks.py +11 -8
- fabricks/core/parsers/__init__.py +0 -2
- fabricks/core/parsers/base.py +10 -10
- fabricks/core/parsers/decorator.py +1 -1
- fabricks/core/parsers/get_parser.py +4 -5
- fabricks/core/schedules/process.py +1 -4
- fabricks/core/steps/base.py +27 -17
- fabricks/core/steps/get_step.py +2 -4
- fabricks/core/steps/get_step_conf.py +3 -7
- fabricks/core/udfs.py +7 -7
- fabricks/core/views.py +2 -2
- fabricks/deploy/__init__.py +27 -16
- fabricks/deploy/masks.py +1 -1
- fabricks/deploy/notebooks.py +19 -16
- fabricks/deploy/schedules.py +1 -1
- fabricks/deploy/tables.py +66 -49
- fabricks/deploy/udfs.py +2 -2
- fabricks/deploy/views.py +15 -16
- fabricks/metastore/database.py +3 -3
- fabricks/metastore/table.py +103 -68
- fabricks/models/__init__.py +125 -0
- fabricks/models/common.py +79 -0
- fabricks/models/config.py +225 -0
- fabricks/models/dependency.py +50 -0
- fabricks/models/job.py +157 -0
- fabricks/models/path.py +17 -0
- fabricks/models/runtime.py +182 -0
- fabricks/models/schedule.py +21 -0
- fabricks/models/step.py +103 -0
- fabricks/models/table.py +77 -0
- fabricks/{core/jobs/get_job_id.py → models/utils.py} +2 -0
- fabricks/utils/helpers.py +6 -5
- fabricks/utils/log.py +25 -6
- fabricks/utils/path.py +265 -108
- fabricks/utils/pip.py +7 -7
- fabricks/utils/read/read.py +23 -22
- fabricks/utils/read/read_yaml.py +2 -2
- fabricks/utils/write/delta.py +4 -4
- fabricks/utils/write/stream.py +2 -2
- {fabricks-3.0.19.dist-info → fabricks-4.0.1.dist-info}/METADATA +9 -4
- {fabricks-3.0.19.dist-info → fabricks-4.0.1.dist-info}/RECORD +86 -83
- fabricks/context/_types.py +0 -139
- fabricks/context/helpers.py +0 -63
- fabricks/core/jobs/base/_types.py +0 -284
- fabricks/core/parsers/_types.py +0 -6
- fabricks/utils/fdict.py +0 -240
- fabricks/utils/pydantic.py +0 -94
- fabricks/utils/schema/__init__.py +0 -7
- fabricks/utils/schema/get_json_schema_for_type.py +0 -161
- fabricks/utils/schema/get_schema_for_type.py +0 -99
- {fabricks-3.0.19.dist-info → fabricks-4.0.1.dist-info}/WHEEL +0 -0
fabricks/utils/read/read_yaml.py
CHANGED
|
@@ -2,11 +2,11 @@ from typing import Iterable, Optional, cast
|
|
|
2
2
|
|
|
3
3
|
import yaml
|
|
4
4
|
|
|
5
|
-
from fabricks.utils.path import
|
|
5
|
+
from fabricks.utils.path import BasePath
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def read_yaml(
|
|
9
|
-
path:
|
|
9
|
+
path: BasePath,
|
|
10
10
|
root: Optional[str] = None,
|
|
11
11
|
preferred_file_name: Optional[str] = None,
|
|
12
12
|
) -> Iterable[dict]:
|
fabricks/utils/write/delta.py
CHANGED
|
@@ -2,13 +2,13 @@ from typing import List, Optional, Union, get_args
|
|
|
2
2
|
|
|
3
3
|
from pyspark.sql import DataFrame
|
|
4
4
|
|
|
5
|
-
from fabricks.utils.path import
|
|
5
|
+
from fabricks.utils.path import FileSharePath
|
|
6
6
|
from fabricks.utils.read._types import AllowedIOModes
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def write_delta(
|
|
10
10
|
df: DataFrame,
|
|
11
|
-
path:
|
|
11
|
+
path: FileSharePath,
|
|
12
12
|
mode: AllowedIOModes,
|
|
13
13
|
options: Optional[dict[str, str]] = None,
|
|
14
14
|
partition_by: Union[Optional[List[str]], str] = None,
|
|
@@ -30,7 +30,7 @@ def write_delta(
|
|
|
30
30
|
|
|
31
31
|
def append_delta(
|
|
32
32
|
df: DataFrame,
|
|
33
|
-
path:
|
|
33
|
+
path: FileSharePath,
|
|
34
34
|
options: Optional[dict[str, str]] = None,
|
|
35
35
|
partition_by: Union[Optional[List[str]], str] = None,
|
|
36
36
|
):
|
|
@@ -39,7 +39,7 @@ def append_delta(
|
|
|
39
39
|
|
|
40
40
|
def overwrite_delta(
|
|
41
41
|
df: DataFrame,
|
|
42
|
-
path:
|
|
42
|
+
path: FileSharePath,
|
|
43
43
|
options: Optional[dict[str, str]] = None,
|
|
44
44
|
partition_by: Union[Optional[List[str]], str] = None,
|
|
45
45
|
):
|
fabricks/utils/write/stream.py
CHANGED
|
@@ -3,12 +3,12 @@ from typing import Callable, Optional
|
|
|
3
3
|
from pyspark.sql import DataFrame
|
|
4
4
|
from pyspark.sql.streaming.query import StreamingQuery
|
|
5
5
|
|
|
6
|
-
from fabricks.utils.path import
|
|
6
|
+
from fabricks.utils.path import FileSharePath
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def write_stream(
|
|
10
10
|
df: DataFrame,
|
|
11
|
-
checkpoints_path:
|
|
11
|
+
checkpoints_path: FileSharePath,
|
|
12
12
|
func: Callable,
|
|
13
13
|
timeout: Optional[int] = 18000,
|
|
14
14
|
) -> StreamingQuery:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fabricks
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.1
|
|
4
4
|
Author-email: BMS DWH Team <bi_support@bmsuisse.ch>
|
|
5
5
|
Requires-Python: <4,>=3.9
|
|
6
6
|
Requires-Dist: azure-data-tables<13,>=12.5.0
|
|
@@ -8,15 +8,20 @@ Requires-Dist: azure-identity>=1.10.0
|
|
|
8
8
|
Requires-Dist: azure-storage-blob>=12.14.1
|
|
9
9
|
Requires-Dist: azure-storage-queue<13,>=12.10.0
|
|
10
10
|
Requires-Dist: databricks-cli>=0.18.0
|
|
11
|
+
Requires-Dist: databricks-connect>=11.0.0
|
|
11
12
|
Requires-Dist: databricks-sdk>=0.20.0
|
|
12
|
-
Requires-Dist:
|
|
13
|
+
Requires-Dist: deptry>=0.23.1
|
|
14
|
+
Requires-Dist: ipython>=8.18.1
|
|
13
15
|
Requires-Dist: jinja2>=2.11.3
|
|
14
16
|
Requires-Dist: mermaid-magic>=0.1.4
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: pandas>=2.2.3
|
|
18
|
+
Requires-Dist: py4j>=0.10.9.7
|
|
19
|
+
Requires-Dist: pydantic-settings>=2.11.0
|
|
17
20
|
Requires-Dist: pydantic>=1.10.21
|
|
21
|
+
Requires-Dist: pyspark>=3.5.7
|
|
18
22
|
Requires-Dist: python-dotenv>=1.0.1
|
|
19
23
|
Requires-Dist: pyyaml>=6.0.0
|
|
24
|
+
Requires-Dist: sparkdantic>=1.5.0
|
|
20
25
|
Requires-Dist: sqlglot>=22.1.1
|
|
21
26
|
Requires-Dist: tenacity>=9.1.2
|
|
22
27
|
Requires-Dist: tomli>=2.2.1; python_version < '3.11'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
fabricks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
fabricks/api/__init__.py,sha256=4dnYubkrmdep64e7_X8Wsk4Kc2N487oOct8H4qPlbjs,251
|
|
3
|
-
fabricks/api/context.py,sha256=
|
|
3
|
+
fabricks/api/context.py,sha256=xLWgwUaGhZRsjkgZLiHfIrXOXs4-CJ7hzcwHpWHD0t0,524
|
|
4
4
|
fabricks/api/core.py,sha256=5ctTW5N3tPnuh69OrDb7eS32Ol19dIICAWQ5VMDYY7A,157
|
|
5
5
|
fabricks/api/deploy.py,sha256=4sZiYogkS3kZ2RZNxWtrB-vnI0SVoocxwwZrH4x1CZc,57
|
|
6
6
|
fabricks/api/exceptions.py,sha256=F_V1hy0rnICdR_nFacRldoI3KbgA3oG02KffHWm3yjA,409
|
|
@@ -8,10 +8,10 @@ fabricks/api/extenders.py,sha256=Qk4ZDgEkXe-dtPINmePkbtWlhkC209X6YKkqG-8lHAo,69
|
|
|
8
8
|
fabricks/api/job_schema.py,sha256=Gtovg2RXFMpbfjD-wCc2H0GvRT1nTuMJHcuy7G42qU4,120
|
|
9
9
|
fabricks/api/log.py,sha256=WKthYM8n_E1ng9x_XCVm7cJkfRvtd6Y470tgwz3vd2Y,130
|
|
10
10
|
fabricks/api/masks.py,sha256=M1w5WsoNhM1Z0vIu3FSfM_VcNNPR269UuqKXvA5MbwM,117
|
|
11
|
-
fabricks/api/parsers.py,sha256=
|
|
11
|
+
fabricks/api/parsers.py,sha256=LHmEQjGaE5AfbGDnm_bzmBySlepHQmiFKOtjUDUzdsY,148
|
|
12
12
|
fabricks/api/schedules.py,sha256=gdYrujsUiCrVMMJaKMDkt7McncO-uZPl_QNgp10gZZk,215
|
|
13
13
|
fabricks/api/udfs.py,sha256=3JTX4OWkoW7_AP9pUKHVS0C6zIBVdOJoAn8MpmB6R48,124
|
|
14
|
-
fabricks/api/utils.py,sha256=
|
|
14
|
+
fabricks/api/utils.py,sha256=sauHVBo2f-E1hu1hp646BALwLqw2KXeCBqD-rRxm-No,256
|
|
15
15
|
fabricks/api/version.py,sha256=FukX94EbtmJMeajxyOwka8fMfFeaVc0cuM3I5CVIuK8,85
|
|
16
16
|
fabricks/api/views.py,sha256=dPqsGgDs9QOYc-5_QG_i4F_VoaFO5hGZQnIPZ31h5Ps,156
|
|
17
17
|
fabricks/api/cdc/__init__.py,sha256=Cl3LhLbQrA42IvNLqoV7CCbjQEYQMJfO6cAZv1l1aas,196
|
|
@@ -27,27 +27,28 @@ fabricks/api/notebooks/cluster.py,sha256=86AX2pS98XJ9RPxPS5hHJBoQw-rlQ3i4hpRoWeg
|
|
|
27
27
|
fabricks/api/notebooks/initialize.py,sha256=5M8VWECIdJgpB2Xf_RYOp90Cuil4KTCYLMUEd3gZQV8,803
|
|
28
28
|
fabricks/api/notebooks/process.py,sha256=9qwIVyBgufBdVFW1yZCxxeRpwBJQsIxVBXFd2HRubIo,1157
|
|
29
29
|
fabricks/api/notebooks/run.py,sha256=L7kZtti8D20jTQmAe6_a-8f92qHYFh3Td3x0qFKoFzo,1271
|
|
30
|
-
fabricks/api/notebooks/schedule.py,sha256=
|
|
30
|
+
fabricks/api/notebooks/schedule.py,sha256=Qa08mKo08yFOnM0Z3gNoaU5tDTl_Wtr8BKXbQjlV_9Y,1503
|
|
31
31
|
fabricks/api/notebooks/terminate.py,sha256=ef6I0Pj3rlE_BlMiEXR6AkLxOuYS9tyWoj9ZJ-B0Y60,741
|
|
32
|
-
fabricks/cdc/__init__.py,sha256=
|
|
32
|
+
fabricks/cdc/__init__.py,sha256=ZHCCo97QLuTvsiTsOLUnCtl_ztF7elEn-XqZ54P_5Gw,256
|
|
33
33
|
fabricks/cdc/cdc.py,sha256=2CjPUtogWjnvyLjwiyVllcyDV1gpJ0QoRP0yUsiHXuc,69
|
|
34
34
|
fabricks/cdc/nocdc.py,sha256=ObWojMINqwzNSipIKMj57wvQy3on_EIh65X-7MAspIs,490
|
|
35
35
|
fabricks/cdc/scd.py,sha256=HzC9ifEu45B4P2aOSgi97AGB-C56l6sKTLqdVinnHKo,670
|
|
36
36
|
fabricks/cdc/scd1.py,sha256=WsOVRsp55WEw4-7nEtb3dfv310icExrj-zEJSEehyz8,334
|
|
37
37
|
fabricks/cdc/scd2.py,sha256=4vZkhc8pJAUlgiBmIw9j_2RsWuAFMcgCkU3WMVt0A-A,334
|
|
38
|
-
fabricks/cdc/base/__init__.py,sha256=
|
|
39
|
-
fabricks/cdc/base/_types.py,sha256=
|
|
38
|
+
fabricks/cdc/base/__init__.py,sha256=DGluey_e7nbmlpc05YyojY_hGStXFoTBQB5Ataw9T4I,65
|
|
39
|
+
fabricks/cdc/base/_types.py,sha256=VlT0197d_JAx5iyBk8PKEYtJEmPpbM54QHc7qF4Mlxg,278
|
|
40
40
|
fabricks/cdc/base/cdc.py,sha256=9w5BqQxSVbFVEozJWmZQThqdppkE_SYi4fHSzJ7WMvA,78
|
|
41
|
-
fabricks/cdc/base/configurator.py,sha256=
|
|
42
|
-
fabricks/cdc/base/generator.py,sha256=
|
|
43
|
-
fabricks/cdc/base/merger.py,sha256=
|
|
44
|
-
fabricks/cdc/base/processor.py,sha256=
|
|
41
|
+
fabricks/cdc/base/configurator.py,sha256=01vjEyIK0XGZYe85gYMOvgM4fM72M8VfcleCex_R_gA,6361
|
|
42
|
+
fabricks/cdc/base/generator.py,sha256=WkbBP-hSTKbcVKCZixxb1AzFRk5rdZVSI8Mou1BDQXE,6071
|
|
43
|
+
fabricks/cdc/base/merger.py,sha256=sc9KioJWvqTSkXGuyQSeMOhvym07fLxd9YgLTUfVt4c,4247
|
|
44
|
+
fabricks/cdc/base/processor.py,sha256=udd3E7DjuTHZDFyUnd0uHnW5LIBS_LBI-Xbjo0DJwZg,18649
|
|
45
|
+
fabricks/cdc/templates/README.md,sha256=2biL-DNXysI9jImAnDwjM_UOGSE2jF8-NR1L0o_MPjw,16920
|
|
45
46
|
fabricks/cdc/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
47
|
fabricks/cdc/templates/filter.sql.jinja,sha256=AQcOj4KRwKscVG3zepnEAN9Yxb03AM7068hqW7dtVI8,236
|
|
47
48
|
fabricks/cdc/templates/merge.sql.jinja,sha256=YS9wWckCVsUI1pUYiRSFBIuQ16WU3EPWSkhZVy2niBA,221
|
|
48
|
-
fabricks/cdc/templates/query.sql.jinja,sha256=
|
|
49
|
-
fabricks/cdc/templates/ctes/base.sql.jinja,sha256=
|
|
50
|
-
fabricks/cdc/templates/ctes/current.sql.jinja,sha256=
|
|
49
|
+
fabricks/cdc/templates/query.sql.jinja,sha256=T58WorTXEjYbRLZa5irYlP9Z1YkHSbCqQpTJ0lzhst4,899
|
|
50
|
+
fabricks/cdc/templates/ctes/base.sql.jinja,sha256=kaENr9QDFJkJB4dkbfb-Hm5qEyoYKYgTL76gtPPGNrA,1979
|
|
51
|
+
fabricks/cdc/templates/ctes/current.sql.jinja,sha256=eQyJdMiVIJEvouazowU3fAKRWtuzXzBv0HaCcL7B3Sc,1494
|
|
51
52
|
fabricks/cdc/templates/ctes/deduplicate_hash.sql.jinja,sha256=DHcSNhAvoFZY0gSv3Zylat9ysGXKR22OGXs49KTNCjA,1095
|
|
52
53
|
fabricks/cdc/templates/ctes/deduplicate_key.sql.jinja,sha256=4-K4nk2Bfr_8c_x3YDYBP7JUx4c-b3Ef-7HFx0s2jrc,1122
|
|
53
54
|
fabricks/cdc/templates/ctes/rectify.sql.jinja,sha256=OfZmEmlI-0gvkD7Fa1sncWU9SJkcrR4mnlTIvX1Ysp0,4727
|
|
@@ -58,119 +59,121 @@ fabricks/cdc/templates/filters/update.sql.jinja,sha256=O_pqUljzUuyPGMtXR7Ia9dRj4
|
|
|
58
59
|
fabricks/cdc/templates/macros/bactick.sql.jinja,sha256=VYRlBRRvfRID83naDuAAWp5JmR9f9-46xTW2-8lr8DY,59
|
|
59
60
|
fabricks/cdc/templates/macros/hash.sql.jinja,sha256=0auoKcV9idL4Y6b4JP6ODaTFHK7L5nmY3MEL9YeKd5o,594
|
|
60
61
|
fabricks/cdc/templates/merges/nocdc.sql.jinja,sha256=lA4-PXogC_u6RqummOQX_WBFCNq_GMEXdO4aL3_Eg0o,825
|
|
61
|
-
fabricks/cdc/templates/merges/scd1.sql.jinja,sha256=
|
|
62
|
-
fabricks/cdc/templates/merges/scd2.sql.jinja,sha256=
|
|
62
|
+
fabricks/cdc/templates/merges/scd1.sql.jinja,sha256=N876kUas_zcdHO5_GJ6eQSG_etRDV6M7mmwILt5j4SY,1762
|
|
63
|
+
fabricks/cdc/templates/merges/scd2.sql.jinja,sha256=1MiTbJ-F2P8v33_sqkkZ3MJjoA7lAcA5Ttk7ix_x2-I,1364
|
|
63
64
|
fabricks/cdc/templates/queries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
-
fabricks/cdc/templates/queries/context.sql.jinja,sha256=
|
|
65
|
+
fabricks/cdc/templates/queries/context.sql.jinja,sha256=C4oB7h4kdT08QvLN825z6QM6IaCKouRLtM5mVEckdvU,5254
|
|
65
66
|
fabricks/cdc/templates/queries/final.sql.jinja,sha256=vxH434CO5k8Ia7tugaH8LC1co7Epaj7Z1M7Y9BdqzaI,111
|
|
66
67
|
fabricks/cdc/templates/queries/scd1.sql.jinja,sha256=siHULgKE3uRBGQYZFUR_eHNqFuGgO9xUCRVV2jnAXAI,3019
|
|
67
68
|
fabricks/cdc/templates/queries/scd2.sql.jinja,sha256=Nn0wUs9N-_QviZqUKRWAFdD17RR3EFBTMs9BpBu6z7E,3877
|
|
68
69
|
fabricks/cdc/templates/queries/nocdc/complete.sql.jinja,sha256=cVKKCSbiuuw1K7BOzfusX6KvzQNHU3YNUgoXgsu-c6k,267
|
|
69
70
|
fabricks/cdc/templates/queries/nocdc/update.sql.jinja,sha256=mjNUwGVhZ08yUkdv9sCTkqyW60p0YavtWTqvSUVrwjA,1283
|
|
70
|
-
fabricks/context/__init__.py,sha256=
|
|
71
|
-
fabricks/context/
|
|
72
|
-
fabricks/context/
|
|
73
|
-
fabricks/context/
|
|
74
|
-
fabricks/context/log.py,sha256=CadrRf8iL6iXlGIGIhEIswa7wGqC-E-oLwWcGTyJ10s,2074
|
|
75
|
-
fabricks/context/runtime.py,sha256=87PtX6SqLoFd0PGxgisF6dLlxtCHaHxkMMIt34UyB2w,3479
|
|
71
|
+
fabricks/context/__init__.py,sha256=ATDN62vF9ZMk7WiIwn07vXAOTxppg536oUBIh0ZKgRY,1610
|
|
72
|
+
fabricks/context/config.py,sha256=wOCkERkRL26Driux37GyN_BJL8XL30Ums3kGXePsr3g,611
|
|
73
|
+
fabricks/context/log.py,sha256=Vrh7ZHH9XlCQ92EZvQss_veDOoqWilDJ_22Lo9aBTh4,6127
|
|
74
|
+
fabricks/context/runtime.py,sha256=zdIxtU5zdXBbFbFE3QYoQzwTJRD0LMMe6V8GLjim0QE,2188
|
|
76
75
|
fabricks/context/secret.py,sha256=iRM-KU-JcJAEOLoGJ8S4Oh65-yt674W6CDTSkOE7SXw,3192
|
|
77
|
-
fabricks/context/spark_session.py,sha256=
|
|
78
|
-
fabricks/context/utils.py,sha256=
|
|
79
|
-
fabricks/core/__init__.py,sha256=
|
|
80
|
-
fabricks/core/extenders.py,sha256=
|
|
81
|
-
fabricks/core/job_schema.py,sha256=
|
|
82
|
-
fabricks/core/masks.py,sha256=
|
|
83
|
-
fabricks/core/udfs.py,sha256=
|
|
84
|
-
fabricks/core/views.py,sha256=
|
|
76
|
+
fabricks/context/spark_session.py,sha256=WjDZiKChRwZSqKFXeWwMhfvdF3G7nEMvrFgWIvB59ck,2527
|
|
77
|
+
fabricks/context/utils.py,sha256=Wxwx_BJqOMG3MKNHf53sA5gKd8P9yAIBjgZ4r4LMDqA,2420
|
|
78
|
+
fabricks/core/__init__.py,sha256=b6bMtPjpw81opqpg02cPeeKjUYKvbqspzLM8OXTIOAE,137
|
|
79
|
+
fabricks/core/extenders.py,sha256=35TvZt3HzKRl9XTGYbdrs8RY3adpUKuJehYgvdBp2gk,756
|
|
80
|
+
fabricks/core/job_schema.py,sha256=Hbo5VDi5KgF9zcoiUSXYrzTYEJdT8iO7E35Jqf7NW7w,1117
|
|
81
|
+
fabricks/core/masks.py,sha256=tzJdumnqG_neX01pODydq-dRNmyySYSQTMQb8W7WwhU,1902
|
|
82
|
+
fabricks/core/udfs.py,sha256=ltreiepy6jeoxfrhARDp7EWlL4YcTgVVeJMYM6Y-_ik,3422
|
|
83
|
+
fabricks/core/views.py,sha256=fbE75A7JCAUSWUbymolwrVvg7Mt90wcZwG8scCiNTMs,1187
|
|
85
84
|
fabricks/core/dags/__init__.py,sha256=0DUKzVcXcROvxkN19P_kaOJ7da5BAM7Vt8EGQbp2KSY,240
|
|
86
|
-
fabricks/core/dags/base.py,sha256=
|
|
85
|
+
fabricks/core/dags/base.py,sha256=F4tK2rSvT7Q54u-fk0h0p7JJPvbqqA1eJQcT1we6tRs,3122
|
|
87
86
|
fabricks/core/dags/generator.py,sha256=4fp_CRsWnl_UauM9Jx-E4UCaxnm2_Q5103J58fRws2U,4832
|
|
88
87
|
fabricks/core/dags/log.py,sha256=v1xfpQGfddHDz9lflvXOWTXMde3CdERo9jzeSmNDRhY,402
|
|
89
|
-
fabricks/core/dags/processor.py,sha256=
|
|
88
|
+
fabricks/core/dags/processor.py,sha256=1jVjdzsbeT2Lq3nfvUNj167WabfE8lshhq5XFNdhymM,7860
|
|
90
89
|
fabricks/core/dags/run.py,sha256=RIDULb9WakObSyYzmkglh8RwFRwC8-NFC-1yPDMkBC0,1074
|
|
91
90
|
fabricks/core/dags/terminator.py,sha256=Y6pV2UnSyrCIx2AQWJXoHk5Roq12gZqpennHx_Lbnzs,793
|
|
92
91
|
fabricks/core/dags/utils.py,sha256=4kyobLGl4tO0Flo6LxNzYjCU_G42vns1LrkxTO5_KLY,1585
|
|
93
|
-
fabricks/core/jobs/__init__.py,sha256=
|
|
94
|
-
fabricks/core/jobs/bronze.py,sha256=
|
|
95
|
-
fabricks/core/jobs/get_job.py,sha256=
|
|
96
|
-
fabricks/core/jobs/get_job_conf.py,sha256=
|
|
97
|
-
fabricks/core/jobs/
|
|
98
|
-
fabricks/core/jobs/get_jobs.py,sha256=nJ-8DPFq1GyzWo9Mxlwq2dEeAqwg1jeQg-CHietAb1Q,3341
|
|
92
|
+
fabricks/core/jobs/__init__.py,sha256=ysNDrKlaKyFlR0UH3FMpBLUHdOAzhZa9nSHS4k-h1-w,372
|
|
93
|
+
fabricks/core/jobs/bronze.py,sha256=u5OlSUQc_5_rCPLymVspwDtiQtmFENZa0nh02kRiHQ0,15929
|
|
94
|
+
fabricks/core/jobs/get_job.py,sha256=OEy-Aa6xeWMOygGhDZ5b2DtJIXxvTBBpsy4R9iJr-UM,3513
|
|
95
|
+
fabricks/core/jobs/get_job_conf.py,sha256=LS5FkyWJha8vwdAAXtbAIXFdn5Czyu7ooJ6He-3sPHc,3033
|
|
96
|
+
fabricks/core/jobs/get_jobs.py,sha256=m16AqDdeGkqPt0NWqpvsIyH48lLc9Oct5rj58Joto_0,3299
|
|
99
97
|
fabricks/core/jobs/get_schedule.py,sha256=46pJR5LWZfuxUtLBmtB-RP6ng_W-K-ahJmD29KNmcGw,259
|
|
100
|
-
fabricks/core/jobs/get_schedules.py,sha256=
|
|
101
|
-
fabricks/core/jobs/gold.py,sha256=
|
|
102
|
-
fabricks/core/jobs/silver.py,sha256=
|
|
103
|
-
fabricks/core/jobs/base/
|
|
104
|
-
fabricks/core/jobs/base/
|
|
105
|
-
fabricks/core/jobs/base/checker.py,sha256=
|
|
106
|
-
fabricks/core/jobs/base/configurator.py,sha256=
|
|
98
|
+
fabricks/core/jobs/get_schedules.py,sha256=FlxDhe-0Jk37AXIM8zc8XajSCZkaB42gWeXenw-fRiM,523
|
|
99
|
+
fabricks/core/jobs/gold.py,sha256=ZQB-dAzL68ibs7YaiuKu9TIYLe2vN8ot8S5UJy2O65U,16100
|
|
100
|
+
fabricks/core/jobs/silver.py,sha256=_pKKI0rCYmV_pfqgiYByHwIpeCELU_yzy7QPcytq8Hg,13684
|
|
101
|
+
fabricks/core/jobs/base/README.md,sha256=e7WPyqfqfikIVEIStApiHcVH0-GGe2NfV0u5olC_bGA,38614
|
|
102
|
+
fabricks/core/jobs/base/__init__.py,sha256=v9gBBAB7imOVnM9sfF0U2peISBdkMcuIw6prknOLE-w,71
|
|
103
|
+
fabricks/core/jobs/base/checker.py,sha256=gbeVOi87g_UuM0or9LCE6wXtVczY4SjNz6hgMbm1NpY,5602
|
|
104
|
+
fabricks/core/jobs/base/configurator.py,sha256=UFO8ygHS_Q9VULVpyILcQ1FoY8jXHzMmktqXxaoyaUc,12924
|
|
107
105
|
fabricks/core/jobs/base/exception.py,sha256=HrdxEuOfK5rY-ItZvEL3iywLgdpYUpmWFkjjjks7oYc,2318
|
|
108
|
-
fabricks/core/jobs/base/generator.py,sha256=
|
|
109
|
-
fabricks/core/jobs/base/invoker.py,sha256=
|
|
106
|
+
fabricks/core/jobs/base/generator.py,sha256=QRBRzeoUxxZcj57CWyIQDEBUdT4-WVo66X-kUZjedRg,17950
|
|
107
|
+
fabricks/core/jobs/base/invoker.py,sha256=Rxt2fB8yEYpRsXYM4uG4NLJN5ij3uZInhHwpXMkZVg8,7225
|
|
110
108
|
fabricks/core/jobs/base/job.py,sha256=dWmk2PpQH2NETaaDS6KoiefRnDHfDMdCyhmogkdcSFI,93
|
|
111
|
-
fabricks/core/jobs/base/processor.py,sha256=
|
|
112
|
-
fabricks/core/parsers/__init__.py,sha256=
|
|
113
|
-
fabricks/core/parsers/
|
|
114
|
-
fabricks/core/parsers/
|
|
115
|
-
fabricks/core/parsers/
|
|
116
|
-
fabricks/core/parsers/get_parser.py,sha256=mauofS626h9wpPZtlZFqIb1jcKM3Jz4D_36uvd-Lv4k,717
|
|
109
|
+
fabricks/core/jobs/base/processor.py,sha256=nLlJ_rMckhcmCBpZMNlV9dJ903JW8UsQsrUxg8RR6AA,8660
|
|
110
|
+
fabricks/core/parsers/__init__.py,sha256=w9z3CqcP9wpDc0f0fSnApzThOPSUlG0Uxv6iLYb4AGk,246
|
|
111
|
+
fabricks/core/parsers/base.py,sha256=ycaaRJzghpMOUQiwSchmbDIliqqe6z5fD08q0Q8g0HY,3353
|
|
112
|
+
fabricks/core/parsers/decorator.py,sha256=QB8DADDUXHzkri6n6tJwTP5apS729UjYNfsd7x9ZmIY,294
|
|
113
|
+
fabricks/core/parsers/get_parser.py,sha256=v6ElTqlyskAhlAXontRE378u1u61O5VcL_Vo2uOSx4k,703
|
|
117
114
|
fabricks/core/parsers/utils.py,sha256=qdn2ElpqBgDsW55-tACWZaFOT0ebrBYg2fenqSgd6YI,2456
|
|
118
115
|
fabricks/core/schedules/__init__.py,sha256=bDjNMcm7itimAo4gun0W4W9bZKwZmWUjkMqAQIcqI2Y,431
|
|
119
116
|
fabricks/core/schedules/diagrams.py,sha256=YA4T7Etl_UPfW-3IGFq5Xj9OlXZGQ27Aot6RVa3ZUgg,578
|
|
120
117
|
fabricks/core/schedules/generate.py,sha256=aKnAe7ZCafAczLa4ka9Er_oltOxgXyNoS63_OZEktcE,623
|
|
121
118
|
fabricks/core/schedules/get_schedule.py,sha256=PJcEq4enlsRJunS-MjXi-VFIczbeuBStP2giZ_-EaRc,116
|
|
122
119
|
fabricks/core/schedules/get_schedules.py,sha256=b6KSl-QmiNgih2l6dESB0va9yDVxaGOJ_ZB96Wc3NC8,174
|
|
123
|
-
fabricks/core/schedules/process.py,sha256=
|
|
120
|
+
fabricks/core/schedules/process.py,sha256=Fn3S3jV89o_cmwd1iYi7ohoMjDnnZ-krPB4wzp2cB_M,216
|
|
124
121
|
fabricks/core/schedules/run.py,sha256=AcRiyUmepAUzlGO_DxO-JhRUtieXfxE6sR8xfRWYlWI,58
|
|
125
122
|
fabricks/core/schedules/terminate.py,sha256=-RvtOrxTOZl2sZQ6KfNHJL6H2LCAEMSVRyylA-wVl_w,167
|
|
126
123
|
fabricks/core/schedules/views.py,sha256=8hYwPLCvvN-nem2lNAKvUY5hC71v88z4-y8j0poUApM,1949
|
|
127
124
|
fabricks/core/steps/__init__.py,sha256=JP-kaDa890-9XqBSPp6YdssAexdxv-MqQ__WfVYdgeg,132
|
|
128
125
|
fabricks/core/steps/_types.py,sha256=VxIrH3nFwmPlwG-UI8sDDP0AwK_9jlsy6yQp6YfgtqE,90
|
|
129
|
-
fabricks/core/steps/base.py,sha256=
|
|
130
|
-
fabricks/core/steps/get_step.py,sha256=
|
|
131
|
-
fabricks/core/steps/get_step_conf.py,sha256=
|
|
132
|
-
fabricks/deploy/__init__.py,sha256=
|
|
133
|
-
fabricks/deploy/masks.py,sha256=
|
|
134
|
-
fabricks/deploy/notebooks.py,sha256=
|
|
135
|
-
fabricks/deploy/schedules.py,sha256=
|
|
136
|
-
fabricks/deploy/tables.py,sha256=
|
|
137
|
-
fabricks/deploy/udfs.py,sha256=
|
|
126
|
+
fabricks/core/steps/base.py,sha256=HwiJ7hsNDi023TygDPLi2RKm8V268hDk_c-RCYb5ttI,14689
|
|
127
|
+
fabricks/core/steps/get_step.py,sha256=HxEdBM9L7xV4047EVKAi-jhxM8V40UvYoN07vMrqZ-w,223
|
|
128
|
+
fabricks/core/steps/get_step_conf.py,sha256=7EdnTbLrqr2LmwkfeU89yet1okFx72m5exu0DA6LtZE,529
|
|
129
|
+
fabricks/deploy/__init__.py,sha256=RY-t19PJfLmkOQkftRPozsXaeDfnuoxp348sFa6tmxs,2639
|
|
130
|
+
fabricks/deploy/masks.py,sha256=_FZpuPxLcPG7h7RfoRWcHGwJRqXc5b1IRzoq3iLw_3o,265
|
|
131
|
+
fabricks/deploy/notebooks.py,sha256=pvh-EqDWAnXa0mk7AommPC82ANxoDwqGM4fj7ovwowk,1808
|
|
132
|
+
fabricks/deploy/schedules.py,sha256=VSz_PxPQSR9CwwMp489qh_TpYZ2b06eSh7SCjuwUKUw,376
|
|
133
|
+
fabricks/deploy/tables.py,sha256=K6X886qT5c8oBHjjETsivIfibyhwwNruc2puGO9REqs,2977
|
|
134
|
+
fabricks/deploy/udfs.py,sha256=5DtcZje44b9KLBc1ivE2BQTsJ9dnsUl7UjkkSWQMlqQ,687
|
|
138
135
|
fabricks/deploy/utils.py,sha256=V41r1zVT9KcsICqTLAzpb4ixRk2q2ybJMrGhkPOtG6k,5099
|
|
139
|
-
fabricks/deploy/views.py,sha256=
|
|
136
|
+
fabricks/deploy/views.py,sha256=ybWCy1pYgQAsabglNRxzigRhs0KXTNc-ISebkZ6fv8w,14726
|
|
140
137
|
fabricks/metastore/README.md,sha256=utPUGAxmjyNMGe43GfL0Gup4MjeTKKwyiUoNVSfMquI,51
|
|
141
138
|
fabricks/metastore/__init__.py,sha256=RhjY2CuqtZBg8fEizzzvW8qszqCM-vSCL1tQGuzoato,174
|
|
142
139
|
fabricks/metastore/_types.py,sha256=NXYxwQHP0sCllM0N6QBbaK4CdtM_m_rHFDxRNRfBcLU,1919
|
|
143
|
-
fabricks/metastore/database.py,sha256=
|
|
140
|
+
fabricks/metastore/database.py,sha256=eBfhNsDnSIqE92DaG7nrTD_OMRw_NKbi-7aKUl2ICn0,1951
|
|
144
141
|
fabricks/metastore/dbobject.py,sha256=ve8p48OqEpJYsqWNhgesGSE0emM--uY8QrvBRoR3j3g,1881
|
|
145
142
|
fabricks/metastore/pyproject.toml,sha256=6RZM9RMKMDF_EAequhORZ7TD0BQNk7aBCTWAv-sRcp0,519
|
|
146
|
-
fabricks/metastore/table.py,sha256=
|
|
143
|
+
fabricks/metastore/table.py,sha256=L-GDa6xkPnSBVxnxpIxsf7TNtGbNBGr8TQpppE4tmuA,30430
|
|
147
144
|
fabricks/metastore/utils.py,sha256=8SxhjDkz_aSH4IGUusel7hqOQxP9U8PNBCY0M7GH00Y,1355
|
|
148
145
|
fabricks/metastore/view.py,sha256=f7hKJWtnH1KmZym8dkoucKOTndntzai_f2YqferxHLs,1431
|
|
146
|
+
fabricks/models/__init__.py,sha256=XyW_vm5LyHOlAX_pD5LIi8V1G9u6KUUUKNYoTx4vh4I,3402
|
|
147
|
+
fabricks/models/common.py,sha256=s5wvOxeheHjrmgp-nTbBKBEZCOeeH8mFEv3iY3aMG-U,2430
|
|
148
|
+
fabricks/models/config.py,sha256=5ja4U_ap5pyOeApXEFU1GDCrd-7r8Le9CrUAGLYST4o,6759
|
|
149
|
+
fabricks/models/dependency.py,sha256=kPywcXgWoVZl8QYv49fspdnKLj5jim6t6_lyYoEzK10,1489
|
|
150
|
+
fabricks/models/job.py,sha256=kDJ-7r6vzzUWeQv93rd0KEWW6jWJmUjuPwPLw40SWA8,4095
|
|
151
|
+
fabricks/models/path.py,sha256=hJpOaiD6HSqsSKyF57j0ppyAXVYtAfWuHJXdT2rrj8I,384
|
|
152
|
+
fabricks/models/runtime.py,sha256=Ezl5ncs-3KzWZikXubKeQdeVainR8co6RPU4FYIP2b4,5621
|
|
153
|
+
fabricks/models/schedule.py,sha256=Y1vLc-d9AZVmQu6I7nb-ojyvewTnWiJGEnZVafjglQs,528
|
|
154
|
+
fabricks/models/step.py,sha256=3koPjxh1TSznusoBat2iBWV-EW9EhV6PHu-eMCHGKMk,2334
|
|
155
|
+
fabricks/models/table.py,sha256=BR-X44JdlzYr_PVOttK8aL6nFH9cSH1LgsFwIC5Nt6A,2365
|
|
156
|
+
fabricks/models/utils.py,sha256=z41K4KLN_5RNVR4fYjRyyDcJGDrPImsV8zP9QuRXrJ0,670
|
|
149
157
|
fabricks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
158
|
fabricks/utils/_types.py,sha256=AuOhknlozqx5QdAdvZSA6xAWhU8k4nxG1vxIkOVgHeY,184
|
|
151
159
|
fabricks/utils/azure_queue.py,sha256=wtKAq_MD5QLxelerDO475dzL-SySIrxt9d5KGi-8vvw,3102
|
|
152
160
|
fabricks/utils/azure_table.py,sha256=J_UAPiCN89rL5FNmwIGg43Z6FSH8evVIWijDEgYJxk4,5294
|
|
153
161
|
fabricks/utils/console.py,sha256=X4lLgL_UxCjoFRx-ZRCwzdBveRGPKlFYZDi6vl7uevQ,1017
|
|
154
|
-
fabricks/utils/
|
|
155
|
-
fabricks/utils/
|
|
156
|
-
fabricks/utils/log.py,sha256=LCQEM81PhdojiyLrtEzv1QM__bWbaEhGddyd0IqyGXM,7985
|
|
162
|
+
fabricks/utils/helpers.py,sha256=2If-5cTO0ZCTgEVHS00Eh7Qv0YBdnZoSM7Rm1BdhhF8,7964
|
|
163
|
+
fabricks/utils/log.py,sha256=KGljzsjLdu-HpAV1hsazSi78cnwyRaqnst54apH_foo,8835
|
|
157
164
|
fabricks/utils/mermaid.py,sha256=XoiVxPaUJS4TC_ybA-e78qFzQkQ46uPf055JiiNDdSg,986
|
|
158
|
-
fabricks/utils/path.py,sha256=
|
|
159
|
-
fabricks/utils/pip.py,sha256=
|
|
160
|
-
fabricks/utils/pydantic.py,sha256=W0fiDLVMFrrInfQw2s5YPeSEvkN-4k864u3UyPoHaz4,2516
|
|
165
|
+
fabricks/utils/path.py,sha256=_u_jFUWvlPj5KdT99tWffachVyokFUY8PCeVB1IzClY,11998
|
|
166
|
+
fabricks/utils/pip.py,sha256=4rNmjy4h2352Lf6EX1qb7PB1qOP6Wm29P8Np6ISqt5w,1594
|
|
161
167
|
fabricks/utils/spark.py,sha256=QWVpbGwOvURIVBlR7ygt6NQ9MHUsIDvlquJ65iI8UBI,2007
|
|
162
168
|
fabricks/utils/sqlglot.py,sha256=3HbFCWuD71G43nQ5TuffQD8_bnTuonlQyoCzldSpYI8,1499
|
|
163
169
|
fabricks/utils/read/__init__.py,sha256=a_5l60m1AyzQUII170bfRRuXR_ynC3EwfysidRy44GE,272
|
|
164
170
|
fabricks/utils/read/_types.py,sha256=_YY0Yp8IPNYvcRFNa9WMcIl20cN93Cdcgh3jddypnuk,76
|
|
165
|
-
fabricks/utils/read/read.py,sha256=
|
|
171
|
+
fabricks/utils/read/read.py,sha256=wflsYIKIFZwNWaQ5o9GfqEpTp0cvdPfHx9pqgKUVfNg,8600
|
|
166
172
|
fabricks/utils/read/read_excel.py,sha256=TnirdvaVk3gFtEpTD20_U2v3KRnTAc_T85JzwqOHUwI,108
|
|
167
|
-
fabricks/utils/read/read_yaml.py,sha256=
|
|
168
|
-
fabricks/utils/schema/__init__.py,sha256=jWGhKohpxbeKE260n3GktiCnk11MnlVcbkkzjN-6ZJw,232
|
|
169
|
-
fabricks/utils/schema/get_json_schema_for_type.py,sha256=ePIxRkYvsxhQiN59Dln4ONtSVd1cK_KsEoAxdCHbb5k,5846
|
|
170
|
-
fabricks/utils/schema/get_schema_for_type.py,sha256=5k-R6zCgUAtapQgxT4turcx1IQ-b7DN9fjrwYqmCw0Q,3716
|
|
173
|
+
fabricks/utils/read/read_yaml.py,sha256=LlStrs1A1hCcgW5gHLEUx5ayC880JTO7EfhjxmtS5OE,877
|
|
171
174
|
fabricks/utils/write/__init__.py,sha256=i0UnZenXj9Aq0b0_aU3s6882vg-Vu_AyKfQhl_dTp-g,200
|
|
172
|
-
fabricks/utils/write/delta.py,sha256=
|
|
173
|
-
fabricks/utils/write/stream.py,sha256=
|
|
174
|
-
fabricks-
|
|
175
|
-
fabricks-
|
|
176
|
-
fabricks-
|
|
175
|
+
fabricks/utils/write/delta.py,sha256=H0fXrrSCgHkZvq88gqtl4xy5Toy31p5fcXQP0VqqSWI,1286
|
|
176
|
+
fabricks/utils/write/stream.py,sha256=HJxMpWf7Y2Q8dCS1LJzVOO_Tax_Q_YYsvDW69CSpMnw,640
|
|
177
|
+
fabricks-4.0.1.dist-info/METADATA,sha256=y2RiceAgPPzuHa106Uv3m0gpCNOmKszvw7jeg0ZXfZU,954
|
|
178
|
+
fabricks-4.0.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
179
|
+
fabricks-4.0.1.dist-info/RECORD,,
|
fabricks/context/_types.py
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
from typing import List, Optional, TypedDict
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class RuntimePathOptions(TypedDict):
|
|
5
|
-
storage: str
|
|
6
|
-
udfs: str
|
|
7
|
-
parsers: str
|
|
8
|
-
schedules: str
|
|
9
|
-
views: str
|
|
10
|
-
requirements: str
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class RuntimeTimeoutOptions(TypedDict):
|
|
14
|
-
step: int
|
|
15
|
-
job: int
|
|
16
|
-
pre_run: int
|
|
17
|
-
post_run: int
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class UDFOptions(TypedDict):
|
|
21
|
-
prefix: Optional[str]
|
|
22
|
-
schema: Optional[str]
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class StepTimeoutOptions(TypedDict):
|
|
26
|
-
step: Optional[int]
|
|
27
|
-
job: Optional[int]
|
|
28
|
-
pre_run: Optional[int]
|
|
29
|
-
post_run: Optional[int]
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class RuntimeOptions(TypedDict):
|
|
33
|
-
secret_scope: str
|
|
34
|
-
unity_catalog: Optional[bool]
|
|
35
|
-
type_widening: Optional[bool]
|
|
36
|
-
catalog: Optional[str]
|
|
37
|
-
workers: int
|
|
38
|
-
timeouts: RuntimeTimeoutOptions
|
|
39
|
-
retention_days: int
|
|
40
|
-
timezone: Optional[str]
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class SparkOptions(TypedDict):
|
|
44
|
-
sql: dict
|
|
45
|
-
conf: dict
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class StepPathOptions(TypedDict):
|
|
49
|
-
runtime: str
|
|
50
|
-
storage: str
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
class InvokeOptions(TypedDict):
|
|
54
|
-
notebook: str
|
|
55
|
-
arguments: Optional[dict[str, str]]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class ExtenderOptions(TypedDict):
|
|
59
|
-
extender: str
|
|
60
|
-
arguments: Optional[dict[str, str]]
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
class StepOptions(TypedDict):
|
|
64
|
-
order: int
|
|
65
|
-
workers: Optional[int]
|
|
66
|
-
timeouts: StepTimeoutOptions
|
|
67
|
-
extenders: Optional[List[str]]
|
|
68
|
-
pre_run: Optional[InvokeOptions]
|
|
69
|
-
post_run: Optional[InvokeOptions]
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
class SilverOptions(StepOptions):
|
|
73
|
-
parent: str
|
|
74
|
-
stream: Optional[bool]
|
|
75
|
-
local_checkpoint: Optional[bool]
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
class GoldOptions(StepOptions):
|
|
79
|
-
schema_drift: Optional[bool]
|
|
80
|
-
metadata: Optional[bool]
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
class Step(TypedDict):
|
|
84
|
-
name: str
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
class TableOptions(TypedDict):
|
|
88
|
-
powerbi: Optional[bool]
|
|
89
|
-
liquid_clustering: Optional[bool]
|
|
90
|
-
properties: Optional[dict[str, str]]
|
|
91
|
-
retention_days: Optional[int]
|
|
92
|
-
masks: Optional[dict[str, str]]
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
class Bronze(Step):
|
|
96
|
-
options: StepOptions
|
|
97
|
-
path_options: StepPathOptions
|
|
98
|
-
table_options: Optional[TableOptions]
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
class Silver(Step):
|
|
102
|
-
options: SilverOptions
|
|
103
|
-
path_options: StepPathOptions
|
|
104
|
-
table_options: Optional[TableOptions]
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class Gold(Step):
|
|
108
|
-
options: GoldOptions
|
|
109
|
-
path_options: StepPathOptions
|
|
110
|
-
table_options: Optional[TableOptions]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
class PowerBI(Step):
|
|
114
|
-
pass
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
class DatabasePathOptions(TypedDict):
|
|
118
|
-
storage: str
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
class Database(TypedDict):
|
|
122
|
-
name: str
|
|
123
|
-
path_options: DatabasePathOptions
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
class Conf(TypedDict):
|
|
127
|
-
name: str
|
|
128
|
-
options: RuntimeOptions
|
|
129
|
-
path_options: RuntimePathOptions
|
|
130
|
-
extender_options: Optional[ExtenderOptions]
|
|
131
|
-
udf_options: Optional[UDFOptions]
|
|
132
|
-
spark_options: SparkOptions
|
|
133
|
-
bronze: Optional[List[Bronze]]
|
|
134
|
-
silver: Optional[List[Silver]]
|
|
135
|
-
gold: Optional[List[Gold]]
|
|
136
|
-
powerbi: Optional[List[PowerBI]]
|
|
137
|
-
databases: Optional[List[Database]]
|
|
138
|
-
variables: Optional[List[dict[str, str]]]
|
|
139
|
-
credentials: Optional[List[dict[str, str]]]
|
fabricks/context/helpers.py
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import pathlib
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
|
-
from fabricks.utils.path import Path
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def get_config_from_file():
|
|
9
|
-
path = pathlib.Path(os.getcwd())
|
|
10
|
-
|
|
11
|
-
while path is not None:
|
|
12
|
-
if (path / "fabricksconfig.json").exists():
|
|
13
|
-
break
|
|
14
|
-
if (path / "pyproject.toml").exists():
|
|
15
|
-
break
|
|
16
|
-
if path == path.parent:
|
|
17
|
-
break
|
|
18
|
-
|
|
19
|
-
path = path.parent
|
|
20
|
-
|
|
21
|
-
if (path / "fabricksconfig.json").exists():
|
|
22
|
-
import json
|
|
23
|
-
|
|
24
|
-
with open((path / "fabricksconfig.json"), "r") as f:
|
|
25
|
-
config = json.load(f)
|
|
26
|
-
return path, config, "json"
|
|
27
|
-
|
|
28
|
-
if (path / "pyproject.toml").exists():
|
|
29
|
-
import sys
|
|
30
|
-
|
|
31
|
-
if sys.version_info >= (3, 11):
|
|
32
|
-
import tomllib
|
|
33
|
-
else:
|
|
34
|
-
import tomli as tomllib # type: ignore
|
|
35
|
-
|
|
36
|
-
with open((path / "pyproject.toml"), "rb") as f:
|
|
37
|
-
config = tomllib.load(f)
|
|
38
|
-
return path, config.get("tool", {}).get("fabricks", {}), "pyproject"
|
|
39
|
-
|
|
40
|
-
return None, {}, None
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def get_storage_paths(objects: List[dict], variables: dict) -> dict:
|
|
44
|
-
d = {}
|
|
45
|
-
for o in objects:
|
|
46
|
-
if o:
|
|
47
|
-
name = o.get("name")
|
|
48
|
-
assert name
|
|
49
|
-
uri = o.get("path_options", {}).get("storage")
|
|
50
|
-
assert uri
|
|
51
|
-
d[name] = Path.from_uri(uri, regex=variables)
|
|
52
|
-
return d
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def get_runtime_path(objects: List[dict], root: Path) -> dict:
|
|
56
|
-
d = {}
|
|
57
|
-
for o in objects:
|
|
58
|
-
name = o.get("name")
|
|
59
|
-
assert name
|
|
60
|
-
uri = o.get("path_options", {}).get("runtime")
|
|
61
|
-
assert uri
|
|
62
|
-
d[name] = root.joinpath(uri)
|
|
63
|
-
return d
|