airbyte-cdk 6.38.0.dev0__py3-none-any.whl → 6.38.2__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 (34) hide show
  1. airbyte_cdk/entrypoint.py +6 -6
  2. airbyte_cdk/logger.py +1 -4
  3. airbyte_cdk/sources/declarative/datetime/__init__.py +0 -4
  4. airbyte_cdk/sources/declarative/datetime/datetime_parser.py +4 -0
  5. airbyte_cdk/sources/declarative/declarative_component_schema.yaml +10 -2
  6. airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +104 -42
  7. airbyte_cdk/sources/declarative/decoders/decoder.py +3 -3
  8. airbyte_cdk/sources/declarative/decoders/decoder_parser.py +30 -0
  9. airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +6 -9
  10. airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -2
  11. airbyte_cdk/sources/declarative/interpolation/macros.py +3 -5
  12. airbyte_cdk/sources/declarative/models/declarative_component_schema.py +7 -5
  13. airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +37 -9
  14. airbyte_cdk/sources/declarative/requesters/http_requester.py +77 -25
  15. airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +25 -4
  16. airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +6 -1
  17. airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +7 -2
  18. airbyte_cdk/sources/declarative/requesters/requester.py +7 -1
  19. airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +21 -4
  20. airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -1
  21. airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +3 -3
  22. airbyte_cdk/sources/types.py +1 -0
  23. airbyte_cdk/utils/mapping_helpers.py +18 -1
  24. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/METADATA +3 -3
  25. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/RECORD +29 -33
  26. airbyte_cdk/sources/embedded/__init__.py +0 -3
  27. airbyte_cdk/sources/embedded/base_integration.py +0 -61
  28. airbyte_cdk/sources/embedded/catalog.py +0 -57
  29. airbyte_cdk/sources/embedded/runner.py +0 -57
  30. airbyte_cdk/sources/embedded/tools.py +0 -27
  31. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/LICENSE.txt +0 -0
  32. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/LICENSE_SHORT +0 -0
  33. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/WHEEL +0 -0
  34. {airbyte_cdk-6.38.0.dev0.dist-info → airbyte_cdk-6.38.2.dist-info}/entry_points.txt +0 -0
@@ -16,7 +16,9 @@ from airbyte_cdk.sources.declarative.auth.declarative_authenticator import (
16
16
  )
17
17
  from airbyte_cdk.sources.declarative.decoders import Decoder
18
18
  from airbyte_cdk.sources.declarative.decoders.json_decoder import JsonDecoder
19
- from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
19
+ from airbyte_cdk.sources.declarative.interpolation.interpolated_string import (
20
+ InterpolatedString,
21
+ )
20
22
  from airbyte_cdk.sources.declarative.requesters.request_options.interpolated_request_options_provider import (
21
23
  InterpolatedRequestOptionsProvider,
22
24
  )
@@ -25,8 +27,11 @@ from airbyte_cdk.sources.message import MessageRepository, NoopMessageRepository
25
27
  from airbyte_cdk.sources.streams.call_rate import APIBudget
26
28
  from airbyte_cdk.sources.streams.http import HttpClient
27
29
  from airbyte_cdk.sources.streams.http.error_handlers import ErrorHandler
28
- from airbyte_cdk.sources.types import Config, StreamSlice, StreamState
29
- from airbyte_cdk.utils.mapping_helpers import combine_mappings
30
+ from airbyte_cdk.sources.types import Config, EmptyString, StreamSlice, StreamState
31
+ from airbyte_cdk.utils.mapping_helpers import (
32
+ combine_mappings,
33
+ get_interpolation_context,
34
+ )
30
35
 
31
36
 
32
37
  @dataclass
@@ -49,9 +54,10 @@ class HttpRequester(Requester):
49
54
 
50
55
  name: str
51
56
  url_base: Union[InterpolatedString, str]
52
- path: Union[InterpolatedString, str]
53
57
  config: Config
54
58
  parameters: InitVar[Mapping[str, Any]]
59
+
60
+ path: Optional[Union[InterpolatedString, str]] = None
55
61
  authenticator: Optional[DeclarativeAuthenticator] = None
56
62
  http_method: Union[str, HttpMethod] = HttpMethod.GET
57
63
  request_options_provider: Optional[InterpolatedRequestOptionsProvider] = None
@@ -66,7 +72,9 @@ class HttpRequester(Requester):
66
72
 
67
73
  def __post_init__(self, parameters: Mapping[str, Any]) -> None:
68
74
  self._url_base = InterpolatedString.create(self.url_base, parameters=parameters)
69
- self._path = InterpolatedString.create(self.path, parameters=parameters)
75
+ self._path = InterpolatedString.create(
76
+ self.path if self.path else EmptyString, parameters=parameters
77
+ )
70
78
  if self.request_options_provider is None:
