airbyte-cdk 6.39.2__py3-none-any.whl → 6.40.0.dev0__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.
Files changed (19) hide show
  1. airbyte_cdk/sources/declarative/concurrent_declarative_source.py +16 -0
  2. airbyte_cdk/sources/declarative/declarative_component_schema.yaml +66 -2
  3. airbyte_cdk/sources/declarative/declarative_stream.py +8 -1
  4. airbyte_cdk/sources/declarative/manifest_declarative_source.py +24 -3
  5. airbyte_cdk/sources/declarative/models/declarative_component_schema.py +44 -3
  6. airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +205 -80
  7. airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +66 -12
  8. airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -1
  9. airbyte_cdk/sources/declarative/retrievers/__init__.py +8 -1
  10. airbyte_cdk/sources/declarative/retrievers/async_retriever.py +30 -0
  11. airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +84 -2
  12. airbyte_cdk/sources/declarative/transformations/add_fields.py +10 -2
  13. airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +10 -4
  14. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/METADATA +1 -1
  15. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/RECORD +19 -19
  16. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/LICENSE.txt +0 -0
  17. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/LICENSE_SHORT +0 -0
  18. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/WHEEL +0 -0
  19. {airbyte_cdk-6.39.2.dist-info → airbyte_cdk-6.40.0.dev0.dist-info}/entry_points.txt +0 -0
@@ -6,9 +6,20 @@ import json
6
6
  from dataclasses import InitVar, dataclass, field
7
7
  from functools import partial
8
8
  from itertools import islice
9
- from typing import Any, Callable, Iterable, List, Mapping, Optional, Set, Tuple, Union
9
+ from typing import (
10
+ Any,
11
+ Callable,
12
+ Iterable,
13
+ List,
14
+ Mapping,
15
+ Optional,
16
+ Set,
17
+ Tuple,
18
+ Union,
19
+ )
10
20
 
11
21
  import requests
22
+ from typing_extensions import deprecated
12
23
 
13
24
  from airbyte_cdk.models import AirbyteMessage
14
25
  from airbyte_cdk.sources.declarative.extractors.http_selector import HttpSelector
@@ -28,6 +39,7 @@ from airbyte_cdk.sources.declarative.requesters.requester import Requester
28
39
  from airbyte_cdk.sources.declarative.retrievers.retriever import Retriever
29
40
  from airbyte_cdk.sources.declarative.stream_slicers.stream_slicer import StreamSlicer
30
41
  from airbyte_cdk.sources.http_logger import format_http_message
42
+ from airbyte_cdk.sources.source import ExperimentalClassWarning
31
43
  from airbyte_cdk.sources.streams.core import StreamData
32
44
  from airbyte_cdk.sources.types import Config, Record, StreamSlice, StreamState
33
45
  from airbyte_cdk.utils.mapping_helpers import combine_mappings
@@ -438,8 +450,8 @@ class SimpleRetriever(Retriever):
438
450
  most_recent_record_from_slice = None
439
451
  record_generator = partial(
440
452
  self._parse_records,
453
+ stream_slice=stream_slice,
441
454
  stream_state=self.state or {},
442
- stream_slice=_slice,
443
455
  records_schema=records_schema,
444
456
  )
445
457
 
@@ -618,3 +630,73 @@ class SimpleRetrieverTestReadDecorator(SimpleRetriever):
618
630
  self.name,
619
631
  ),
620
632
  )
