airbyte-cdk 0.67.1__py3-none-any.whl → 0.67.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. airbyte_cdk/sources/abstract_source.py +30 -69
  2. airbyte_cdk/sources/connector_state_manager.py +12 -26
  3. airbyte_cdk/sources/file_based/file_types/parquet_parser.py +32 -14
  4. airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +3 -19
  5. airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +1 -3
  6. airbyte_cdk/sources/streams/__init__.py +2 -2
  7. airbyte_cdk/sources/streams/concurrent/adapters.py +3 -19
  8. airbyte_cdk/sources/streams/concurrent/cursor.py +1 -3
  9. airbyte_cdk/sources/streams/core.py +36 -34
  10. {airbyte_cdk-0.67.1.dist-info → airbyte_cdk-0.67.3.dist-info}/METADATA +3 -3
  11. {airbyte_cdk-0.67.1.dist-info → airbyte_cdk-0.67.3.dist-info}/RECORD +28 -28
  12. unit_tests/sources/concurrent_source/test_concurrent_source_adapter.py +2 -1
  13. unit_tests/sources/file_based/file_types/test_parquet_parser.py +51 -6
  14. unit_tests/sources/file_based/scenarios/concurrent_incremental_scenarios.py +139 -199
  15. unit_tests/sources/file_based/scenarios/incremental_scenarios.py +91 -133
  16. unit_tests/sources/file_based/stream/concurrent/test_adapters.py +2 -13
  17. unit_tests/sources/file_based/stream/concurrent/test_file_based_concurrent_cursor.py +2 -2
  18. unit_tests/sources/file_based/test_scenarios.py +2 -2
  19. unit_tests/sources/streams/concurrent/scenarios/incremental_scenarios.py +9 -9
  20. unit_tests/sources/streams/concurrent/scenarios/stream_facade_scenarios.py +5 -5
  21. unit_tests/sources/streams/concurrent/test_adapters.py +2 -13
  22. unit_tests/sources/streams/test_stream_read.py +221 -11
  23. unit_tests/sources/test_abstract_source.py +142 -130
  24. unit_tests/sources/test_connector_state_manager.py +3 -124
  25. unit_tests/sources/test_source.py +18 -14
  26. {airbyte_cdk-0.67.1.dist-info → airbyte_cdk-0.67.3.dist-info}/LICENSE.txt +0 -0
  27. {airbyte_cdk-0.67.1.dist-info → airbyte_cdk-0.67.3.dist-info}/WHEEL +0 -0
  28. {airbyte_cdk-0.67.1.dist-info → airbyte_cdk-0.67.3.dist-info}/top_level.txt +0 -0
@@ -24,9 +24,9 @@ airbyte_cdk/models/__init__.py,sha256=Kg8YHBqUsNWHlAw-u3ZGdG4dxLh7qBlHhqMRfamNCR
24
24
  airbyte_cdk/models/airbyte_protocol.py,sha256=DoJvnmGM3xMAZFTwA6_RGMiKSFqfE3ib_Ru0KJ65Ag4,100
25
25
  airbyte_cdk/models/well_known_types.py,sha256=KKfNbow2gdLoC1Z4hcXy_JR8m_acsB2ol7gQuEgjobw,117
26
26
  airbyte_cdk/sources/__init__.py,sha256=Ov7Uf03KPSZUmMZqZfUAK3tQwsdKjDQUDvTb-H0JyfA,1141
27
- airbyte_cdk/sources/abstract_source.py,sha256=Gie6CY-WztnUtOahoyMRlV8ON48eDIzjVG6fUKwCqvw,16127
27
+ airbyte_cdk/sources/abstract_source.py,sha256=vcYtKYZkQnKQamj7lB11xU32yFkZSlCrN7Z1n2iGKXM,15033
28
28
  airbyte_cdk/sources/config.py,sha256=PYsY7y2u3EUwxLiEb96JnuKwH_E8CuxKggsRO2ZPSRc,856
29
- airbyte_cdk/sources/connector_state_manager.py,sha256=p9iwWbb5uqRbsrHsdZBMXKmyHgLVbsOcV3QQexBFnPE,11052
29
+ airbyte_cdk/sources/connector_state_manager.py,sha256=rMb8roMcupsKtTXbGsufVl6bq-XVGBTxyTqTOuluMQs,10003
30
30
  airbyte_cdk/sources/http_config.py,sha256=OBZeuyFilm6NlDlBhFQvHhTWabEvZww6OHDIlZujIS0,730