71
79
  self._request_options_provider = InterpolatedRequestOptionsProvider(
72
80
  config=self.config, parameters=parameters
@@ -112,27 +120,33 @@ class HttpRequester(Requester):
112
120
  def get_authenticator(self) -> DeclarativeAuthenticator:
113
121
  return self._authenticator
114
122
 
115
- def get_url_base(self) -> str:
116
- return os.path.join(self._url_base.eval(self.config), "")
123
+ def get_url_base(
124
+ self,
125
+ *,
126
+ stream_state: Optional[StreamState] = None,
127
+ stream_slice: Optional[StreamSlice] = None,
128
+ next_page_token: Optional[Mapping[str, Any]] = None,
129
+ ) -> str:
130
+ interpolation_context = get_interpolation_context(
131
+ stream_state=stream_state,
132
+ stream_slice=stream_slice,
133
+ next_page_token=next_page_token,
134
+ )
135
+ return os.path.join(self._url_base.eval(self.config, **interpolation_context), EmptyString)
117
136
 
118
137
  def get_path(
119
138
  self,
120
139
  *,
121
- stream_state: Optional[StreamState],
122
- stream_slice: Optional[StreamSlice],
123
- next_page_token: Optional[Mapping[str, Any]],
140
+ stream_state: Optional[StreamState] = None,
141
+ stream_slice: Optional[StreamSlice] = None,
142
+ next_page_token: Optional[Mapping[str, Any]] = None,
124
143
  ) -> str:
125
- kwargs = {
126
- "stream_slice": stream_slice,
127
- "next_page_token": next_page_token,
128
- # update the interpolation context with extra fields, if passed.
129
- **(
130
- stream_slice.extra_fields
131
- if stream_slice is not None and hasattr(stream_slice, "extra_fields")
132
- else {}
133
- ),
134
- }
135
- path = str(self._path.eval(self.config, **kwargs))
144
+ interpolation_context = get_interpolation_context(
145
+ stream_state=stream_state,
146
+ stream_slice=stream_slice,
147
+ next_page_token=next_page_token,
148
+ )
149
+ path = str(self._path.eval(self.config, **interpolation_context))
136
150
  return path.lstrip("/")
137
151
 
138
152
  def get_method(self) -> HttpMethod:
@@ -146,7 +160,9 @@ class HttpRequester(Requester):
146
160
  next_page_token: Optional[Mapping[str, Any]] = None,
147
161
  ) -> MutableMapping[str, Any]:
148
162
  return self._request_options_provider.get_request_params(
149
- stream_state=stream_state, stream_slice=stream_slice, next_page_token=next_page_token
163
+ stream_state=stream_state,
164
+ stream_slice=stream_slice,
165
+ next_page_token=next_page_token,
150
166
  )
151
167
 
152
168
  def get_request_headers(
@@ -157,7 +173,9 @@ class HttpRequester(Requester):
157
173
  next_page_token: Optional[Mapping[str, Any]] = None,
158
174
  ) -> Mapping[str, Any]:
159
175
  return self._request_options_provider.get_request_headers(
160
- stream_state=stream_state, stream_slice=stream_slice, next_page_token=next_page_token
176
+ stream_state=stream_state,
177
+ stream_slice=stream_slice,
178
+ next_page_token=next_page_token,
161
179
  )
162
180
 
163
181
  # fixing request options provider types has a lot of dependencies
@@ -186,7 +204,9 @@ class HttpRequester(Requester):
186
204
  next_page_token: Optional[Mapping[str, Any]] = None,
187
205
  ) -> Optional[Mapping[str, Any]]:
188
206
  return self._request_options_provider.get_request_body_json(
189
- stream_state=stream_state, stream_slice=stream_slice, next_page_token=next_page_token
207
+ stream_state=stream_state,
208
+ stream_slice=stream_slice,
209
+ next_page_token=next_page_token,
190
210
  )
191
211
 
192
212
  @property
@@ -330,6 +350,34 @@ class HttpRequester(Requester):
330
350
 
331
351
  @classmethod
332
352
  def _join_url(cls, url_base: str, path: str) -> str:
353
+ """
354
+ Joins a base URL with a given path and returns the resulting URL with any trailing slash removed.
355
+
356
+ This method ensures that there are no duplicate slashes when concatenating the base URL and the path,
357
+ which is useful when the full URL is provided from an interpolation context.
358
+
359
+ Args:
360
+ url_base (str): The base URL to which the path will be appended.
361
+ path (str): The path to join with the base URL.
362
+
363
+ Returns:
364
+ str: The resulting joined URL.
365
+
366
+ Note:
367
+ Related issue: https://github.com/airbytehq/airbyte-internal-issues/issues/11869
368
+ - If the path is an empty string or None, the method returns the base URL with any trailing slash removed.
369
+
370
+ Example:
371
+ 1) _join_url("https://example.com/api/", "endpoint") >> 'https://example.com/api/endpoint'
372
+ 2) _join_url("https://example.com/api", "/endpoint") >> 'https://example.com/api/endpoint'
373
+ 3) _join_url("https://example.com/api/", "") >> 'https://example.com/api'
374
+ 4) _join_url("https://example.com/api", None) >> 'https://example.com/api'
375
+ """
376
+
377
+ # return a full-url if provided directly from interpolation context
378
+ if path == EmptyString or path is None:
379
+ return url_base.rstrip("/")
380
+
333
381
  return urljoin(url_base, path)
334
382
 
