airbyte-cdk 6.53.0__py3-none-any.whl → 6.53.0.post2.dev15405329474__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.
- airbyte_cdk/sources/declarative/declarative_component_schema.yaml +3 -0
- airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +3 -0
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py +1 -0
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +5 -1
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/METADATA +1 -1
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/RECORD +10 -10
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/entry_points.txt +0 -0
@@ -103,6 +103,7 @@ class CsvParser(Parser):
|
|
103
103
|
# TODO: migrate implementation to re-use file-base classes
|
104
104
|
encoding: Optional[str] = "utf-8"
|
105
105
|
delimiter: Optional[str] = ","
|
106
|
+
set_empty_cell_to_none: Optional[bool] = False
|
106
107
|
|
107
108
|
def _get_delimiter(self) -> Optional[str]:
|
108
109
|
"""
|
@@ -121,6 +122,8 @@ class CsvParser(Parser):
|
|
121
122
|
text_data = TextIOWrapper(data, encoding=self.encoding) # type: ignore
|
122
123
|
reader = csv.DictReader(text_data, delimiter=self._get_delimiter() or ",")
|
123
124
|
for row in reader:
|
125
|
+
if self.set_empty_cell_to_none:
|
126
|
+
row = {k: (None if v == "" else v) for k, v in row.items()}
|
124
127
|
yield row
|
125
128
|
|
126
129
|
|
@@ -2646,7 +2646,11 @@ class ModelToComponentFactory:
|
|
2646
2646
|
elif isinstance(model, JsonlDecoderModel):
|
2647
2647
|
return JsonLineParser()
|
2648
2648
|
elif isinstance(model, CsvDecoderModel):
|
2649
|
-
return CsvParser(
|
2649
|
+
return CsvParser(
|
2650
|
+
encoding=model.encoding,
|
2651
|
+
delimiter=model.delimiter,
|
2652
|
+
set_empty_cell_to_none=model.set_empty_cell_to_none,
|
2653
|
+
)
|
2650
2654
|
elif isinstance(model, GzipDecoderModel):
|
2651
2655
|
return GzipParser(
|
2652
2656
|
inner_parser=ModelToComponentFactory._get_parser(model.decoder, config)
|
@@ -89,11 +89,11 @@ airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=OKor1mDD
|
|
89
89
|
airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
|
90
90
|
airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=_zGNGq31RNy_0QBLt_EcTvgPyhj7urPdx6oA3M5-r3o,3150
|
91
91
|
airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
|
92
|
-
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=
|
92
|
+
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=sFHlde6dHSjs2q7lRF6Tv2_9tR2bsVzrjxAIQqi0lNg,177464
|
93
93
|
airbyte_cdk/sources/declarative/declarative_source.py,sha256=qmyMnnet92eGc3C22yBtpvD5UZjqdhsAafP_zxI5wp8,1814
|
94
94
|
airbyte_cdk/sources/declarative/declarative_stream.py,sha256=dCRlddBUSaJmBNBz1pSO1r2rTw8AP5d2_vlmIeGs2gg,10767
|
95
95
|
airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=JHb_0d3SE6kNY10mxA5YBEKPeSbsWYjByq1gUQxepoE,953
|
96
|
-
airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py,sha256=
|
96
|
+
airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py,sha256=71_84brT5nSQs-h2QnFfcz66ecgVnXsvTo1AHI-wEtc,8055
|
97
97
|
airbyte_cdk/sources/declarative/decoders/decoder.py,sha256=1PeKwuMK8x9dsA2zqUjSVinEWVSEgYcUS6npiW3aC2c,855
|
98
98
|
airbyte_cdk/sources/declarative/decoders/decoder_parser.py,sha256=e0be6kfzvbnhmcou-AuloFTSoLxiV9sG9YaglWo5mto,714
|
99
99
|
airbyte_cdk/sources/declarative/decoders/json_decoder.py,sha256=BdWpXXPhEGf_zknggJmhojLosmxuw51RBVTS0jvdCPc,2080
|
@@ -133,14 +133,14 @@ airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migrati
|
|
133
133
|
airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
|
134
134
|
airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
|
135
135
|
airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py,sha256=Imnj3yef0aqRdLfaUxkIYISUb8YkiPrRH_wBd-x8HjM,5999
|
136
|
-
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=
|
136
|
+
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=36uZnvm9la9gEr4FqkjxA_l1-3TiApCWLfPApP9vBcw,125817
|
137
137
|
airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
|
138
138
|
airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=nlVvHC511NUyDEEIRBkoeDTAvLqKNp-hRy8D19z8tdk,5941
|
139
139
|
airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=wnRUP0Xeru9Rbu5OexXSDN9QWDo8YU4tT9M2LDVOgGA,802
|
140
140
|
airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=2UdpCz3yi7ISZTyqkQXSSy3dMxeyOWqV7OlAS5b9GVg,11568
|
141
141
|
airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py,sha256=laBy7ebjA-PiNwc-50U4FHvMqS_mmHvnabxgFs4CjGw,17069
|
142
142
|
airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=pJmg78vqE5VfUrF_KJnWjucQ4k9IWFULeAxHCowrHXE,6806
|
143
|
-
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=
|
143
|
+
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=9BhRsOhCk3FxkqOlNDNhJIDeLKr3BP_nJZAV9sTXekU,174846
|
144
144
|
airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=TBC9AkGaUqHm2IKHMPN6punBIcY5tWGULowcLoAVkfw,1109
|
145
145
|
airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py,sha256=VelO7zKqKtzMJ35jyFeg0ypJLQC0plqqIBNXoBW1G2E,3001
|
146
146
|
airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py,sha256=c5cuVFM6NFkuQqG8Z5IwkBuwDrvXZN1CunUOM_L0ezg,6892
|
@@ -419,9 +419,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
419
419
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
420
420
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
421
421
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
422
|
-
airbyte_cdk-6.53.0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
423
|
-
airbyte_cdk-6.53.0.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
424
|
-
airbyte_cdk-6.53.0.dist-info/METADATA,sha256=
|
425
|
-
airbyte_cdk-6.53.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
426
|
-
airbyte_cdk-6.53.0.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
|
427
|
-
airbyte_cdk-6.53.0.dist-info/RECORD,,
|
422
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
423
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
424
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/METADATA,sha256=t1npAyfmm609rLEMi0ic_4o1FXCo5D4Zh4BiiO92qB4,6364
|
425
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
426
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
|
427
|
+
airbyte_cdk-6.53.0.post2.dev15405329474.dist-info/RECORD,,
|
{airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/LICENSE.txt
RENAMED
File without changes
|
{airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/LICENSE_SHORT
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.53.0.dist-info → airbyte_cdk-6.53.0.post2.dev15405329474.dist-info}/entry_points.txt
RENAMED
File without changes
|