31
31
  airbyte_cdk/sources/http_logger.py,sha256=v0kkpDtA0GUOgj6_3AayrYaBrSHBqG4t3MGbrtxaNmU,1437
32
32
  airbyte_cdk/sources/source.py,sha256=dk50z8Roc28MJ8FxWe652B-GwItO__bTZqFm7WOtHnw,4412
@@ -177,7 +177,7 @@ airbyte_cdk/sources/file_based/file_types/avro_parser.py,sha256=FC3L6D32SzhAv4jy
177
177
  airbyte_cdk/sources/file_based/file_types/csv_parser.py,sha256=biq2Fi7Nw5K1hIX_MelctEfpC5BEbGRqHL8rkCjS9ng,18414
178
178
  airbyte_cdk/sources/file_based/file_types/file_type_parser.py,sha256=Gbn-8v1-jLhKpJXTNOOc5PZT1Jzah6G-INCZt4snLdQ,2819
179
179
  airbyte_cdk/sources/file_based/file_types/jsonl_parser.py,sha256=MkjK_J2OqzqRPyGeQFQFADxgwqsRaNtoawB7dwKxWb0,5666
180
- airbyte_cdk/sources/file_based/file_types/parquet_parser.py,sha256=8ZuuYnS2AzlJ-IaeBP6Pnjzu4Z2zzfBWw_x9Rt9a5Qs,9363
180
+ airbyte_cdk/sources/file_based/file_types/parquet_parser.py,sha256=xktrUFFzBD-mlnu0MMa0O6HIrZBmaQCAqDgi28tPzOc,9998
181
181
  airbyte_cdk/sources/file_based/file_types/unstructured_parser.py,sha256=omYdo6daIHI-YWF9WsKFdFHRXTFWgJjJ3OqegiN345k,16736
182
182
  airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py,sha256=sEVnRhZ8x9f7PNjo6lewxid9z0PI8eSj7gSoFC3MH1Y,527
183
183
  airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py,sha256=uwk6Ugf23xKG4PRPVVRVwpcNjTwPgxejl03vLSEzK0s,604
@@ -186,10 +186,10 @@ airbyte_cdk/sources/file_based/stream/__init__.py,sha256=QPDqdgjsabOQD93dSFqHGaF
186
186
  airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py,sha256=cmO1SQt5PIQRNNoh2KBv6aeY8NEY9x2dlmiRwGwU1vg,6557
187
187
  airbyte_cdk/sources/file_based/stream/default_file_based_stream.py,sha256=qS0DJzXlVew6armFDJ0eNcSxRCmkA7JWQYFl6gcv3dU,13113
188
188
  airbyte_cdk/sources/file_based/stream/concurrent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
- airbyte_cdk/sources/file_based/stream/concurrent/adapters.py,sha256=rjf8htUotdAXWSGcFA0jFHJfaai_EnmQxncnxMWTN2A,13320
189
+ airbyte_cdk/sources/file_based/stream/concurrent/adapters.py,sha256=G93wu1oo1OOUWrl3z16wISYN8JyqJitkpfeqv5016vc,12806
190
190
  airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py,sha256=4gi-_oETrHYZClD12okh13INBsI2OfugKhToXtohRTs,310
191
191
  airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py,sha256=UYLE2A2RdV-5FaQ70naZZWY34l5AEJkIRlTH05-e_-k,1961
192
- airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py,sha256=jHiej28aKQJ3UmWXQxHRCK8xkzY5H0-zxQiVqFs5rAI,14389
192
+ airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py,sha256=Bs8e05pbY1OhTUsklhIqrfeCataME_fkg0ToakifHgY,14331
193
193
  airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_noop_cursor.py,sha256=wblXBgNw-QLVPNOAL8DihlQBXbvPC1zCdDWMsPdZPzQ,1852
194
194
  airbyte_cdk/sources/file_based/stream/cursor/__init__.py,sha256=MhFB5hOo8sjwvCh8gangaymdg3EJWYt_72brFOZt068,191
195
195
  airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py,sha256=i-FPeK8lwCzX34GCcmvL5Yvdh8-uu7FeCVYDoFbD7IY,1920
@@ -199,16 +199,16 @@ airbyte_cdk/sources/message/repository.py,sha256=tQOmtWxrAp1CMiOKi5SdIEWzcmgnCUY
199
199
  airbyte_cdk/sources/singer/__init__.py,sha256=D3zQSiWT0B9t0kKE4JPZjrcDnP2YnFNJ3dfYqSaxo9w,246
