floe-python 0.8.4__py3-none-any.whl → 0.8.5__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.
- floe/checks/normalize.py +3 -3
- floe/config/validate.py +4 -1
- {floe_python-0.8.4.dist-info → floe_python-0.8.5.dist-info}/METADATA +1 -1
- {floe_python-0.8.4.dist-info → floe_python-0.8.5.dist-info}/RECORD +7 -7
- {floe_python-0.8.4.dist-info → floe_python-0.8.5.dist-info}/WHEEL +0 -0
- {floe_python-0.8.4.dist-info → floe_python-0.8.5.dist-info}/entry_points.txt +0 -0
- {floe_python-0.8.4.dist-info → floe_python-0.8.5.dist-info}/licenses/LICENSE +0 -0
floe/checks/normalize.py
CHANGED
|
@@ -94,12 +94,12 @@ def output_column_mapping(
|
|
|
94
94
|
targets: dict[str, str] = {}
|
|
95
95
|
mapping: dict[str, str] = {}
|
|
96
96
|
for column, target in zip(columns, output_names(columns, strategy), strict=True):
|
|
97
|
-
source = normalize_name(column.source or column.name, strategy)
|
|
98
97
|
if target in targets:
|
|
99
98
|
raise FloeConfigError(
|
|
100
|
-
f"output column name collision: {targets[target]} and {
|
|
99
|
+
f"output column name collision: {targets[target]} and {column.name} -> {target}"
|
|
101
100
|
)
|
|
102
|
-
targets[target] =
|
|
101
|
+
targets[target] = column.name
|
|
102
|
+
source = normalize_name(column.source or column.name, strategy)
|
|
103
103
|
if source != target:
|
|
104
104
|
mapping[source] = target
|
|
105
105
|
return mapping
|
floe/config/validate.py
CHANGED
|
@@ -6,6 +6,7 @@ from floe import __version__
|
|
|
6
6
|
from floe.checks.cast import decimal_type
|
|
7
7
|
from floe.checks.normalize import (
|
|
8
8
|
normalize_name,
|
|
9
|
+
output_column_mapping,
|
|
9
10
|
output_names,
|
|
10
11
|
resolve_strategy,
|
|
11
12
|
source_names,
|
|
@@ -416,7 +417,9 @@ def validate_schema(entity: EntityConfig, version: str) -> None:
|
|
|
416
417
|
f"(allowed: {', '.join(NORMALIZE_STRATEGIES)})",
|
|
417
418
|
)
|
|
418
419
|
try:
|
|
419
|
-
|
|
420
|
+
resolved = resolve_strategy(schema)
|
|
421
|
+
source_names(schema.columns, resolved)
|
|
422
|
+
output_column_mapping(schema.columns, resolved)
|
|
420
423
|
except FloeConfigError as err:
|
|
421
424
|
raise _fail(entity, str(err)) from err
|
|
422
425
|
mismatch = schema.mismatch
|
|
@@ -13,7 +13,7 @@ floe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
13
13
|
floe/state.py,sha256=XFHF6zVxbdGg1bkONZDLryTD4noDF9IgaimaEI-3Nlg,11104
|
|
14
14
|
floe/checks/cast.py,sha256=lM40xtKEggWI8FW3jijM3T2JFQtaXs8FhsFXo3vy5oM,6788
|
|
15
15
|
floe/checks/mismatch.py,sha256=2Gz-tiWKxy-iehSjAlsGzPLtYeNIfBWvi4yQPlASVYQ,5309
|
|
16
|
-
floe/checks/normalize.py,sha256=
|
|
16
|
+
floe/checks/normalize.py,sha256=4g-Mw-UOtLnitavD3lPWUUYweGqGMUx_8dhq2AJU8oc,4331
|
|
17
17
|
floe/checks/rows.py,sha256=E-YUZUvBUyOB7zat2dtbPWFM-0T1-01lYKuQU1A6wto,4156
|
|
18
18
|
floe/checks/unique.py,sha256=qoZVqS_uG_mWZlV7-LdxT6_dMVQRlklEvMutO_V0qaY,12396
|
|
19
19
|
floe/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -24,7 +24,7 @@ floe/config/profile.py,sha256=jWackztS-0H3dTMXHALTZ7LsIOmwjriwoeY4vFgARr0,16046
|
|
|
24
24
|
floe/config/project.py,sha256=zgTOhTDlbMr1chViMEZyv0drozZdumTaIoKDL0vv9sw,14141
|
|
25
25
|
floe/config/storage.py,sha256=BK3P65ukFqNgmbjCcuYmXR04OScf1yD8f19vGJq-aDI,6234
|
|
26
26
|
floe/config/types.py,sha256=4eveoOlyGmNxyZpI1PSjli9lnXLPc1-jYj4fL8qHN_8,5038
|
|
27
|
-
floe/config/validate.py,sha256=
|
|
27
|
+
floe/config/validate.py,sha256=7tyofwoTBL-BBCNxnmkXeSOybwmMNngeEcj8zviRyLs,36176
|
|
28
28
|
floe/config/vars.py,sha256=7Bq0IU0KrFeRlyA8W9-F0gDSDKfXCfFpBrX08H8Flvw,4577
|
|
29
29
|
floe/config/yaml.py,sha256=HeFGhKFxYkiqQOwljYOgUD5naJyxL_ZIX6hUIS36tzU,10071
|
|
30
30
|
floe/iceberg/catalog.py,sha256=n2NlgqRgnTe3Etdyra70Ib2aYtpR7zXWrajKl7spyYg,15340
|
|
@@ -59,8 +59,8 @@ floe/storage/s3.py,sha256=XcG1qJTEY3KLSMLT950mUdrAxuCA8-Gx3fpNSzyV_Xo,7508
|
|
|
59
59
|
floe/storage/types.py,sha256=FvAEXWMdVdopRK276JyETRYGOva2-uR8pZvsWj6Xvy0,993
|
|
60
60
|
floe/write/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
floe/write/outputs.py,sha256=cXxGUIJnZ38XPaqEI6a83GFUsapBRdY52XQm3GlUPcI,6937
|
|
62
|
-
floe_python-0.8.
|
|
63
|
-
floe_python-0.8.
|
|
64
|
-
floe_python-0.8.
|
|
65
|
-
floe_python-0.8.
|
|
66
|
-
floe_python-0.8.
|
|
62
|
+
floe_python-0.8.5.dist-info/METADATA,sha256=qqbMLRbq0xRacIJKtPlBHp6_4L6jwcPIr2TeYYR-Kwg,442
|
|
63
|
+
floe_python-0.8.5.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
|
|
64
|
+
floe_python-0.8.5.dist-info/entry_points.txt,sha256=DU75r-E3zcK0quvwg5iT5DeWbUJck_Tz80bEj1IIzHA,40
|
|
65
|
+
floe_python-0.8.5.dist-info/licenses/LICENSE,sha256=dUhuoK-TCRQMpuLEAdfme-qPSJI0TlcH9jlNxeg9_EQ,1056
|
|
66
|
+
floe_python-0.8.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|