airbyte-cdk 6.54.0__py3-none-any.whl → 6.54.1.post3.dev15423983587__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 +9 -2
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/METADATA +1 -1
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/RECORD +10 -10
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.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
|
|
@@ -2648,7 +2648,11 @@ class ModelToComponentFactory:
|
|
2648
2648
|
elif isinstance(model, JsonlDecoderModel):
|
2649
2649
|
return JsonLineParser()
|
2650
2650
|
elif isinstance(model, CsvDecoderModel):
|
2651
|
-
return CsvParser(
|
2651
|
+
return CsvParser(
|
2652
|
+
encoding=model.encoding,
|
2653
|
+
delimiter=model.delimiter,
|
2654
|
+
set_empty_cell_to_none=model.set_empty_cell_to_none,
|
2655
|
+
)
|
2652
2656
|
elif isinstance(model, GzipDecoderModel):
|
2653
2657
|
return GzipParser(
|
2654
2658
|
inner_parser=ModelToComponentFactory._get_parser(model.decoder, config)
|
@@ -3441,11 +3445,14 @@ class ModelToComponentFactory:
|
|
3441
3445
|
**kwargs: Any,
|
3442
3446
|
) -> AsyncRetriever:
|
3443
3447
|
def _get_download_retriever() -> SimpleRetriever:
|
3448
|
+
# We create a record selector for the download retriever
|
3449
|
+
# with no schema normalization and no transformations, neither record filter
|
3450
|
+
# as all this occurs in the record_selector of the AsyncRetriever
|
3444
3451
|
record_selector = RecordSelector(
|
3445
3452
|
extractor=download_extractor,
|
3446
3453
|
name=name,
|
3447
3454
|
record_filter=None,
|
3448
|
-
transformations=
|
3455
|
+
transformations=[],
|
3449
3456
|
schema_normalization=TypeTransformer(TransformConfig.NoTransform),
|
3450
3457
|
config=config,
|
3451
3458
|
parameters={},
|
@@ -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=xjKzgCunkn_IshKZQISDpbYtSdOYpmy3p2FS63-xs3k,175313
|
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
|
@@ -420,9 +420,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
420
420
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
421
421
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
422
422
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
423
|
-
airbyte_cdk-6.54.
|
424
|
-
airbyte_cdk-6.54.
|
425
|
-
airbyte_cdk-6.54.
|
426
|
-
airbyte_cdk-6.54.
|
427
|
-
airbyte_cdk-6.54.
|
428
|
-
airbyte_cdk-6.54.
|
423
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
424
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
425
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/METADATA,sha256=SBoPOgYmHS4cAOJOH_ViDcPb5wCeFSdW-D0LX012z9s,6364
|
426
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
427
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
|
428
|
+
airbyte_cdk-6.54.1.post3.dev15423983587.dist-info/RECORD,,
|
{airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/LICENSE.txt
RENAMED
File without changes
|
{airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/LICENSE_SHORT
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.54.0.dist-info → airbyte_cdk-6.54.1.post3.dev15423983587.dist-info}/entry_points.txt
RENAMED
File without changes
|