200
200
  airbyte_cdk/sources/singer/singer_helpers.py,sha256=q1LmgjFxSnN-dobMy7nikUwcK-9FvW5QQfgTqiclbAE,15649
201
201
  airbyte_cdk/sources/singer/source.py,sha256=3YY8UTOXmctvMVUnYmIegmL3_IxF55iGP_bc_s2MZdY,8530
202
- airbyte_cdk/sources/streams/__init__.py,sha256=IztrWN5IU_N5GCKDyRSEuoWdZohFTcgIbAIkaCFkr_Q,176
202
+ airbyte_cdk/sources/streams/__init__.py,sha256=VBGcpSl-SdcY5ajsHe99GLNC4NXAYIm1k1MZxWYllAE,244
203
203
  airbyte_cdk/sources/streams/availability_strategy.py,sha256=7BM0qLvXS0QrlKvnVkBEw4Cw8i7PCENCBLcIAcuD3nY,1007
204
204
  airbyte_cdk/sources/streams/call_rate.py,sha256=5T4J8WxMNov76iXRUtD5KlM1CsROxuAQPwGQAZyvpHg,20555
205
- airbyte_cdk/sources/streams/core.py,sha256=bIuQV7Zs9JpIyNDcfPCbyzv-BWDr_2ictK7s5AihLZQ,16025
205
+ airbyte_cdk/sources/streams/core.py,sha256=UdJfpc1jwT6igY-e5w-ow5ciT5feHq8F79Dxvpc1Sss,16741
206
206
  airbyte_cdk/sources/streams/concurrent/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
207
207
  airbyte_cdk/sources/streams/concurrent/abstract_stream.py,sha256=HlnmAh-LcQbs9g1r0iUAUe3IN0RmUSZits5Nyers51g,3792
208
208
  airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py,sha256=QTry1QCBUwJDw1QSCEvz23s7zIEx_7QMxkPq9j-oPIQ,1358
209
- airbyte_cdk/sources/streams/concurrent/adapters.py,sha256=FokiPnhjn3IQpRyQ6rr0ABJKYU0Sd1kNulWlQV_nuX8,16781
209
+ airbyte_cdk/sources/streams/concurrent/adapters.py,sha256=ok68ZE2tYH3XR0Ti3mwSsCO_WQSGyqTCXTFI5Gc5WZk,16267
210
210
  airbyte_cdk/sources/streams/concurrent/availability_strategy.py,sha256=8xDRpfktnARBbRi_RwznvKuoGrpPF2b6tQyloMwogkM,2013
211
- airbyte_cdk/sources/streams/concurrent/cursor.py,sha256=6Z-PQWp1Jszryao4nSvHEUyKxX3Uur4Jk1MTsQ9AxQY,9782
211
+ airbyte_cdk/sources/streams/concurrent/cursor.py,sha256=KaLdNz5auNIOtLPF94g4un-BVUH9JHSvw3UrCwBUqAg,9732
212
212
  airbyte_cdk/sources/streams/concurrent/default_stream.py,sha256=qPhMaLxGdR29kyMeA-YrHg-XePgPNDjactQPKbp56RA,3009
213
213
  airbyte_cdk/sources/streams/concurrent/exceptions.py,sha256=-WETGIY5_QFmVeDFiqm4WhRJ_nNCkfcDwOQqx6cSqrI,365
214
214
  airbyte_cdk/sources/streams/concurrent/helpers.py,sha256=FPdGovWg0_hPxoTCAJnqs2SEqEq32pRGKlvPMP7hGWo,1290
@@ -282,16 +282,16 @@ unit_tests/singer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
282
282
  unit_tests/singer/test_singer_helpers.py,sha256=pZV6VxJuK-3-FICNGmoGbokrA_zkaFZEd4rYZCVpSRU,1762
283
283
  unit_tests/singer/test_singer_source.py,sha256=edN_kv7dnYAdBveWdUYOs74ak0dK6p8uaX225h_ZILA,4442
284
284
  unit_tests/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
285
- unit_tests/sources/test_abstract_source.py,sha256=Hi9TMKGs1KoxwchhG4Wa78MYt4Yyk6DOs_rJtanL80I,59719
285
+ unit_tests/sources/test_abstract_source.py,sha256=TZ9Mn_kT9A2A_CRJLS9OQjBnlWrPRqf8EyNd8eJ_ZrM,57197
286
286
  unit_tests/sources/test_concurrent_source.py,sha256=3i7pSRetKSoP6LBpXyuXpWi2_VOwta_aTm_kgnDaLqk,3704