633
+
634
+
635
+ @deprecated(
636
+ "This class is experimental. Use at your own risk.",
637
+ category=ExperimentalClassWarning,
638
+ )
639
+ @dataclass
640
+ class LazySimpleRetriever(SimpleRetriever):
641
+ """
642
+ A retriever that supports lazy loading from parent streams.
643
+ """
644
+
645
+ def _read_pages(
646
+ self,
647
+ records_generator_fn: Callable[[Optional[requests.Response]], Iterable[Record]],
648
+ stream_state: Mapping[str, Any],
649
+ stream_slice: StreamSlice,
650
+ ) -> Iterable[Record]:
651
+ response = stream_slice.extra_fields["child_response"]
652
+ if response:
653
+ last_page_size, last_record = 0, None
654
+ for record in records_generator_fn(response): # type: ignore[call-arg] # only _parse_records expected as a func
655
+ last_page_size += 1
656
+ last_record = record
657
+ yield record
658
+
659
+ next_page_token = self._next_page_token(response, last_page_size, last_record, None)
660
+ if next_page_token:
661
+ yield from self._paginate(
662
+ next_page_token,
663
+ records_generator_fn,
664
+ stream_state,
665
+ stream_slice,
666
+ )
667
+
668
+ yield from []
669
+ else:
670
+ yield from self._read_pages(records_generator_fn, stream_state, stream_slice)
671
+
672
+ def _paginate(
673
+ self,
674
+ next_page_token: Any,
675
+ records_generator_fn: Callable[[Optional[requests.Response]], Iterable[Record]],
676
+ stream_state: Mapping[str, Any],
677
+ stream_slice: StreamSlice,
678
+ ) -> Iterable[Record]:
679
+ """Handle pagination by fetching subsequent pages."""
680
+ pagination_complete = False
681
+
682
+ while not pagination_complete:
683
+ response = self._fetch_next_page(stream_state, stream_slice, next_page_token)
684
+ last_page_size, last_record = 0, None
685
+
686
+ for record in records_generator_fn(response): # type: ignore[call-arg] # only _parse_records expected as a func
687
+ last_page_size += 1
688
+ last_record = record
689
+ yield record
690
+
691
+ if not response:
692
+ pagination_complete = True
693
+ else:
694
+ last_page_token_value = (
695
+ next_page_token.get("next_page_token") if next_page_token else None
696
+ )
697
+ next_page_token = self._next_page_token(
698
+ response, last_page_size, last_record, last_page_token_value
699
+ )
700
+
701
+ if not next_page_token:
702
+ pagination_complete = True
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
2
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
3
3
  #
4
4
 
5
5
  from dataclasses import InitVar, dataclass, field
@@ -7,6 +7,7 @@ from typing import Any, Dict, List, Mapping, Optional, Type, Union
7
7
 
8
8
  import dpath
9
9
 
10
+ from airbyte_cdk.sources.declarative.interpolation.interpolated_boolean import InterpolatedBoolean
10
11
  from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
11
12
  from airbyte_cdk.sources.declarative.transformations import RecordTransformation
12
13
  from airbyte_cdk.sources.types import Config, FieldPointer, StreamSlice, StreamState
@@ -86,11 +87,16 @@ class AddFields(RecordTransformation):
86
87
 
87
88
  fields: List[AddedFieldDefinition]
88
89
  parameters: InitVar[Mapping[str, Any]]
90
+ condition: str = ""
89
91
  _parsed_fields: List[ParsedAddFieldDefinition] = field(
90
92
  init=False, repr=False, default_factory=list
91
93
  )
92
94
 
93
95
  def __post_init__(self, parameters: Mapping[str, Any]) -> None:
96
+ self._filter_interpolator = InterpolatedBoolean(
97
+ condition=self.condition, parameters=parameters
98
+ )
99
+
94
100
  for add_field in self.fields:
95
101
  if len(add_field.path) < 1:
96
102
  raise ValueError(
@@ -132,7 +138,9 @@ class AddFields(RecordTransformation):
132
138
  for parsed_field in self._parsed_fields:
133
139
  valid_types = (parsed_field.value_type,) if parsed_field.value_type else None
134
140
  value = parsed_field.value.eval(config, valid_types=valid_types, **kwargs)
135
- dpath.new(record, parsed_field.path, value)
141
+ is_empty_condition = not self.condition
142
+ if is_empty_condition or self._filter_interpolator.eval(config, value=value, **kwargs):
143
+ dpath.new(record, parsed_field.path, value)
136
144
 
137
145
  def __eq__(self, other: Any) -> bool:
138
146
  return bool(self.__dict__ == other.__dict__)
@@ -15,6 +15,7 @@ class DpathFlattenFields(RecordTransformation):
15
15
 
16
16
  field_path: List[Union[InterpolatedString, str]] path to the field to flatten.
17
17
  delete_origin_value: bool = False whether to delete origin field or keep it. Default is False.
18
+ replace_record: bool = False whether to replace origin record or not. Default is False.
18
19
 
19
20
  """
20
21
 
@@ -22,6 +23,7 @@ class DpathFlattenFields(RecordTransformation):
22
23
  field_path: List[Union[InterpolatedString, str]]
23
24
  parameters: InitVar[Mapping[str, Any]]
24
25
  delete_origin_value: bool = False
26
+ replace_record: bool = False
25
27
 
26
28
  def __post_init__(self, parameters: Mapping[str, Any]) -> None:
27
29
  self._field_path = [
@@ -48,8 +50,12 @@ class DpathFlattenFields(RecordTransformation):
48
50
  extracted = dpath.get(record, path, default=[])
49
51
 
50
52
  if isinstance(extracted, dict):
51
- conflicts = set(extracted.keys()) & set(record.keys())
52
- if not conflicts:
53
- if self.delete_origin_value:
54
- dpath.delete(record, path)
53
+ if self.replace_record and extracted:
54
+ dpath.delete(record, "**")
55
55
  record.update(extracted)
56
+ else:
57
+ conflicts = set(extracted.keys()) & set(record.keys())
58
+ if not conflicts:
59
+ if self.delete_origin_value:
60
+ dpath.delete(record, path)
61
+ record.update(extracted)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.39.2
3
+ Version: 6.40.0.dev0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -67,13 +67,13 @@ airbyte_cdk/sources/declarative/checks/check_stream.py,sha256=dAA-UhmMj0WLXCkRQr
67
67
  airbyte_cdk/sources/declarative/checks/connection_checker.py,sha256=MBRJo6WJlZQHpIfOGaNOkkHUmgUl_4wDM6VPo41z5Ss,1383
68
68
  airbyte_cdk/sources/declarative/concurrency_level/__init__.py,sha256=5XUqrmlstYlMM0j6crktlKQwALek0uiz2D3WdM46MyA,191
69
69
  airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py,sha256=YIwCTCpOr_QSNW4ltQK0yUGWInI8PKNY216HOOegYLk,2101
70
- airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=rAp-sgld4n8Tmybz-51m7VcYXqKwzKDpCJVr1elmkRc,26824
70
+ airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=0I1lOxV7oQEsUxyg7q9EgcW2zvhai4_7-IIDF79WiOU,27569
71
71
  airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
72
72
  airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=_zGNGq31RNy_0QBLt_EcTvgPyhj7urPdx6oA3M5-r3o,3150
73
73
  airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
74
- airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=2kFMQC2TpM_dmNJe0vYtez5XzdFy4nnWo1WowqKG1pA,148008
74
+ airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=5lAt9rGpiUElT16jybLALS3DMkyLrz7JNUeyv2nv5c0,150310
75
75
  airbyte_cdk/sources/declarative/declarative_source.py,sha256=nF7wBqFd3AQmEKAm4CnIo29CJoQL562cJGSCeL8U8bA,1531
76
- airbyte_cdk/sources/declarative/declarative_stream.py,sha256=venZjfpvtqr3oFSuvMBWtn4h9ayLhD4L65ACuXCDZ64,10445
76
+ airbyte_cdk/sources/declarative/declarative_stream.py,sha256=dCRlddBUSaJmBNBz1pSO1r2rTw8AP5d2_vlmIeGs2gg,10767
77
77
  airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=JHb_0d3SE6kNY10mxA5YBEKPeSbsWYjByq1gUQxepoE,953
78
78
  airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py,sha256=Jd7URkDQBoHSDQHQuYUqzeex1HYfLRtGcY_-dVW33pA,7884
79
79
  airbyte_cdk/sources/declarative/decoders/decoder.py,sha256=1PeKwuMK8x9dsA2zqUjSVinEWVSEgYcUS6npiW3aC2c,855
@@ -109,25 +109,25 @@ airbyte_cdk/sources/declarative/interpolation/interpolated_string.py,sha256=CQkH
109
109
  airbyte_cdk/sources/declarative/interpolation/interpolation.py,sha256=9IoeuWam3L6GyN10L6U8xNWXmkt9cnahSDNkez1OmFY,982
110
110
  airbyte_cdk/sources/declarative/interpolation/jinja.py,sha256=UQeuS4Vpyp4hlOn-R3tRyeBX0e9IoV6jQ6gH-Jz8lY0,7182
111
111
  airbyte_cdk/sources/declarative/interpolation/macros.py,sha256=HQKHKnjE17zKoPn27ZpTpugRZZQSaof4GVzUUZaV2eE,5081
112
- airbyte_cdk/sources/declarative/manifest_declarative_source.py,sha256=DJuLm_5iG66cyD16mRWG_rwmgNIORWSkFLxstC93Tc8,17209
112
+ airbyte_cdk/sources/declarative/manifest_declarative_source.py,sha256=bgrVP227hsiPJO6QeZy0v1kmdjrjQM63dlDTaI0pAC8,18300
113
113
  airbyte_cdk/sources/declarative/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py,sha256=iemy3fKLczcU0-Aor7tx5jcT6DRedKMqyK7kCOp01hg,3924
115
115
  airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
116
116
  airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
117
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=IbSrniMEvDhmiXtArtBpC2ie5pIC0tHh1JKnBSe3EcM,104712
117
+ airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=uO-NMBY90yb8Kg_SdGTsXgerUKAKBM6rsWovXbvPclI,106527
118
118
  airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
119
119
  airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=jDw_TttD3_hpfevXOH-0Ws0eRuqt6wvED0BqosGPRjI,5938
120
120
  airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=Rir9_z3Kcd5Es0-LChrzk-0qubAsiK_RSEnLmK2OXm8,553
121
121
  airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=CXwTfD3wSQq3okcqwigpprbHhSURUokh4GK2OmOyKC8,9132
122
122
  airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=IWUOdF03o-aQn0Occo1BJCxU0Pz-QILk5L67nzw2thw,6803
123
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=2VkO2gqw4j8sqmuIB-4JKhle4NJrFJy586M9YPatDc0,142496
123
+ airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=bKo2WsTSNAQkTtcjVSXniwjgLNYaD3Lx_9vM02rakYU,146478
124
124
  airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=HJ-Syp3p7RpyR_OK0X_a2kSyISfu3W-PKrRI16iY0a8,957
125
125
  airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py,sha256=VelO7zKqKtzMJ35jyFeg0ypJLQC0plqqIBNXoBW1G2E,3001
126
126
  airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py,sha256=c5cuVFM6NFkuQqG8Z5IwkBuwDrvXZN1CunUOM_L0ezg,6892
127
127
  airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py,sha256=tmGGpMoOBmaMfhVZq53AEWxoHm2lmNVi6hA2_IVEnAA,4882
128
128
  airbyte_cdk/sources/declarative/partition_routers/partition_router.py,sha256=YyEIzdmLd1FjbVP3QbQ2VFCLW_P-OGbVh6VpZShp54k,2218
129
129
  airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py,sha256=SKzKjSyfccq4dxGIh-J6ejrgkCHzaiTIazmbmeQiRD4,1942
130
- airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py,sha256=LlWj-Ofs-xfjlqmDzH8OYpyblP2Pb8bPDdR9g1UZyt0,17693
130
+ airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py,sha256=C15zFH0r4uHZ7otsrm46lHy93uT0vJn1VGs7maFHOHA,19800
131
131
  airbyte_cdk/sources/declarative/requesters/README.md,sha256=DQll2qsIzzTiiP35kJp16ONpr7cFeUQNgPfhl5krB24,2675
132
132
  airbyte_cdk/sources/declarative/requesters/__init__.py,sha256=d7a3OoHbqaJDyyPli3nqqJ2yAW_SLX6XDaBAKOwvpxw,364
133
133
  airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py,sha256=SkEDcJxlT1683rNx93K9whoS0OyUukkuOfToGtgpF58,776
@@ -150,7 +150,7 @@ airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py,sha25
150
150
  airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py,sha256=b1-zKxYOUMHn7ahdWpzKEzfG4A7s_WQWy-vzRqZWzME,2152
151
151
  airbyte_cdk/sources/declarative/requesters/paginators/paginator.py,sha256=TzJF1Q-CFlsHF9lMSfmnGCxRYm9_UQCmBcHYQpc7F30,2376
152
152
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py,sha256=2gly8fuZpDNwtu1Qg6oE2jBLGqQRdzSLJdnpk_iDV6I,767
153
- airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py,sha256=yLzzK5YIRTkXd2Z-BS__AZXuTd6HXjJIxq05K-lQoxI,3898
153
+ airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py,sha256=cOURIXaJLCGQfrDP9A7mtSKIb9rVx7WU1V4dvcEc6sw,3897
154
154
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py,sha256=WvGt_DTFcAgTR-NHrlrR7B71yG-L6jmfW-Gwm9iYzjY,3624
155
155
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py,sha256=Z2i6a-oKMmOTxHxsTVSnyaShkJ3u8xZw1xIJdx2yxss,2731
156
156
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py,sha256=ZBshGQNr5Bb_V8dqnWRISqdXFcjm1CKIXnlfbRhNl8g,1308
@@ -169,10 +169,10 @@ airbyte_cdk/sources/declarative/resolvers/__init__.py,sha256=NiDcz5qi8HPsfX94MUm
169
169
  airbyte_cdk/sources/declarative/resolvers/components_resolver.py,sha256=KPjKc0yb9artL4ZkeqN8RmEykHH6FJgqXD7fCEnh1X0,1936
170
170
  airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py,sha256=dz4iJV9liD_LzY_Mn4XmAStoUll60R3MIGWV4aN3pgg,5223
171
171
  airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py,sha256=AiojNs8wItJFrENZBFUaDvau3sgwudO6Wkra36upSPo,4639
172
- airbyte_cdk/sources/declarative/retrievers/__init__.py,sha256=ix9m1dkR69DcXCXUKC5RK_ZZM7ojTLBQ4IkWQTfmfCk,456
173
- airbyte_cdk/sources/declarative/retrievers/async_retriever.py,sha256=dwYZ70eg9DKHEqZydHhMFPkEILbNcXu7E-djOCikNgI,3530
172
+ airbyte_cdk/sources/declarative/retrievers/__init__.py,sha256=nQepwG_RfW53sgwvK5dLPqfCx0VjsQ83nYoPjBMAaLM,527
173
+ airbyte_cdk/sources/declarative/retrievers/async_retriever.py,sha256=Fxwg53i_9R3kMNFtD3gEwZbdW8xlcXYXA5evEhrKunM,5072
174
174
  airbyte_cdk/sources/declarative/retrievers/retriever.py,sha256=XPLs593Xv8c5cKMc37XzUAYmzlXd1a7eSsspM-CMuWA,1696
175
- airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=fDhc6dMx75UImh1_TfLm4Le59tsHpqIUZnau7uIJyYw,25043
175
+ airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=p6O4FYS7zzPq6uQT2NVnughUjI66tePaXVlyhCAyyv0,27746
176
176
  airbyte_cdk/sources/declarative/schema/__init__.py,sha256=xU45UvM5O4c1PSM13UHpCdh5hpW3HXy9vRRGEiAC1rg,795
177
177
  airbyte_cdk/sources/declarative/schema/default_schema_loader.py,sha256=KTACrIE23a83wsm3Rd9Eb4K6-20lrGqYxTHNp9yxsso,1820
178
178
  airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py,sha256=J8Q_iJYhcSQLWyt0bTZCbDAGpxt9G8FCc6Q9jtGsNzw,10703
@@ -185,8 +185,8 @@ airbyte_cdk/sources/declarative/stream_slicers/__init__.py,sha256=sI9vhc95RwJYOn
185
185
  airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py,sha256=RW1Q44ml-VWeMl4lNcV6EfyzrzCZkjj-hd0Omx_n_n4,3405
186
186
  airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py,sha256=SOkIPBi2Wu7yxIvA15yFzUAB95a3IzA8LPq5DEqHQQc,725
187
187
  airbyte_cdk/sources/declarative/transformations/__init__.py,sha256=CPJ8TlMpiUmvG3624VYu_NfTzxwKcfBjM2Q2wJ7fkSA,919
188
- airbyte_cdk/sources/declarative/transformations/add_fields.py,sha256=7UHCGc4xOxkYs5iXbPAPrP3-IEY60A-Go8QushsmaqY,4959
189
- airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py,sha256=1A-DWGjMqY4ggzRUZsZ3Sjrt-xsNgwUo5c72sSc5OZ0,2077
188
+ airbyte_cdk/sources/declarative/transformations/add_fields.py,sha256=vxLh0ekB0i_m8GYFpSad9T4S7eRxxtqZaigHLGVoltA,5366
189
+ airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py,sha256=I8oXPAOFhBV1mW_ufMn8Ii7oMbtect0sfLcpBNrKzzw,2374
190
190
  airbyte_cdk/sources/declarative/transformations/flatten_fields.py,sha256=yT3owG6rMKaRX-LJ_T-jSTnh1B5NoAHyH4YZN9yOvE8,1758
191
191
  airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py,sha256=vbIn6ump-Ut6g20yMub7PFoPBhOKVtrHSAUdcOUdLfw,1999
192
192
  airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py,sha256=RTs5KX4V3hM7A6QN1WlGF21YccTIyNH6qQI9IMb__hw,670
@@ -358,9 +358,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
358
358
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
359
359
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
360
360
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
361
- airbyte_cdk-6.39.2.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
362
- airbyte_cdk-6.39.2.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
363
- airbyte_cdk-6.39.2.dist-info/METADATA,sha256=JxrDODWTiKafxzRvdt1F80vkLla2EarHEpaqvfuDGbQ,6071
364
- airbyte_cdk-6.39.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
365
- airbyte_cdk-6.39.2.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
366
- airbyte_cdk-6.39.2.dist-info/RECORD,,
361
+ airbyte_cdk-6.40.0.dev0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
362
+ airbyte_cdk-6.40.0.dev0.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
363
+ airbyte_cdk-6.40.0.dev0.dist-info/METADATA,sha256=PMlEex6EGwLa65EN3m6YFZAVlVotLkdW0vau9MjC8fY,6076
364
+ airbyte_cdk-6.40.0.dev0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
365
+ airbyte_cdk-6.40.0.dev0.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
366
+ airbyte_cdk-6.40.0.dev0.dist-info/RECORD,,