335
383
  def send_request(
@@ -347,7 +395,11 @@ class HttpRequester(Requester):
347
395
  request, response = self._http_client.send_request(
348
396
  http_method=self.get_method().value,
349
397
  url=self._join_url(
350
- self.get_url_base(),
398
+ self.get_url_base(
399
+ stream_state=stream_state,
400
+ stream_slice=stream_slice,
401
+ next_page_token=next_page_token,
402
+ ),
351
403
  path
352
404
  or self.get_path(
353
405
  stream_state=stream_state,
@@ -25,6 +25,7 @@ from airbyte_cdk.sources.declarative.requesters.request_path import RequestPath
25
25
  from airbyte_cdk.sources.types import Config, Record, StreamSlice, StreamState
26
26
  from airbyte_cdk.utils.mapping_helpers import (
27
27
  _validate_component_request_option_paths,
28
+ get_interpolation_context,
28
29
  )
29
30
 
30
31
 
@@ -150,11 +151,22 @@ class DefaultPaginator(Paginator):
150
151
  else:
151
152
  return None
152
153
 
153
- def path(self, next_page_token: Optional[Mapping[str, Any]]) -> Optional[str]:
154
+ def path(
155
+ self,
156
+ next_page_token: Optional[Mapping[str, Any]],
157
+ stream_state: Optional[Mapping[str, Any]] = None,
158
+ stream_slice: Optional[StreamSlice] = None,
159
+ ) -> Optional[str]:
154
160
  token = next_page_token.get("next_page_token") if next_page_token else None
155
161
  if token and self.page_token_option and isinstance(self.page_token_option, RequestPath):
162
+ # make additional interpolation context
163
+ interpolation_context = get_interpolation_context(
164
+ stream_state=stream_state,
165
+ stream_slice=stream_slice,
166
+ next_page_token=next_page_token,
167
+ )
156
168
  # Replace url base to only return the path
157
- return str(token).replace(self.url_base.eval(self.config), "") # type: ignore # url_base is casted to a InterpolatedString in __post_init__
169
+ return str(token).replace(self.url_base.eval(self.config, **interpolation_context), "") # type: ignore # url_base is casted to a InterpolatedString in __post_init__
158
170
  else:
159
171
  return None
160
172
 
@@ -258,8 +270,17 @@ class PaginatorTestReadDecorator(Paginator):
258
270
  response, last_page_size, last_record, last_page_token_value
259
271
  )
260
272
 
261
- def path(self, next_page_token: Optional[Mapping[str, Any]]) -> Optional[str]:
262
- return self._decorated.path(next_page_token)
273
+ def path(
274
+ self,
275
+ next_page_token: Optional[Mapping[str, Any]],
276
+ stream_state: Optional[Mapping[str, Any]] = None,
277
+ stream_slice: Optional[StreamSlice] = None,
278
+ ) -> Optional[str]:
279
+ return self._decorated.path(
280
+ next_page_token=next_page_token,
281
+ stream_state=stream_state,
282
+ stream_slice=stream_slice,
283
+ )
263
284
 
264
285
  def get_request_params(
265
286
  self,
@@ -19,7 +19,12 @@ class NoPagination(Paginator):
19
19
 
20
20
  parameters: InitVar[Mapping[str, Any]]
21
21
 
22
- def path(self, next_page_token: Optional[Mapping[str, Any]]) -> Optional[str]:
22
+ def path(
23
+ self,
24
+ next_page_token: Optional[Mapping[str, Any]],
25
+ stream_state: Optional[Mapping[str, Any]] = None,
26
+ stream_slice: Optional[StreamSlice] = None,
27
+ ) -> Optional[str]:
23
28
  return None
24
29
 
25
30
  def get_request_params(
@@ -11,7 +11,7 @@ import requests
11
11
  from airbyte_cdk.sources.declarative.requesters.request_options.request_options_provider import (
12
12
  RequestOptionsProvider,
13
13
  )
14
- from airbyte_cdk.sources.types import Record
14
+ from airbyte_cdk.sources.types import Record, StreamSlice
15
15
 
16
16
 
17
17
  @dataclass
@@ -49,7 +49,12 @@ class Paginator(ABC, RequestOptionsProvider):
49
49
  pass
50
50
 
51
51
  @abstractmethod
52
- def path(self, next_page_token: Optional[Mapping[str, Any]]) -> Optional[str]:
52
+ def path(
53
+ self,
54
+ next_page_token: Optional[Mapping[str, Any]],
55
+ stream_state: Optional[Mapping[str, Any]] = None,
56
+ stream_slice: Optional[StreamSlice] = None,
57
+ ) -> Optional[str]:
53
58
  """
54
59
  Returns the URL path to hit to fetch the next page of records
55
60
 
@@ -35,7 +35,13 @@ class Requester(RequestOptionsProvider):
35
35
  pass
36
36
 
37
37
  @abstractmethod
38
- def get_url_base(self) -> str:
38
+ def get_url_base(
39
+ self,
40
+ *,
41
+ stream_state: Optional[StreamState],
42
+ stream_slice: Optional[StreamSlice],
43
+ next_page_token: Optional[Mapping[str, Any]],
44
+ ) -> str:
39
45
  """
40
46
  :return: URL base for the API endpoint e.g: if you wanted to hit https://myapi.com/v1/some_entity then this should return "https://myapi.com/v1/"
41
47
  """
@@ -234,13 +234,22 @@ class SimpleRetriever(Retriever):
234
234
  raise ValueError("Request body json cannot be a string")
235
235
  return body_json
236
236
 
237
- def _paginator_path(self, next_page_token: Optional[Mapping[str, Any]] = None) -> Optional[str]:
237
+ def _paginator_path(
238
+ self,
239
+ next_page_token: Optional[Mapping[str, Any]] = None,
240
+ stream_state: Optional[Mapping[str, Any]] = None,
241
+ stream_slice: Optional[StreamSlice] = None,
242
+ ) -> Optional[str]:
238
243
  """
239
244
  If the paginator points to a path, follow it, else return nothing so the requester is used.
240
245
  :param next_page_token:
241
246
  :return:
242
247
  """
243
- return self._paginator.path(next_page_token=next_page_token)
248
+ return self._paginator.path(
249
+ next_page_token=next_page_token,
250
+ stream_state=stream_state,
251
+ stream_slice=stream_slice,
252
+ )
244
253
 
245
254
  def _parse_response(
246
255
  self,
@@ -299,7 +308,11 @@ class SimpleRetriever(Retriever):
299
308
  next_page_token: Optional[Mapping[str, Any]] = None,
300
309
  ) -> Optional[requests.Response]:
301
310
  return self.requester.send_request(
302
- path=self._paginator_path(next_page_token=next_page_token),
311
+ path=self._paginator_path(
312
+ next_page_token=next_page_token,
313
+ stream_state=stream_state,
314
+ stream_slice=stream_slice,
315
+ ),
303
316
  stream_state=stream_state,
304
317
  stream_slice=stream_slice,
305
318
  next_page_token=next_page_token,
@@ -570,7 +583,11 @@ class SimpleRetrieverTestReadDecorator(SimpleRetriever):
570
583
  next_page_token: Optional[Mapping[str, Any]] = None,
571
584
  ) -> Optional[requests.Response]:
572
585
  return self.requester.send_request(
573
- path=self._paginator_path(next_page_token=next_page_token),
586
+ path=self._paginator_path(
587
+ next_page_token=next_page_token,
588
+ stream_state=stream_state,
589
+ stream_slice=stream_slice,
590
+ ),
574
591
  stream_state=stream_state,
575
592
  stream_slice=stream_slice,
576
593
  next_page_token=next_page_token,
@@ -50,7 +50,6 @@ class YamlDeclarativeSource(ConcurrentDeclarativeSource[List[AirbyteStateMessage
50
50
 
51
51
  def _emit_manifest_debug_message(self, extra_args: dict[str, Any]) -> None:
52
52
  extra_args["path_to_yaml"] = self._path_to_yaml
53
- self.logger.debug("declarative source created from parsed YAML manifest", extra=extra_args)
54
53
 
55
54
  @staticmethod
56
55
  def _parse(connection_definition_str: str) -> ConnectionDefinition:
@@ -19,9 +19,9 @@ DEFAULT_ERROR_MAPPING: Mapping[Union[int, str, Type[Exception]], ErrorResolution
19
19
  error_message="Invalid Protocol Schema: The endpoint that data is being requested from is using an invalid or insecure. Exception: requests.exceptions.InvalidSchema",
20
20
  ),
21
21
  InvalidURL: ErrorResolution(
22
- response_action=ResponseAction.FAIL,
23
- failure_type=FailureType.config_error,
24
- error_message="Invalid URL specified: The endpoint that data is being requested from is not a valid URL. Exception: requests.exceptions.InvalidURL",
22
+ response_action=ResponseAction.RETRY,
23
+ failure_type=FailureType.transient_error,
24
+ error_message="Invalid URL specified or DNS error occurred: The endpoint that data is being requested from is not a valid URL. Exception: requests.exceptions.InvalidURL",
25
25
  ),
26
26
  RequestException: ErrorResolution(
27
27
  response_action=ResponseAction.RETRY,
@@ -14,6 +14,7 @@ FieldPointer = List[str]
14
14
  Config = Mapping[str, Any]
15
15
  ConnectionDefinition = Mapping[str, Any]
16
16
  StreamState = Mapping[str, Any]
17
+ EmptyString = str()
17
18
 
18
19
 
19
20
  class Record(Mapping[str, Any]):
@@ -10,7 +10,7 @@ from airbyte_cdk.sources.declarative.requesters.request_option import (
10
10
  RequestOption,
11
11
  RequestOptionType,
12
12
  )
13
- from airbyte_cdk.sources.types import Config
13
+ from airbyte_cdk.sources.types import Config, StreamSlice, StreamState
14
14
 
15
15
 
16
16
  def _merge_mappings(
@@ -143,3 +143,20 @@ def _validate_component_request_option_paths(
143
143
  )
144
144
  except ValueError as error:
145
145
  raise ValueError(error)
146
+
147
+
148
+ def get_interpolation_context(
149
+ stream_state: Optional[StreamState] = None,
150
+ stream_slice: Optional[StreamSlice] = None,
151
+ next_page_token: Optional[Mapping[str, Any]] = None,
152
+ ) -> Mapping[str, Any]:
153
+ return {
154
+ "stream_slice": stream_slice,
155
+ "next_page_token": next_page_token,
156
+ # update the context with extra fields, if passed.
157
+ **(
158
+ stream_slice.extra_fields
159
+ if stream_slice is not None and hasattr(stream_slice, "extra_fields")
160
+ else {}
161
+ ),
162
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.38.0.dev0
3
+ Version: 6.38.2
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -28,7 +28,7 @@ Requires-Dist: avro (>=1.11.2,<1.13.0) ; extra == "file-based"
28
28
  Requires-Dist: backoff
29
29
  Requires-Dist: cachetools
30
30
  Requires-Dist: cohere (==4.21) ; extra == "vector-db-based"
31
- Requires-Dist: cryptography (>=42.0.5,<44.0.0)
31
+ Requires-Dist: cryptography (>=44.0.0,<45.0.0)
32
32
  Requires-Dist: dpath (>=2.1.6,<3.0.0)
33
33
  Requires-Dist: dunamai (>=1.22.0,<2.0.0)
34
34
  Requires-Dist: fastavro (>=1.8.0,<1.9.0) ; extra == "file-based"
@@ -47,7 +47,7 @@ Requires-Dist: pandas (==2.2.2)
47
47
  Requires-Dist: pdf2image (==1.16.3) ; extra == "file-based"
48
48
  Requires-Dist: pdfminer.six (==20221105) ; extra == "file-based"
49
49
  Requires-Dist: psutil (==6.1.0)
50
- Requires-Dist: pyarrow (>=15.0.0,<15.1.0) ; extra == "file-based"
50
+ Requires-Dist: pyarrow (>=19.0.0,<20.0.0) ; extra == "file-based"
51
51
  Requires-Dist: pydantic (>=2.7,<3.0)
52
52
  Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
53
53
  Requires-Dist: pyrate-limiter (>=3.1.0,<3.2.0)
@@ -26,9 +26,9 @@ airbyte_cdk/destinations/vector_db_based/indexer.py,sha256=beiSi2Uu67EoTr7yQSaCJ
26
26
  airbyte_cdk/destinations/vector_db_based/test_utils.py,sha256=MkqLiOJ5QyKbV4rNiJhe-BHM7FD-ADHQ4bQGf4c5lRY,1932
27
27
  airbyte_cdk/destinations/vector_db_based/utils.py,sha256=FOyEo8Lc-fY8UyhpCivhZtIqBRyxf3cUt6anmK03fUY,1127
28
28
  airbyte_cdk/destinations/vector_db_based/writer.py,sha256=nZ00xPiohElJmYktEZZIhr0m5EDETCHGhg0Lb2S7A20,5095
29
- airbyte_cdk/entrypoint.py,sha256=NRJv5BNZRSUEVTmNBa9N7ih6fW5sg4DwL0nkB9kI99Y,18570
29
+ airbyte_cdk/entrypoint.py,sha256=xFLY2PV8mKXUaeBAknczbK6plrs4_B1WdWA6K3iaRJI,18555
30
30
  airbyte_cdk/exception_handler.py,sha256=D_doVl3Dt60ASXlJsfviOCswxGyKF2q0RL6rif3fNks,2013
31
- airbyte_cdk/logger.py,sha256=1cURbvawbunCAV178q-XhTHcbAQZTSf07WhU7U9AXWU,3744
31
+ airbyte_cdk/logger.py,sha256=qi4UGuSYQQGaFaTVJlMD9lLppwqLXt1XBhwSXo-Q5IA,3660
32
32
  airbyte_cdk/models/__init__.py,sha256=MOTiuML2wShBaMSIwikdjyye2uUWBjo4J1QFSbnoiM4,2075
33
33
  airbyte_cdk/models/airbyte_protocol.py,sha256=MCmLir67-hF12YM5OKzeGbWrlxr7ChG_OQSE1xG8EIU,3748
34
34
  airbyte_cdk/models/airbyte_protocol_serializers.py,sha256=s6SaFB2CMrG_7jTQGn_fhFbQ1FUxhCxf5kq2RWGHMVI,1749
@@ -68,20 +68,21 @@ airbyte_cdk/sources/declarative/checks/connection_checker.py,sha256=MBRJo6WJlZQH
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
70
  airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=rAp-sgld4n8Tmybz-51m7VcYXqKwzKDpCJVr1elmkRc,26824
71
- airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=l9LG7Qm6e5r_qgqfVKnx3mXYtg1I9MmMjomVIPfU4XA,177
72
- airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=0qs4hhmh_XOy2B4MHCn2qVMM79C6MizIBqnvpZj1aSE,2923
71
+ airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
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=Vsem7b0YL_kaLeTwY_kX-EqHzuBDjik0lBN7e3srXT4,147126
74
+ airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=n8hJVquDj00_VS_I0B2QgwYNcNcfsVZdkajAKArcOHU,147487
75
75
  airbyte_cdk/sources/declarative/declarative_source.py,sha256=nF7wBqFd3AQmEKAm4CnIo29CJoQL562cJGSCeL8U8bA,1531
76
76
  airbyte_cdk/sources/declarative/declarative_stream.py,sha256=venZjfpvtqr3oFSuvMBWtn4h9ayLhD4L65ACuXCDZ64,10445
77
77
  airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=JHb_0d3SE6kNY10mxA5YBEKPeSbsWYjByq1gUQxepoE,953
78
- airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py,sha256=DJbWaaJ5LHCBpyWz-4bEw8rqtJYqabEYZtxnfRtWFE0,4946
79
- airbyte_cdk/sources/declarative/decoders/decoder.py,sha256=sl-Gt8lXi7yD2Q-sD8je5QS2PbgrgsYjxRLWsay7DMc,826
78
+ airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py,sha256=Jd7URkDQBoHSDQHQuYUqzeex1HYfLRtGcY_-dVW33pA,7884
79
+ airbyte_cdk/sources/declarative/decoders/decoder.py,sha256=1PeKwuMK8x9dsA2zqUjSVinEWVSEgYcUS6npiW3aC2c,855
80
+ airbyte_cdk/sources/declarative/decoders/decoder_parser.py,sha256=e0be6kfzvbnhmcou-AuloFTSoLxiV9sG9YaglWo5mto,714
80
81
  airbyte_cdk/sources/declarative/decoders/json_decoder.py,sha256=BdWpXXPhEGf_zknggJmhojLosmxuw51RBVTS0jvdCPc,2080
81
82
  airbyte_cdk/sources/declarative/decoders/noop_decoder.py,sha256=iZh0yKY_JzgBnJWiubEusf5c0o6Khd-8EWFWT-8EgFo,542
82
83
  airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py,sha256=ZVBZhAOl0I0MymXN5CKTC-kIXG4GuUQAEyn0XpUDuSE,1081
83
84
  airbyte_cdk/sources/declarative/decoders/xml_decoder.py,sha256=EU-7t-5vIGRHZ14h-f0GUE4V5-eTM9Flux-A8xgI1Rc,3117
84
- airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py,sha256=OTGeNh-Zkab9JwCTgiHtLH1IS6PiVO9jnr82c0vrHbw,2269
85
+ airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py,sha256=Din18m61aly2oG6TaXGpLcbfUHVOzjGzuMYkyxfHXT4,2290
85
86
  airbyte_cdk/sources/declarative/exceptions.py,sha256=kTPUA4I2NV4J6HDz-mKPGMrfuc592akJnOyYx38l_QM,176
86
87
  airbyte_cdk/sources/declarative/extractors/__init__.py,sha256=RmV-IkO1YLj0PSOrrqC9AV1gO8-90t8UTDVfJGshN9E,754
87
88
  airbyte_cdk/sources/declarative/extractors/dpath_extractor.py,sha256=wR4Ol4MG2lt5UlqXF5EU_k7qa5cN4_-luu3PJ1PlO3A,3131
@@ -89,7 +90,7 @@ airbyte_cdk/sources/declarative/extractors/http_selector.py,sha256=2zWZ4ewTqQC8V
89
90
  airbyte_cdk/sources/declarative/extractors/record_extractor.py,sha256=XJELMjahAsaomlvQgN2zrNO0DJX0G0fr9r682gUz7Pg,691
90
91
  airbyte_cdk/sources/declarative/extractors/record_filter.py,sha256=yTdEkyDUSW2KbFkEwJJMlS963C955LgCCOVfTmmScpQ,3367
91
92
  airbyte_cdk/sources/declarative/extractors/record_selector.py,sha256=HCqx7IyENM_aRF4it2zJN26_vDu6WeP8XgCxQWHUvcY,6934
92
- airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py,sha256=L6hQV7bdwEp8y-TBMeQY-xmrNyRggL14lKXdWnzYFfA,6622
93
+ airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py,sha256=WJyA2OYIEgFpVP5Y3o0tIj69AV6IKkn9B16MeXaEItI,6513
93
94
  airbyte_cdk/sources/declarative/extractors/type_transformer.py,sha256=d6Y2Rfg8pMVEEnHllfVksWZdNVOU55yk34O03dP9muY,1626
94
95
  airbyte_cdk/sources/declarative/incremental/__init__.py,sha256=U1oZKtBaEC6IACmvziY9Wzg7Z8EgF4ZuR7NwvjlB_Sk,1255
95
96
  airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=MT5JbdEbnPzk3VWZGGvThe4opoX5dHhSXFrnTRYC6dg,22210
@@ -107,19 +108,19 @@ airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py,sha
107
108
  airbyte_cdk/sources/declarative/interpolation/interpolated_string.py,sha256=CQkHqGlfa87G6VYMtBAQWin7ECKpfMdrDcg0JO5_rhc,3212
108
109
  airbyte_cdk/sources/declarative/interpolation/interpolation.py,sha256=9IoeuWam3L6GyN10L6U8xNWXmkt9cnahSDNkez1OmFY,982
109
110
  airbyte_cdk/sources/declarative/interpolation/jinja.py,sha256=UQeuS4Vpyp4hlOn-R3tRyeBX0e9IoV6jQ6gH-Jz8lY0,7182
110
- airbyte_cdk/sources/declarative/interpolation/macros.py,sha256=uuXBZUWDWM-sPcUKjNSPRN657QhNQCx_hnhTuJj2zOA,5129
111
+ airbyte_cdk/sources/declarative/interpolation/macros.py,sha256=HQKHKnjE17zKoPn27ZpTpugRZZQSaof4GVzUUZaV2eE,5081
111
112
  airbyte_cdk/sources/declarative/manifest_declarative_source.py,sha256=TN6GCgLXaWDONTaJwQ3A5ELqC-sxwKz-UYSraJYB-dI,17078
112
113
  airbyte_cdk/sources/declarative/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
114
  airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py,sha256=iemy3fKLczcU0-Aor7tx5jcT6DRedKMqyK7kCOp01hg,3924
114
115
  airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
115
116
  airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
116
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=Kd8HvvXqvGWZBey99eQzbK5u2k1ItnRAi2h7C7UNwBQ,103225
117
+ airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=DfbPi512ovaBSWDICJfjIkC3pXDn2aNr1BP-eiLOLyA,103556
117
118
  airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
118
119
  airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=jDw_TttD3_hpfevXOH-0Ws0eRuqt6wvED0BqosGPRjI,5938
119
120
  airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=Rir9_z3Kcd5Es0-LChrzk-0qubAsiK_RSEnLmK2OXm8,553
120
121
  airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=CXwTfD3wSQq3okcqwigpprbHhSURUokh4GK2OmOyKC8,9132
121
122
  airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=IWUOdF03o-aQn0Occo1BJCxU0Pz-QILk5L67nzw2thw,6803
122
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=Mx0KJGbqIZeUWduKy-UvpVH-DRm0pzXDcz203r69oNY,140619
123
+ airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=XR8audWus2hSSsNPDGJBR4thAwU4vS7r2S7d1gyonL4,141703
123
124
  airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=HJ-Syp3p7RpyR_OK0X_a2kSyISfu3W-PKrRI16iY0a8,957
124
125
  airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py,sha256=VelO7zKqKtzMJ35jyFeg0ypJLQC0plqqIBNXoBW1G2E,3001
125
126
  airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py,sha256=c5cuVFM6NFkuQqG8Z5IwkBuwDrvXZN1CunUOM_L0ezg,6892
@@ -143,11 +144,11 @@ airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_
143
144
  airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py,sha256=Tan66odx8VHzfdyyXMQkXz2pJYksllGqvxmpoajgcK4,669
144
145
  airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py,sha256=E-fQbt4ShfxZVoqfnmOx69C6FUPWZz8BIqI3DN9Kcjs,7935
145
146
  airbyte_cdk/sources/declarative/requesters/http_job_repository.py,sha256=4wpP0ZNTMLugi-Rc1OFdFaxWfRZSl45nzhHqMFCE8SQ,11924
146
- airbyte_cdk/sources/declarative/requesters/http_requester.py,sha256=Sie8IyntFu66UoJASwpWV0WrRDBr9lpHWSOws7vZfM0,15228
147
+ airbyte_cdk/sources/declarative/requesters/http_requester.py,sha256=5i16IqHp4gARSI619babc60_uWUSebNSbkqdci5itSs,17194
147
148
  airbyte_cdk/sources/declarative/requesters/paginators/__init__.py,sha256=uArbKs9JKNCt7t9tZoeWwjDpyI1HoPp29FNW0JzvaEM,644
148
- airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py,sha256=ZW4lwWNAzb4zL0jKc-HjowP5-y0Zg9xi0YlK6tkx_XY,12057
149
- airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py,sha256=j6j9QRPaTbKQ2N661RFVKthhkWiodEp6ut0tKeEd0Ng,2019
150
- airbyte_cdk/sources/declarative/requesters/paginators/paginator.py,sha256=OlN-y0PEOMzlUNUh3pzonoTpIJpGwkP4ibFengvpLVU,2230
149
+ airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py,sha256=SB-Af3CRb4mJwhm4EKNxzl_PK2w5QS4tqrSNNMO2IV4,12760
150
+ airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py,sha256=b1-zKxYOUMHn7ahdWpzKEzfG4A7s_WQWy-vzRqZWzME,2152
151
+ airbyte_cdk/sources/declarative/requesters/paginators/paginator.py,sha256=TzJF1Q-CFlsHF9lMSfmnGCxRYm9_UQCmBcHYQpc7F30,2376
151
152
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py,sha256=2gly8fuZpDNwtu1Qg6oE2jBLGqQRdzSLJdnpk_iDV6I,767
152
153
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py,sha256=yLzzK5YIRTkXd2Z-BS__AZXuTd6HXjJIxq05K-lQoxI,3898
153
154
  airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py,sha256=WvGt_DTFcAgTR-NHrlrR7B71yG-L6jmfW-Gwm9iYzjY,3624
@@ -163,7 +164,7 @@ airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_
163
164
  airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py,sha256=vOsdHfWHiTFc89WENHPv1hcxLgdzycMXVT_IEtLuhfs,5012
164
165
  airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py,sha256=8YRiDzjYvqJ-aMmKFcjqzv_-e8OZ5QG_TbpZ-nuCu6s,2590
165
166
  airbyte_cdk/sources/declarative/requesters/request_path.py,sha256=S3MeFvcaQrMbOkSY2W2VbXLNomqt_3eXqVd9ZhgNwUs,299
166
- airbyte_cdk/sources/declarative/requesters/requester.py,sha256=iVVpXQ4KEd9OyZNwmOofMvx7_06i8ZRxGo3aNTrEQLM,4946
167
+ airbyte_cdk/sources/declarative/requesters/requester.py,sha256=OcDzuCBgD1owK_lBPG0KbRRHRn9kzbuRveU4HejDiv4,5116
167
168
  airbyte_cdk/sources/declarative/resolvers/__init__.py,sha256=NiDcz5qi8HPsfX94MUmnX0Rgs_kQXGvucOmJjNWlxKQ,1207
168
169
  airbyte_cdk/sources/declarative/resolvers/components_resolver.py,sha256=KPjKc0yb9artL4ZkeqN8RmEykHH6FJgqXD7fCEnh1X0,1936
169
170
  airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py,sha256=dz4iJV9liD_LzY_Mn4XmAStoUll60R3MIGWV4aN3pgg,5223
@@ -171,7 +172,7 @@ airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py,sha256=Aio
171
172
  airbyte_cdk/sources/declarative/retrievers/__init__.py,sha256=ix9m1dkR69DcXCXUKC5RK_ZZM7ojTLBQ4IkWQTfmfCk,456
172
173
  airbyte_cdk/sources/declarative/retrievers/async_retriever.py,sha256=dwYZ70eg9DKHEqZydHhMFPkEILbNcXu7E-djOCikNgI,3530
173
174
  airbyte_cdk/sources/declarative/retrievers/retriever.py,sha256=XPLs593Xv8c5cKMc37XzUAYmzlXd1a7eSsspM-CMuWA,1696
174
- airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=bOAKQLgMv1Vca-ozMPRVAg1V5nkyUoPwqC02lKpnLiM,24575
175
+ airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=fDhc6dMx75UImh1_TfLm4Le59tsHpqIUZnau7uIJyYw,25043
175
176
  airbyte_cdk/sources/declarative/schema/__init__.py,sha256=xU45UvM5O4c1PSM13UHpCdh5hpW3HXy9vRRGEiAC1rg,795
176
177
  airbyte_cdk/sources/declarative/schema/default_schema_loader.py,sha256=KTACrIE23a83wsm3Rd9Eb4K6-20lrGqYxTHNp9yxsso,1820
177
178
  airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py,sha256=J8Q_iJYhcSQLWyt0bTZCbDAGpxt9G8FCc6Q9jtGsNzw,10703
@@ -193,12 +194,7 @@ airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py,
193
194
  airbyte_cdk/sources/declarative/transformations/remove_fields.py,sha256=EwUP0SZ2p4GRJ6Q8CUzlz9dcUeEidEFDlI2IBye2tlc,2745
194
195
  airbyte_cdk/sources/declarative/transformations/transformation.py,sha256=4sXtx9cNY2EHUPq-xHvDs8GQEBUy3Eo6TkRLKHPXx68,1161
195
196
  airbyte_cdk/sources/declarative/types.py,sha256=yqx0xlZv_76tkC7fqJKefmvl4GJJ8mXbeddwVV8XRJU,778
196
- airbyte_cdk/sources/declarative/yaml_declarative_source.py,sha256=MsKSAqtpwIqJfYOiUX01RbqMeTy7pvBoguvyTWrL7pI,2390
197
- airbyte_cdk/sources/embedded/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
198
- airbyte_cdk/sources/embedded/base_integration.py,sha256=0LbtEtWlnVdkYlweA5OJU4BIoyS6d4le5w9FsLn25Zc,2417
199
- airbyte_cdk/sources/embedded/catalog.py,sha256=EAnLw9u5fXLNBLfWr_I0itA7OEHMWdqEaM_rWc_tCpI,1653
200
- airbyte_cdk/sources/embedded/runner.py,sha256=S6cz7SWRTFfT_ZhP-zZYdiT9XRijulV_bMABal2h0OI,1493
201
- airbyte_cdk/sources/embedded/tools.py,sha256=kp26Au9xH4hxsnDQoavxE_a418ZrRUAMBr2MeOU52VI,746
197
+ airbyte_cdk/sources/declarative/yaml_declarative_source.py,sha256=swZUN7g_AuLeE7n1yp_cquK7DBB082lZUSMIBNEHxgs,2290
202
198
  airbyte_cdk/sources/file_based/README.md,sha256=iMqww4VZ882jfNQIdljjDgqreKs-mkdtSrRKA94iX6A,11085
203
199
  airbyte_cdk/sources/file_based/__init__.py,sha256=EaxHv_9ot-eRlUCR47ZMZ0IOtB-n0HH24om7Bfn-uuQ,868
204
200
  airbyte_cdk/sources/file_based/availability_strategy/__init__.py,sha256=ddKQfUmk-Ls7LJaG8gtrqDybG3d8S7KXOAEjLeYLrTg,399
@@ -293,7 +289,7 @@ airbyte_cdk/sources/streams/http/availability_strategy.py,sha256=sovoGFThZr-doMN
293
289
  airbyte_cdk/sources/streams/http/error_handlers/__init__.py,sha256=nNO0bnD0ogDlR4AQrI-YmpcM911vWe83b7RJYgvjSYs,666
294
290
  airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py,sha256=7fIkF00wD6bqIXtiG2QAgbje_xiQ5JTs99ibwR8LLXY,1030
295
291
  airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py,sha256=1_1Gi2ImwTbh4SgIKCRh2P4kPaVeAeHc1ib6IrBfqKA,411
296
- airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py,sha256=Z0gHhbBSFNWuatzCtBOQt9C-BkiN1G76wr6yl0qodEU,3376
292
+ airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py,sha256=drMniPygapMfOigh_ShJQvX6oqJaN4UA3cbRMkOgZJ4,3402
297
293
  airbyte_cdk/sources/streams/http/error_handlers/error_handler.py,sha256=GuqP7U1eC9RPaiD4y4Mkf17vKcOXo2ENnMB-CUBLsbo,1164
298
294
  airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py,sha256=xC93uB5BJd3iOnAXCrYLJTitWeGZlqzwe55VtsZqNnE,456
299
295
  airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py,sha256=2gqececTxxUqO6aIkVNNXADg48Px5EHUwnXHL9KiPT8,4188
@@ -310,7 +306,7 @@ airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py,sha256=C2j2uVfi9d
310
306
  airbyte_cdk/sources/streams/http/requests_native_auth/token.py,sha256=h5PTzcdH-RQLeCg7xZ45w_484OPUDSwNWl_iMJQmZoI,2526
311
307
  airbyte_cdk/sources/streams/permissions/identities_stream.py,sha256=9O9k6k18Xm3Zsiw_vnI_jsHXfMCQiek6V-jMkJJLxn8,2621
312
308
  airbyte_cdk/sources/streams/utils/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
313
- airbyte_cdk/sources/types.py,sha256=aFPGI4t2K1vHz2oFSUIYUyDN7kw-vcYq4D7aD2zgfAU,5128
309
+ airbyte_cdk/sources/types.py,sha256=x5Rkfpottg46qgr1-g_O4kN6v0Fd0sWHttdYsftyo7w,5148
314
310
  airbyte_cdk/sources/utils/__init__.py,sha256=TTN6VUxVy6Is8BhYQZR5pxJGQh8yH4duXh4O1TiMiEY,118
315
311
  airbyte_cdk/sources/utils/casing.py,sha256=QC-gV1O4e8DR4-bhdXieUPKm_JamzslVyfABLYYRSXA,256
316
312
  airbyte_cdk/sources/utils/record_helper.py,sha256=jeB0mucudzna7Zvj-pCBbwFrbLJ36SlAWZTh5O4Fb9Y,2168
@@ -352,7 +348,7 @@ airbyte_cdk/utils/datetime_format_inferrer.py,sha256=Ne2cpk7Tx3eZDEW2Q3O7jnNOY9g
352
348
  airbyte_cdk/utils/datetime_helpers.py,sha256=8mqzZ67Or2PBp7tLtrhh6XFv4wFzYsjCL_DOQJRaftI,17751
353
349
  airbyte_cdk/utils/event_timing.py,sha256=aiuFmPU80buLlNdKq4fDTEqqhEIelHPF6AalFGwY8as,2557
354
350
  airbyte_cdk/utils/is_cloud_environment.py,sha256=DayV32Irh-SdnJ0MnjvstwCJ66_l5oEsd8l85rZtHoc,574
355
- airbyte_cdk/utils/mapping_helpers.py,sha256=imUTULHmZ1Ks-MRMRLIVqHCX1eJi_j6tFQrYsKIKtM4,5967
351
+ airbyte_cdk/utils/mapping_helpers.py,sha256=nWjOpnz_5QE9tY9-GtSWMPvYQL95kDD6k8KwwjUmrh0,6526
356
352
  airbyte_cdk/utils/message_utils.py,sha256=OTzbkwN7AdMDA3iKYq1LKwfPFxpyEDfdgEF9BED3dkU,1366
357
353
  airbyte_cdk/utils/oneof_option_config.py,sha256=N8EmWdYdwt0FM7fuShh6H8nj_r4KEL9tb2DJJtwsPow,1180
358
354
  airbyte_cdk/utils/print_buffer.py,sha256=PhMOi0C4Z91kWKrSvCQXcp8qRh1uCimpIdvrg6voZIA,2810
@@ -361,9 +357,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
361
357
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
362
358
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
363
359
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
364
- airbyte_cdk-6.38.0.dev0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
365
- airbyte_cdk-6.38.0.dev0.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
366
- airbyte_cdk-6.38.0.dev0.dist-info/METADATA,sha256=1EhdJFpsvmQYoaGXbq_JPTxW9hAy5n81U-fuQsfp24A,6018
367
- airbyte_cdk-6.38.0.dev0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
368
- airbyte_cdk-6.38.0.dev0.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
369
- airbyte_cdk-6.38.0.dev0.dist-info/RECORD,,
360
+ airbyte_cdk-6.38.2.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
361
+ airbyte_cdk-6.38.2.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
362
+ airbyte_cdk-6.38.2.dist-info/METADATA,sha256=V0WnXychDR87z8Q_ihtNonBPf4AKCU7frOMzY57zbSw,6013
363
+ airbyte_cdk-6.38.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
364
+ airbyte_cdk-6.38.2.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
365
+ airbyte_cdk-6.38.2.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- #
2
- # Copyright (c) 2021 Airbyte, Inc., all rights reserved.
3
- #