287
287
  unit_tests/sources/test_config.py,sha256=lxjeaf48pOMF4Pf3-Z1ux_tHTyjRFCdG_hpnxw3e7uQ,2839
288
- unit_tests/sources/test_connector_state_manager.py,sha256=WLvNqUZafPp1o3OgRIlOtEgQhXhbx5jU899ACr0KQIE,24414
288
+ unit_tests/sources/test_connector_state_manager.py,sha256=PGvBh90FAtG7vp_4y8nZxcjx1mEcFn382PCdBH-r9-I,19588
289
289
  unit_tests/sources/test_http_logger.py,sha256=VT6DqgspI3DcRnoBQkkQX0z4dF_AOiYZ5P_zxmMW8oU,9004
290
290
  unit_tests/sources/test_integration_source.py,sha256=qcWld9evB1rAjALWX8SDshGz7seYkN3HCamQ6KQ2Idw,4269
291
- unit_tests/sources/test_source.py,sha256=W0I4umL_d_OToLYYiRkjkJR6e-cCYjdV8zKc3uLvF0k,27999
291
+ unit_tests/sources/test_source.py,sha256=zwyU7pLwQaEzeozxPJzNeRvZXb2xddeWO4bLqdMt9BM,28343
292
292
  unit_tests/sources/test_source_read.py,sha256=n9XpVQLfsQH8eh6D99MDiNVBBKcf6UtouThDJcGH6SU,17186
293
293
  unit_tests/sources/concurrent_source/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
294
- unit_tests/sources/concurrent_source/test_concurrent_source_adapter.py,sha256=zsGnMcEsBedjW8wahil6LNqniil-3NXhyZd5W-80Km0,3665
294
+ unit_tests/sources/concurrent_source/test_concurrent_source_adapter.py,sha256=ZEJzOm9pVFHrXBS3cT43XdK_vopICZmoqzFsTE2E8Tk,3675
295
295
  unit_tests/sources/declarative/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
296
296
  unit_tests/sources/declarative/external_component.py,sha256=lU2gL736bLEWtmrGm1B2k83RXt_3XkROimLIahZd5dg,293
297
297
  unit_tests/sources/declarative/test_create_partial.py,sha256=s_KIywQqt8RlauOCWNJVk3HC3KBTAtSwFTN6JVQgu80,2636
@@ -373,7 +373,7 @@ unit_tests/sources/file_based/helpers.py,sha256=JSKXrPL7iSBSH7nkKde-jcylVuDohJid
373
373
  unit_tests/sources/file_based/in_memory_files_source.py,sha256=1UCfRMgaovPdhkORT5k5Izj6e0ldPp802iiaffG2ghk,8550
374
374
  unit_tests/sources/file_based/test_file_based_scenarios.py,sha256=llrPRotbYvUrORrqOFH8nMqQZ_QSs4sYwwgvqzkQsvc,15355
375
375
  unit_tests/sources/file_based/test_file_based_stream_reader.py,sha256=P6yTp7tbPfREzi5SXg4SSSql5nxiRV571YdOmwb_SzY,9219
376
- unit_tests/sources/file_based/test_scenarios.py,sha256=yGKsGkhp8l9Ut8L0VaQYRCRSVZO1twYKnm-xRPEqtmw,9361
376
+ unit_tests/sources/file_based/test_scenarios.py,sha256=85qb_CXTGNTS7pk-N73EGd55J0Cnky8i1G900cs4sek,9405
377
377
  unit_tests/sources/file_based/test_schema_helpers.py,sha256=IYIDdLRK41RkSG_ZW2cagAt9krV4QLbkzu6r7vPx9Js,12047
378
378
  unit_tests/sources/file_based/availability_strategy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
379
  unit_tests/sources/file_based/availability_strategy/test_default_file_based_availability_strategy.py,sha256=14ffoRWC4RHPrmBFZpplnAd1Uezn8neuQrIyZqvjTK0,4964
@@ -387,15 +387,15 @@ unit_tests/sources/file_based/file_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
387
387
  unit_tests/sources/file_based/file_types/test_avro_parser.py,sha256=LCoGa0fvOberrnDu7-Ox_gVNHj_6ERLoWionz0sD0eU,11177
