airbyte-cdk 6.28.0.dev0__py3-none-any.whl → 6.29.0__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/checks/check_dynamic_stream.py +19 -9
- airbyte_cdk/sources/declarative/declarative_component_schema.yaml +5 -0
- airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +4 -33
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py +5 -0
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +9 -18
- airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +4 -4
- airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +1 -0
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/METADATA +1 -1
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/RECORD +13 -13
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.28.0.dev0.dist-info → airbyte_cdk-6.29.0.dist-info}/entry_points.txt +0 -0
@@ -21,8 +21,12 @@ class CheckDynamicStream(ConnectionChecker):
|
|
21
21
|
stream_count (int): numbers of streams to check
|
22
22
|
"""
|
23
23
|
|
24
|
+
# TODO: Add field stream_names to check_connection for static streams
|
25
|
+
# https://github.com/airbytehq/airbyte-python-cdk/pull/293#discussion_r1934933483
|
26
|
+
|
24
27
|
stream_count: int
|
25
28
|
parameters: InitVar[Mapping[str, Any]]
|
29
|
+
use_check_availability: bool = True
|
26
30
|
|
27
31
|
def __post_init__(self, parameters: Mapping[str, Any]) -> None:
|
28
32
|
self._parameters = parameters
|
@@ -31,21 +35,27 @@ class CheckDynamicStream(ConnectionChecker):
|
|
31
35
|
self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
|
32
36
|
) -> Tuple[bool, Any]:
|
33
37
|
streams = source.streams(config=config)
|
38
|
+
|
34
39
|
if len(streams) == 0:
|
35
40
|
return False, f"No streams to connect to from source {source}"
|
41
|
+
if not self.use_check_availability:
|
42
|
+
return True, None
|
43
|
+
|
44
|
+
availability_strategy = HttpAvailabilityStrategy()
|
36
45
|
|
37
|
-
|
38
|
-
stream
|
39
|
-
availability_strategy = HttpAvailabilityStrategy()
|
40
|
-
try:
|
46
|
+
try:
|
47
|
+
for stream in streams[: min(self.stream_count, len(streams))]:
|
41
48
|
stream_is_available, reason = availability_strategy.check_availability(
|
42
49
|
stream, logger
|
43
50
|
)
|
44
51
|
if not stream_is_available:
|
52
|
+
logger.warning(f"Stream {stream.name} is not available: {reason}")
|
45
53
|
return False, reason
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
54
|
+
except Exception as error:
|
55
|
+
error_message = (
|
56
|
+
f"Encountered an error trying to connect to stream {stream.name}. Error: {error}"
|
57
|
+
)
|
58
|
+
logger.error(error_message, exc_info=True)
|
59
|
+
return False, error_message
|
60
|
+
|
51
61
|
return True, None
|
@@ -320,6 +320,11 @@ definitions:
|
|
320
320
|
title: Stream Count
|
321
321
|
description: Numbers of the streams to try reading from when running a check operation.
|
322
322
|
type: integer
|
323
|
+
use_check_availability:
|
324
|
+
title: Use Check Availability
|
325
|
+
description: Enables stream check availability. This field is automatically set by the CDK.
|
326
|
+
type: boolean
|
327
|
+
default: true
|
323
328
|
CompositeErrorHandler:
|
324
329
|
title: Composite Error Handler
|
325
330
|
description: Error handler that sequentially iterates over a list of error handlers.
|
@@ -22,9 +22,6 @@ from airbyte_cdk.sources.streams.checkpoint.per_partition_key_serializer import
|
|
22
22
|
)
|
23
23
|
from airbyte_cdk.sources.streams.concurrent.cursor import ConcurrentCursor, Cursor, CursorField
|
24
24
|
from airbyte_cdk.sources.streams.concurrent.partitions.partition import Partition
|
25
|
-
from airbyte_cdk.sources.streams.concurrent.state_converters.abstract_stream_state_converter import (
|
26
|
-
AbstractStreamStateConverter,
|
27
|
-
)
|
28
25
|
from airbyte_cdk.sources.types import Record, StreamSlice, StreamState
|
29
26
|
|
30
27
|
logger = logging.getLogger("airbyte")
|
@@ -75,7 +72,6 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
75
72
|
stream_state: Any,
|
76
73
|
message_repository: MessageRepository,
|
77
74
|
connector_state_manager: ConnectorStateManager,
|
78
|
-
connector_state_converter: AbstractStreamStateConverter,
|
79
75
|
cursor_field: CursorField,
|
80
76
|
) -> None:
|
81
77
|
self._global_cursor: Optional[StreamState] = {}
|
@@ -83,7 +79,6 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
83
79
|
self._stream_namespace = stream_namespace
|
84
80
|
self._message_repository = message_repository
|
85
81
|
self._connector_state_manager = connector_state_manager
|
86
|
-
self._connector_state_converter = connector_state_converter
|
87
82
|
self._cursor_field = cursor_field
|
88
83
|
|
89
84
|
self._cursor_factory = cursor_factory
|
@@ -306,7 +301,8 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
306
301
|
):
|
307
302
|
# We assume that `stream_state` is in a global format that can be applied to all partitions.
|
308
303
|
# Example: {"global_state_format_key": "global_state_format_value"}
|
309
|
-
self.
|
304
|
+
self._global_cursor = deepcopy(stream_state)
|
305
|
+
self._new_global_cursor = deepcopy(stream_state)
|
310
306
|
|
311
307
|
else:
|
312
308
|
self._use_global_cursor = stream_state.get("use_global_cursor", False)
|
@@ -323,7 +319,8 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
323
319
|
|
324
320
|
# set default state for missing partitions if it is per partition with fallback to global
|
325
321
|
if self._GLOBAL_STATE_KEY in stream_state:
|
326
|
-
self.
|
322
|
+
self._global_cursor = deepcopy(stream_state[self._GLOBAL_STATE_KEY])
|
323
|
+
self._new_global_cursor = deepcopy(stream_state[self._GLOBAL_STATE_KEY])
|
327
324
|
|
328
325
|
# Set initial parent state
|
329
326
|
if stream_state.get("parent_state"):
|
@@ -332,27 +329,6 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
332
329
|
# Set parent state for partition routers based on parent streams
|
333
330
|
self._partition_router.set_initial_state(stream_state)
|
334
331
|
|
335
|
-
def _set_global_state(self, stream_state: Mapping[str, Any]) -> None:
|
336
|
-
"""
|
337
|
-
Initializes the global cursor state from the provided stream state.
|
338
|
-
|
339
|
-
If the cursor field key is present in the stream state, its value is parsed,
|
340
|
-
formatted, and stored as the global cursor. This ensures consistency in state
|
341
|
-
representation across partitions.
|
342
|
-
"""
|
343
|
-
if self.cursor_field.cursor_field_key in stream_state:
|
344
|
-
global_state_value = stream_state[self.cursor_field.cursor_field_key]
|
345
|
-
final_format_global_state_value = self._connector_state_converter.output_format(
|
346
|
-
self._connector_state_converter.parse_value(global_state_value)
|
347
|
-
)
|
348
|
-
|
349
|
-
fixed_global_state = {
|
350
|
-
self.cursor_field.cursor_field_key: final_format_global_state_value
|
351
|
-
}
|
352
|
-
|
353
|
-
self._global_cursor = deepcopy(fixed_global_state)
|
354
|
-
self._new_global_cursor = deepcopy(fixed_global_state)
|
355
|
-
|
356
332
|
def observe(self, record: Record) -> None:
|
357
333
|
if not self._use_global_cursor and self.limit_reached():
|
358
334
|
self._use_global_cursor = True
|
@@ -396,10 +372,5 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
396
372
|
cursor = self._cursor_per_partition[partition_key]
|
397
373
|
return cursor
|
398
374
|
|
399
|
-
def _extract_cursor_value_from_state(self, state: StreamState) -> Any:
|
400
|
-
return self._connector_state_converter.parse_value(
|
401
|
-
state[self.cursor_field.cursor_field_key]
|
402
|
-
)
|
403
|
-
|
404
375
|
def limit_reached(self) -> bool:
|
405
376
|
return self._over_limit > self.DEFAULT_MAX_PARTITIONS_NUMBER
|
@@ -59,6 +59,11 @@ class CheckDynamicStream(BaseModel):
|
|
59
59
|
description="Numbers of the streams to try reading from when running a check operation.",
|
60
60
|
title="Stream Count",
|
61
61
|
)
|
62
|
+
use_check_availability: Optional[bool] = Field(
|
63
|
+
True,
|
64
|
+
description="Enables stream check availability. This field is automatically set by the CDK.",
|
65
|
+
title="Use Check Availability",
|
66
|
+
)
|
62
67
|
|
63
68
|
|
64
69
|
class ConcurrencyLevel(BaseModel):
|
@@ -903,7 +903,15 @@ class ModelToComponentFactory:
|
|
903
903
|
def create_check_dynamic_stream(
|
904
904
|
model: CheckDynamicStreamModel, config: Config, **kwargs: Any
|
905
905
|
) -> CheckDynamicStream:
|
906
|
-
|
906
|
+
assert model.use_check_availability is not None # for mypy
|
907
|
+
|
908
|
+
use_check_availability = model.use_check_availability
|
909
|
+
|
910
|
+
return CheckDynamicStream(
|
911
|
+
stream_count=model.stream_count,
|
912
|
+
use_check_availability=use_check_availability,
|
913
|
+
parameters={},
|
914
|
+
)
|
907
915
|
|
908
916
|
def create_composite_error_handler(
|
909
917
|
self, model: CompositeErrorHandlerModel, config: Config, **kwargs: Any
|
@@ -1202,22 +1210,6 @@ class ModelToComponentFactory:
|
|
1202
1210
|
)
|
1203
1211
|
cursor_field = CursorField(interpolated_cursor_field.eval(config=config))
|
1204
1212
|
|
1205
|
-
datetime_format = datetime_based_cursor_model.datetime_format
|
1206
|
-
|
1207
|
-
cursor_granularity = (
|
1208
|
-
parse_duration(datetime_based_cursor_model.cursor_granularity)
|
1209
|
-
if datetime_based_cursor_model.cursor_granularity
|
1210
|
-
else None
|
1211
|
-
)
|
1212
|
-
|
1213
|
-
connector_state_converter: DateTimeStreamStateConverter
|
1214
|
-
connector_state_converter = CustomFormatConcurrentStreamStateConverter(
|
1215
|
-
datetime_format=datetime_format,
|
1216
|
-
input_datetime_formats=datetime_based_cursor_model.cursor_datetime_formats,
|
1217
|
-
is_sequential_state=True, # ConcurrentPerPartitionCursor only works with sequential state
|
1218
|
-
cursor_granularity=cursor_granularity,
|
1219
|
-
)
|
1220
|
-
|
1221
1213
|
# Create the cursor factory
|
1222
1214
|
cursor_factory = ConcurrentCursorFactory(
|
1223
1215
|
partial(
|
@@ -1241,7 +1233,6 @@ class ModelToComponentFactory:
|
|
1241
1233
|
stream_state=stream_state,
|
1242
1234
|
message_repository=self._message_repository, # type: ignore
|
1243
1235
|
connector_state_manager=state_manager,
|
1244
|
-
connector_state_converter=connector_state_converter,
|
1245
1236
|
cursor_field=cursor_field,
|
1246
1237
|
)
|
1247
1238
|
|
@@ -151,16 +151,16 @@ class HttpResponseFilter:
|
|
151
151
|
:param response: The HTTP response which can be used during interpolation
|
152
152
|
:return: The evaluated error message string to be emitted
|
153
153
|
"""
|
154
|
-
return self.error_message.eval( # type: ignore
|
154
|
+
return self.error_message.eval( # type: ignore[no-any-return, union-attr]
|
155
155
|
self.config, response=self._safe_response_json(response), headers=response.headers
|
156
156
|
)
|
157
157
|
|
158
158
|
def _response_matches_predicate(self, response: requests.Response) -> bool:
|
159
159
|
return (
|
160
160
|
bool(
|
161
|
-
self.predicate.condition # type:
|
162
|
-
and self.predicate.eval( # type:
|
163
|
-
None, # type: ignore
|
161
|
+
self.predicate.condition # type:ignore[union-attr]
|
162
|
+
and self.predicate.eval( # type:ignore[union-attr]
|
163
|
+
None, # type: ignore[arg-type]
|
164
164
|
response=self._safe_response_json(response),
|
165
165
|
headers=response.headers,
|
166
166
|
)
|
@@ -225,6 +225,7 @@ class DynamicSchemaLoader(SchemaLoader):
|
|
225
225
|
return self._get_airbyte_type(complex_type.field_type)
|
226
226
|
|
227
227
|
field_type = self._get_airbyte_type(complex_type.field_type)
|
228
|
+
|
228
229
|
field_type["items"] = (
|
229
230
|
self._get_airbyte_type(complex_type.items)
|
230
231
|
if isinstance(complex_type.items, str)
|
@@ -58,7 +58,7 @@ airbyte_cdk/sources/declarative/auth/selective_authenticator.py,sha256=qGwC6YsCl
|
|
58
58
|
airbyte_cdk/sources/declarative/auth/token.py,sha256=r4u3WXyVa7WmiSZ9-eZXlrUI-pS0D4YWJnwjLzwV-Fk,11210
|
59
59
|
airbyte_cdk/sources/declarative/auth/token_provider.py,sha256=9CuSsmOoHkvlc4k-oZ3Jx5luAgfTMm1I_5HOZxw7wMU,3075
|
60
60
|
airbyte_cdk/sources/declarative/checks/__init__.py,sha256=nsVV5Bo0E_tBNd8A4Xdsdb-75PpcLo5RQu2RQ_Gv-ME,806
|
61
|
-
airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py,sha256=
|
61
|
+
airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py,sha256=HUktywjI8pqOeED08UGqponUSwxs2TOAECTowlWlrRE,2138
|
62
62
|
airbyte_cdk/sources/declarative/checks/check_stream.py,sha256=dAA-UhmMj0WLXCkRQrilWCfJmncBzXCZ18ptRNip3XA,2139
|
63
63
|
airbyte_cdk/sources/declarative/checks/connection_checker.py,sha256=MBRJo6WJlZQHpIfOGaNOkkHUmgUl_4wDM6VPo41z5Ss,1383
|
64
64
|
airbyte_cdk/sources/declarative/concurrency_level/__init__.py,sha256=5XUqrmlstYlMM0j6crktlKQwALek0uiz2D3WdM46MyA,191
|
@@ -67,7 +67,7 @@ airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=uhSXYhXD
|
|
67
67
|
airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=l9LG7Qm6e5r_qgqfVKnx3mXYtg1I9MmMjomVIPfU4XA,177
|
68
68
|
airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=SX9JjdesN1edN2WVUVMzU_ptqp2QB1OnsnjZ4mwcX7w,2579
|
69
69
|
airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
|
70
|
-
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=
|
70
|
+
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=43cBrshQer-KiNwjlA6peDyfrST88VQIZmfgdAZTiLc,139874
|
71
71
|
airbyte_cdk/sources/declarative/declarative_source.py,sha256=nF7wBqFd3AQmEKAm4CnIo29CJoQL562cJGSCeL8U8bA,1531
|
72
72
|
airbyte_cdk/sources/declarative/declarative_stream.py,sha256=JRyNeOIpsFu4ztVZsN6sncqUEIqIE-bUkD2TPgbMgk0,10375
|
73
73
|
airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=KSpQetKGqPCv-38QgcVJ5kzM5nzbFldTSsYDCS3Xf0Y,1035
|
@@ -88,7 +88,7 @@ airbyte_cdk/sources/declarative/extractors/record_selector.py,sha256=tjNwcURmlyD
|
|
88
88
|
airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py,sha256=LhqGDfX06_dDYLKsIVnwQ_nAWCln-v8PV7Wgt_QVeTI,6533
|
89
89
|
airbyte_cdk/sources/declarative/extractors/type_transformer.py,sha256=d6Y2Rfg8pMVEEnHllfVksWZdNVOU55yk34O03dP9muY,1626
|
90
90
|
airbyte_cdk/sources/declarative/incremental/__init__.py,sha256=U1oZKtBaEC6IACmvziY9Wzg7Z8EgF4ZuR7NwvjlB_Sk,1255
|
91
|
-
airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=
|
91
|
+
airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=ndUZaPW0MsN4_3cGpB-0Uu0otSPnmPmHgbixoJeDmjA,16660
|
92
92
|
airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py,sha256=_UzUnSIUsDbRgbFTXgSyZEFb4ws-KdhdQPWO8mFbV7U,22028
|
93
93
|
airbyte_cdk/sources/declarative/incremental/declarative_cursor.py,sha256=5Bhw9VRPyIuCaD0wmmq_L3DZsa-rJgtKSEUzSd8YYD0,536
|
94
94
|
airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py,sha256=9HO-QbL9akvjq2NP7l498RwLA4iQZlBMQW1tZbt34I8,15943
|
@@ -109,13 +109,13 @@ airbyte_cdk/sources/declarative/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW
|
|
109
109
|
airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py,sha256=iemy3fKLczcU0-Aor7tx5jcT6DRedKMqyK7kCOp01hg,3924
|
110
110
|
airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
|
111
111
|
airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
|
112
|
-
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=
|
112
|
+
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=UJ9sYWqoohaT0mr0ALxOP74t0TTJRhfZMHBoqViaoVU,98273
|
113
113
|
airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
|
114
114
|
airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=958MMX6_ZOJUlDDdNr9Krosgi2bCKGx2Z765M2Woz18,5505
|
115
115
|
airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=Rir9_z3Kcd5Es0-LChrzk-0qubAsiK_RSEnLmK2OXm8,553
|
116
116
|
airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=CXwTfD3wSQq3okcqwigpprbHhSURUokh4GK2OmOyKC8,9132
|
117
117
|
airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=IWUOdF03o-aQn0Occo1BJCxU0Pz-QILk5L67nzw2thw,6803
|
118
|
-
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=
|
118
|
+
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=y4Yd9ik37vUkN3Jw54BkcCYv4UAT0QtBLfwtqPxDPYc,125491
|
119
119
|
airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=HJ-Syp3p7RpyR_OK0X_a2kSyISfu3W-PKrRI16iY0a8,957
|
120
120
|
airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py,sha256=n82J15S8bjeMZ5uROu--P3hnbQoxkY5v7RPHYx7g7ro,2929
|
121
121
|
airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py,sha256=c5cuVFM6NFkuQqG8Z5IwkBuwDrvXZN1CunUOM_L0ezg,6892
|
@@ -137,7 +137,7 @@ airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handle
|
|
137
137
|
airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py,sha256=BGED9TcbA3mlvd9D7sog_u5AiyjWGVOUq_00aK3PNzg,5111
|
138
138
|
airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py,sha256=q0YkeYUUWO6iErUy0vjqiOkhg8_9d5YcCmtlpXAJJ9E,1314
|
139
139
|
airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py,sha256=Tan66odx8VHzfdyyXMQkXz2pJYksllGqvxmpoajgcK4,669
|
140
|
-
airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py,sha256=
|
140
|
+
airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py,sha256=E-fQbt4ShfxZVoqfnmOx69C6FUPWZz8BIqI3DN9Kcjs,7935
|
141
141
|
airbyte_cdk/sources/declarative/requesters/http_job_repository.py,sha256=3GtOefPH08evlSUxaILkiKLTHbIspFY4qd5B3ZqNE60,10063
|
142
142
|
airbyte_cdk/sources/declarative/requesters/http_requester.py,sha256=RqYPkgJFAWfcZBTc-JBcGHPm4JL1ZQOhs9GKU4MP2eE,14723
|
143
143
|
airbyte_cdk/sources/declarative/requesters/paginators/__init__.py,sha256=uArbKs9JKNCt7t9tZoeWwjDpyI1HoPp29FNW0JzvaEM,644
|
@@ -170,7 +170,7 @@ airbyte_cdk/sources/declarative/retrievers/retriever.py,sha256=XPLs593Xv8c5cKMc3
|
|
170
170
|
airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=kgnhVQxRlFqJs2-rDu2-QH-p-GzQU3nKmSp6_aq8u0s,24550
|
171
171
|
airbyte_cdk/sources/declarative/schema/__init__.py,sha256=xU45UvM5O4c1PSM13UHpCdh5hpW3HXy9vRRGEiAC1rg,795
|
172
172
|
airbyte_cdk/sources/declarative/schema/default_schema_loader.py,sha256=KTACrIE23a83wsm3Rd9Eb4K6-20lrGqYxTHNp9yxsso,1820
|
173
|
-
airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py,sha256=
|
173
|
+
airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py,sha256=J8Q_iJYhcSQLWyt0bTZCbDAGpxt9G8FCc6Q9jtGsNzw,10703
|
174
174
|
airbyte_cdk/sources/declarative/schema/inline_schema_loader.py,sha256=bVETE10hRsatRJq3R3BeyRR0wIoK3gcP1gcpVRQ_P5U,464
|
175
175
|
airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py,sha256=5Wl-fqW-pVf_dxJ4yGHMAFfC4JjKHYJhqFJT1xA57F4,4177
|
176
176
|
airbyte_cdk/sources/declarative/schema/schema_loader.py,sha256=kjt8v0N5wWKA5zyLnrDLxf1PJKdUqvQq2RVnAOAzNSY,379
|
@@ -351,9 +351,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
351
351
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
352
352
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
353
353
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
354
|
-
airbyte_cdk-6.
|
355
|
-
airbyte_cdk-6.
|
356
|
-
airbyte_cdk-6.
|
357
|
-
airbyte_cdk-6.
|
358
|
-
airbyte_cdk-6.
|
359
|
-
airbyte_cdk-6.
|
354
|
+
airbyte_cdk-6.29.0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
355
|
+
airbyte_cdk-6.29.0.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
356
|
+
airbyte_cdk-6.29.0.dist-info/METADATA,sha256=tBDu8ziyLjbzMqhfeqrkGFrLUjglWxY_Ga7NuDQBkBE,6010
|
357
|
+
airbyte_cdk-6.29.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
358
|
+
airbyte_cdk-6.29.0.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
|
359
|
+
airbyte_cdk-6.29.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|