388
388
  unit_tests/sources/file_based/file_types/test_csv_parser.py,sha256=qgTT67wVgbhcvwuxbzr2UykRGIhsOYCTYdEcvgI4q_s,22615
389
389
  unit_tests/sources/file_based/file_types/test_jsonl_parser.py,sha256=foTf9U9LyAS8OR0BonwNgFWPqTrmzFV2lpPUfRMrioE,6134
390
- unit_tests/sources/file_based/file_types/test_parquet_parser.py,sha256=J66wfbAaflSe5y3ixCZ4tLPEQdU62eYj-pNXycCtK0U,14159
390
+ unit_tests/sources/file_based/file_types/test_parquet_parser.py,sha256=HXNpISvdV0ePYj59c_EzczOj-ZqPWh7sOSEEaKKIEk8,18163
391
391
  unit_tests/sources/file_based/file_types/test_unstructured_parser.py,sha256=wJ9J9SbE6gq5ZEnGrDmtKNIimn9xwma06vKsIYa7SDc,23689
392
392
  unit_tests/sources/file_based/scenarios/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
393
393
  unit_tests/sources/file_based/scenarios/avro_scenarios.py,sha256=oeQUmCV7d2aTShreYc-PvVb4cWqLSsVwHfg-lcKjzPs,30554
394
394
  unit_tests/sources/file_based/scenarios/check_scenarios.py,sha256=0xkt21ASTnTAMP0RYJEsF3yMGsNN7wWOoG_tmzL9PYw,6750
395
- unit_tests/sources/file_based/scenarios/concurrent_incremental_scenarios.py,sha256=Mhu58OL3uqZXymr3_lflL7pjUPlopf4C4iCybXCnYwU,104328
395
+ unit_tests/sources/file_based/scenarios/concurrent_incremental_scenarios.py,sha256=EnVhPLSmUmB2lRc2ugb-HF7UkLFulj2EAHs4enAK5dI,102362
396
396
  unit_tests/sources/file_based/scenarios/csv_scenarios.py,sha256=2tyWtFOtbxPh24qAhKMZcVsoSsmnFT3k6MBGzRmx3lU,121727
397
397
  unit_tests/sources/file_based/scenarios/file_based_source_builder.py,sha256=3gAFkguYH87v_WpV0lUttTKu7LG8a-viokDW232ecUw,4123
398
- unit_tests/sources/file_based/scenarios/incremental_scenarios.py,sha256=eVU56mWt7X-JD1FSykE9DAc7ZETuuqaZxZofDr7Puh4,68691
398
+ unit_tests/sources/file_based/scenarios/incremental_scenarios.py,sha256=7ZYe0tsoJ85rNT-s4Z9toXRp2BKmA1pxpPTCyTnNd_8,67340
399
399
  unit_tests/sources/file_based/scenarios/jsonl_scenarios.py,sha256=quo_o8ofuv5LQ2eni6_HudbNq7IgAFQ5uzf_QTElLuY,31719
400
400
  unit_tests/sources/file_based/scenarios/parquet_scenarios.py,sha256=0DZbrb2wbaGSQ3OjD8gCH673dPqtVcLCR_LVkA_qVpA,26658
401
401
  unit_tests/sources/file_based/scenarios/scenario_builder.py,sha256=ynywaMWNvPnJ8Mg2h3vYZPLfaOzHcSFYj7e8bmY_0gY,9894
@@ -406,8 +406,8 @@ unit_tests/sources/file_based/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
406
406
  unit_tests/sources/file_based/stream/test_default_file_based_cursor.py,sha256=XhtCGvgSBFyeQwgqGciPsIB1HIlWqTcXROwnxrjutHc,13109
407
407
  unit_tests/sources/file_based/stream/test_default_file_based_stream.py,sha256=IuAnysO7s3MXm6JViPSrlfIlpIYcqWpsKokRpABX39c,10075
408
408
  unit_tests/sources/file_based/stream/concurrent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
- unit_tests/sources/file_based/stream/concurrent/test_adapters.py,sha256=TYOv9pQmZ4iHfkQMAaTw0Nyi3p6TnrQnCVOjaIzAFYY,15265
410
- unit_tests/sources/file_based/stream/concurrent/test_file_based_concurrent_cursor.py,sha256=Gt1TdiZ8aI8mvbk2CZh7Hi2r23_4GpTptdWFSgx_4PY,19866
409
+ unit_tests/sources/file_based/stream/concurrent/test_adapters.py,sha256=ptjPNSLh_2Z1GFN82gkC1lH4Ov5h5UyEr3AO7CO2fqM,14760
410
+ unit_tests/sources/file_based/stream/concurrent/test_file_based_concurrent_cursor.py,sha256=MuIE6y7b-7vF5vuwMozOxBDBLxSU_7dMmSwvK4vvm7U,19874
411
411
  unit_tests/sources/fixtures/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
412
412
  unit_tests/sources/fixtures/source_test_fixture.py,sha256=dvpISgio2sOp-U3bXudH_49vY4c68sO_PMs1JZTMaj0,5502
413
413
  unit_tests/sources/message/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -415,10 +415,10 @@ unit_tests/sources/message/test_repository.py,sha256=oiScwg4cAdnYDl7PPN1nZniDGpA
415
415
  unit_tests/sources/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
416
416
  unit_tests/sources/streams/test_availability_strategy.py,sha256=vJrSEk9NwRghu0YsSNoMYHKWzA9UFemwyClpke8Mk2s,2315
417
417
  unit_tests/sources/streams/test_call_rate.py,sha256=5QsokqxIFoR438QTd7p_eb0K-LW6awZXDtQiMTAb_Qo,13069
418
- unit_tests/sources/streams/test_stream_read.py,sha256=xxyYV5jPsAptmI0awPO_VGWMaE-y80XMDCB6u87IPaY,6875
418
+ unit_tests/sources/streams/test_stream_read.py,sha256=MpRVbr_uCnpEiVHGuKQzuOzCYVUPwhBwA-ISr4GxHm0,16571
419
419
  unit_tests/sources/streams/test_streams_core.py,sha256=YOC7XqWFJ13Z4YuO9Nh4AR4AwpJ-s111vqPplFfpxk4,5059
420
420
  unit_tests/sources/streams/concurrent/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
421
- unit_tests/sources/streams/concurrent/test_adapters.py,sha256=Y_c1vKCtGKEzrUSncmpgp0lgFnArmBrIrmLFaOIAxRg,15439
421
+ unit_tests/sources/streams/concurrent/test_adapters.py,sha256=rIGY_V7D7-2TOcNopGxQySIPZsj62n2saijN2kl3oZM,14934
422
422
  unit_tests/sources/streams/concurrent/test_concurrent_read_processor.py,sha256=qsoSin6ILGhhztEWF-WRdO6nvXJ-MfBH5CNpApEyKSc,27026
423
423
  unit_tests/sources/streams/concurrent/test_cursor.py,sha256=9TmJUOHCsX8Acmm7yDvfcpB5WXwPBXP4d5dizRI-msw,5951
424
424
  unit_tests/sources/streams/concurrent/test_datetime_state_converter.py,sha256=BWEKIT3a6B1NYAiXLZ-STgRu2kJ1T3QzEwQpfgsZkHs,14177
@@ -427,9 +427,9 @@ unit_tests/sources/streams/concurrent/test_partition_enqueuer.py,sha256=Vj8-aOZU
427
427
  unit_tests/sources/streams/concurrent/test_partition_reader.py,sha256=bNFEQXqkSb1yBW5Nruar3HuVqx6r5hNXzU2VFtIRZgw,2544
428
428
  unit_tests/sources/streams/concurrent/test_thread_pool_manager.py,sha256=l0rwdDX79MRip0IKTXKGIqEZy2NptMTUTPYYQQU5yjQ,4203
429
429
  unit_tests/sources/streams/concurrent/scenarios/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
430
- unit_tests/sources/streams/concurrent/scenarios/incremental_scenarios.py,sha256=oyYSiJVsY3VeiJPn9jZXQDEdIyfBpINjI8EDXBsWWtU,9975
430
+ unit_tests/sources/streams/concurrent/scenarios/incremental_scenarios.py,sha256=pRbArlvAOglahwb_VHNqYOqfbn4DmJ3rtOCw-NyxJ2M,9858
431
431
  unit_tests/sources/streams/concurrent/scenarios/stream_facade_builder.py,sha256=HKtWlCbx81CdS8hqCs-d43JndiLL6Tp4K0Yf8VdycDg,6239
432
- unit_tests/sources/streams/concurrent/scenarios/stream_facade_scenarios.py,sha256=VllbqrCHTrxBe-tn8Tb6R6EnSgblus3L5cy_2fmW1fY,13992
432
+ unit_tests/sources/streams/concurrent/scenarios/stream_facade_scenarios.py,sha256=XIXBunoVtRfCvc-cOGbRtO0t6_km0uoKMFrtvymr28Q,13927
433
433
  unit_tests/sources/streams/concurrent/scenarios/test_concurrent_scenarios.py,sha256=Z_4-ClsxBupmN7Pbl8lF9bkSA9wnjLtrgA9WR_8VRi8,3757
434
434
  unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_scenarios.py,sha256=Qa1z48QLKy8xOViyiqpkIEhREF4rZHqJh8FwJ8fzqiQ,13435
435
435
  unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_source_builder.py,sha256=dY9iAX8YlJcQ2nyPePPCjj6VXzUN_wmJ3bGz6wZQzFE,5734
@@ -456,8 +456,8 @@ unit_tests/utils/test_schema_inferrer.py,sha256=Z2jHBZ540wnYkylIdV_2xr75Vtwlxuyg
456
456
  unit_tests/utils/test_secret_utils.py,sha256=CdKK8A2-5XVxbXVtX22FK9dwwMeP5KNqDH6luWRXSNw,5256
457
457
  unit_tests/utils/test_stream_status_utils.py,sha256=Xr8MZ2HWgTVIyMbywDvuYkRaUF4RZLQOT8-JjvcfR24,2970
458
458
  unit_tests/utils/test_traced_exception.py,sha256=bDFP5zMBizFenz6V2WvEZTRCKGB5ijh3DBezjbfoYIs,4198
459
- airbyte_cdk-0.67.1.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
460
- airbyte_cdk-0.67.1.dist-info/METADATA,sha256=yucWaZASlolG8HALSkYa_3vIQExcOiDVKy_T2UnWlU8,11074
461
- airbyte_cdk-0.67.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
462
- airbyte_cdk-0.67.1.dist-info/top_level.txt,sha256=edvsDKTnE6sD2wfCUaeTfKf5gQIL6CPVMwVL2sWZzqo,51
463
- airbyte_cdk-0.67.1.dist-info/RECORD,,
459
+ airbyte_cdk-0.67.3.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
460
+ airbyte_cdk-0.67.3.dist-info/METADATA,sha256=y512sNsJ6Q9SfbZp0srP4zm9lautLJLpMWAECqOL15c,11074
461
+ airbyte_cdk-0.67.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
462
+ airbyte_cdk-0.67.3.dist-info/top_level.txt,sha256=edvsDKTnE6sD2wfCUaeTfKf5gQIL6CPVMwVL2sWZzqo,51
463
+ airbyte_cdk-0.67.3.dist-info/RECORD,,
@@ -81,13 +81,14 @@ def test_concurrent_source_adapter():
81
81
  def _mock_stream(name: str, data=[], available: bool = True):
82
82
  s = Mock()
83
83
  s.name = name
84
+ s.namespace = None
84
85
  s.as_airbyte_stream.return_value = AirbyteStream(
85
86
  name=name,
86
87
  json_schema={},
87
88
  supported_sync_modes=[SyncMode.full_refresh],
88
89
  )
89
90
  s.check_availability.return_value = (True, None) if available else (False, "not available")
90
- s.read_full_refresh.return_value = iter(data)
91
+ s.read.return_value = iter(data)
91
92
  s.primary_key = None
92
93
  return s
93
94
 
@@ -191,12 +191,57 @@ def test_value_dictionary() -> None:
191
191
  assert py_value == {"indices": [0, 1, 2, 0, 1], "values": ["apple", "banana", "cherry"]}
192
192
 
193
193
 
194
- def test_value_none_binary() -> None:
195
- none_binary_scalar = pa.scalar(None, type=pa.binary())
196
- try:
197
- ParquetParser._to_output_value(none_binary_scalar, _default_parquet_format)
198
- except AttributeError:
199
- assert False, "`None` type binary should be handled properly"
194
+ @pytest.mark.parametrize(
195
+ "parquet_type, parquet_format",
196
+ [
197
+ pytest.param(pa.bool_(), _default_parquet_format, id="test_parquet_bool"),
198
+ pytest.param(pa.int8(), _default_parquet_format, id="test_parquet_int8"),
199
+ pytest.param(pa.int16(), _default_parquet_format, id="test_parquet_int16"),
200
+ pytest.param(pa.int32(), _default_parquet_format, id="test_parquet_int32"),
201
+ pytest.param(pa.int64(), _default_parquet_format, id="test_parquet_int64"),
202
+ pytest.param(pa.uint8(), _default_parquet_format, id="test_parquet_uint8"),
203
+ pytest.param(pa.uint16(), _default_parquet_format, id="test_parquet_uint16"),
204
+ pytest.param(pa.uint32(), _default_parquet_format, id="test_parquet_uint32"),
205
+ pytest.param(pa.uint64(), _default_parquet_format, id="test_parquet_uint64"),
206
+ pytest.param(pa.float16(), _default_parquet_format, id="test_parquet_float16"),
207
+ pytest.param(pa.float32(), _default_parquet_format, id="test_parquet_float32"),
208
+ pytest.param(pa.float64(), _default_parquet_format, id="test_parquet_float64"),
209
+ pytest.param(pa.time32("s"), _default_parquet_format, id="test_parquet_time32s"),
210
+ pytest.param(pa.time32("ms"), _default_parquet_format, id="test_parquet_time32ms"),
211
+ pytest.param(pa.time64("us"), _default_parquet_format, id="test_parquet_time64us"),
212
+ pytest.param(pa.time64("ns"), _default_parquet_format, id="test_parquet_time64ns"),
213
+ pytest.param(pa.timestamp("s"), _default_parquet_format, id="test_parquet_timestamps_s"),
214
+ pytest.param(pa.timestamp("ms"), _default_parquet_format, id="test_parquet_timestamp_ms"),
215
+ pytest.param(pa.timestamp("s", "utc"), _default_parquet_format, id="test_parquet_timestamps_s_with_tz"),
216
+ pytest.param(pa.timestamp("ms", "est"), _default_parquet_format, id="test_parquet_timestamps_ms_with_tz"),
217
+ pytest.param(pa.date32(), _default_parquet_format, id="test_parquet_date32"),
218
+ pytest.param(pa.date64(), _default_parquet_format, id="test_parquet_date64"),
219
+ pytest.param(pa.duration("s"), _default_parquet_format, id="test_duration_s"),
220
+ pytest.param(pa.duration("ms"), _default_parquet_format, id="test_duration_ms"),
221
+ pytest.param(pa.duration("us"), _default_parquet_format, id="test_duration_us"),
222
+ pytest.param(pa.duration("ns"), _default_parquet_format, id="test_duration_ns"),
223
+ pytest.param(pa.month_day_nano_interval(), _default_parquet_format, id="test_parquet_month_day_nano_interval"),
224
+ pytest.param(pa.binary(), _default_parquet_format, id="test_binary"),
225
+ pytest.param(pa.binary(2), _default_parquet_format, id="test_fixed_size_binary"),
226
+ pytest.param(pa.string(), _default_parquet_format, id="test_parquet_string"),
227
+ pytest.param(pa.utf8(), _default_parquet_format, id="test_utf8"),
228
+ pytest.param(pa.large_binary(), _default_parquet_format, id="test_large_binary"),
229
+ pytest.param(pa.large_string(), _default_parquet_format, id="test_large_string"),
230
+ pytest.param(pa.large_utf8(), _default_parquet_format, id="test_large_utf8"),
231
+ pytest.param(pa.dictionary(pa.int32(), pa.string()), _default_parquet_format, id="test_dictionary"),
232
+ pytest.param(pa.struct([pa.field("field", pa.int32())]), _default_parquet_format, id="test_struct"),
233
+ pytest.param(pa.list_(pa.int32()), _default_parquet_format, id="test_list"),
234
+ pytest.param(pa.large_list(pa.int32()), _default_parquet_format, id="test_large_list"),
235
+ pytest.param(pa.decimal128(2), _default_parquet_format, id="test_decimal128"),
236
+ pytest.param(pa.decimal256(2), _default_parquet_format, id="test_decimal256"),
237
+ pytest.param(pa.decimal128(2), _decimal_as_float_parquet_format, id="test_decimal128_as_float"),
238
+ pytest.param(pa.decimal256(2), _decimal_as_float_parquet_format, id="test_decimal256_as_float"),
239
+ pytest.param(pa.map_(pa.int32(), pa.int32()), _default_parquet_format, id="test_map"),
240
+ pytest.param(pa.null(), _default_parquet_format, id="test_null"),
241
+ ])
242
+ def test_null_value_does_not_throw(parquet_type, parquet_format) -> None:
243
+ pyarrow_value = pa.scalar(None, type=parquet_type)
244
+ assert ParquetParser._to_output_value(pyarrow_value, parquet_format) is None
200
245
 
201
246
 
202
247
  @pytest.mark.parametrize(