airbyte-cdk 7.0.5__py3-none-any.whl → 7.1.0.post4.dev17948197380__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.
@@ -49,8 +49,9 @@ class CheckDynamicStream(ConnectionChecker):
49
49
  for stream in streams[: min(self.stream_count, len(streams))]:
50
50
  stream_is_available, reason = evaluate_availability(stream, logger)
51
51
  if not stream_is_available:
52
- logger.warning(f"Stream {stream.name} is not available: {reason}")
53
- return False, reason
52
+ message = f"Stream {stream.name} is not available: {reason}"
53
+ logger.warning(message)
54
+ return False, message
54
55
  except Exception as error:
55
56
  error_message = (
56
57
  f"Encountered an error trying to connect to stream {stream.name}. Error: {error}"
@@ -177,7 +177,11 @@ class ConfigComponentsResolver(ComponentsResolver):
177
177
  )
178
178
 
179
179
  path = [path.eval(self.config, **kwargs) for path in resolved_component.field_path]
180
- parsed_value = self._parse_yaml_if_possible(value)
180
+ # Avoid parsing strings that are meant to be strings
181
+ if not (isinstance(value, str) and valid_types == (str,)):
182
+ parsed_value = self._parse_yaml_if_possible(value)
183
+ else:
184
+ parsed_value = value
181
185
  updated = dpath.set(updated_config, path, parsed_value)
182
186
 
183
187
  if parsed_value and not updated and resolved_component.create_or_update:
@@ -31,56 +31,56 @@ DEFAULT_ERROR_MAPPING: Mapping[Union[int, str, Type[Exception]], ErrorResolution
31
31
  400: ErrorResolution(
32
32
  response_action=ResponseAction.FAIL,
33
33
  failure_type=FailureType.system_error,
34
- error_message="Bad request. Please check your request parameters.",
34
+ error_message="HTTP Status Code: 400. Error: Bad request. Please check your request parameters.",
35
35
  ),
36
36
  401: ErrorResolution(
37
37
  response_action=ResponseAction.FAIL,
38
38
  failure_type=FailureType.config_error,
39
- error_message="Unauthorized. Please ensure you are authenticated correctly.",
39
+ error_message="HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.",
40
40
  ),
41
41
  403: ErrorResolution(
42
42
  response_action=ResponseAction.FAIL,
43
43
  failure_type=FailureType.config_error,
44
- error_message="Forbidden. You don't have permission to access this resource.",
44
+ error_message="HTTP Status Code: 403. Error: Forbidden. You don't have permission to access this resource.",
45
45
  ),
46
46
  404: ErrorResolution(
47
47
  response_action=ResponseAction.FAIL,
48
48
  failure_type=FailureType.system_error,
49
- error_message="Not found. The requested resource was not found on the server.",
49
+ error_message="HTTP Status Code: 404. Error: Not found. The requested resource was not found on the server.",
50
50
  ),
51
51
  405: ErrorResolution(
52
52
  response_action=ResponseAction.FAIL,
53
53
  failure_type=FailureType.system_error,
54
- error_message="Method not allowed. Please check your request method.",
54
+ error_message="HTTP Status Code: 405. Error: Method not allowed. Please check your request method.",
55
55
  ),
56
56
  408: ErrorResolution(
57
57
  response_action=ResponseAction.RETRY,
58
58
  failure_type=FailureType.transient_error,
59
- error_message="Request timeout.",
59
+ error_message="HTTP Status Code: 408. Error: Request timeout.",
60
60
  ),
61
61
  429: ErrorResolution(
62
62
  response_action=ResponseAction.RATE_LIMITED,
63
63
  failure_type=FailureType.transient_error,
64
- error_message="Too many requests.",
64
+ error_message="HTTP Status Code: 429. Error: Too many requests.",
65
65
  ),
66
66
  500: ErrorResolution(
67
67
  response_action=ResponseAction.RETRY,
68
68
  failure_type=FailureType.transient_error,
69
- error_message="Internal server error.",
69
+ error_message="HTTP Status Code: 500. Error: Internal server error.",
70
70
  ),
71
71
  502: ErrorResolution(
72
72
  response_action=ResponseAction.RETRY,
73
73
  failure_type=FailureType.transient_error,
74
- error_message="Bad gateway.",
74
+ error_message="HTTP Status Code: 502. Error: Bad gateway.",
75
75
  ),
76
76
  503: ErrorResolution(
77
77
  response_action=ResponseAction.RETRY,
78
78
  failure_type=FailureType.transient_error,
79
- error_message="Service unavailable.",
79
+ error_message="HTTP Status Code: 503. Error: Service unavailable.",
80
80
  ),
81
81
  504: ErrorResolution(
82
82
  response_action=ResponseAction.RETRY,
83
83
  failure_type=FailureType.transient_error,
84
- error_message="Gateway timeout.",
84
+ error_message="HTTP Status Code: 504. Error: Gateway timeout.",
85
85
  ),
86
86
  }
@@ -7,6 +7,8 @@ from typing import Optional, Union
7
7
 
8
8
  import requests
9
9
 
10
+ from airbyte_cdk.models import FailureType
11
+
10
12
 
11
13
  class BaseBackoffException(requests.exceptions.HTTPError):
12
14
  def __init__(
@@ -14,7 +16,9 @@ class BaseBackoffException(requests.exceptions.HTTPError):
14
16
  request: requests.PreparedRequest,
15
17
  response: Optional[Union[requests.Response, Exception]],
16
18
  error_message: str = "",
19
+ failure_type: Optional[FailureType] = None,
17
20
  ):
21
+ self.failure_type = failure_type
18
22
  if isinstance(response, requests.Response):
19
23
  error_message = (
20
24
  error_message
@@ -43,6 +47,7 @@ class UserDefinedBackoffException(BaseBackoffException):
43
47
  request: requests.PreparedRequest,
44
48
  response: Optional[Union[requests.Response, Exception]],
45
49
  error_message: str = "",
50
+ failure_type: Optional[FailureType] = None,
46
51
  ):
47
52
  """
48
53
  :param backoff: how long to backoff in seconds
@@ -50,7 +55,12 @@ class UserDefinedBackoffException(BaseBackoffException):
50
55
  :param response: the response that triggered the backoff exception
51
56
  """
52
57
  self.backoff = backoff
53
- super().__init__(request=request, response=response, error_message=error_message)
58
+ super().__init__(
59
+ request=request,
60
+ response=response,
61
+ error_message=error_message,
62
+ failure_type=failure_type,
63
+ )
54
64
 
55
65
 
56
66
  class DefaultBackoffException(BaseBackoffException):
@@ -18,6 +18,7 @@ from airbyte_cdk.models import (
18
18
  AirbyteStreamStatus,
19
19
  AirbyteStreamStatusReason,
20
20
  AirbyteStreamStatusReasonType,
21
+ FailureType,
21
22
  Level,
22
23
  StreamDescriptor,
23
24
  )
@@ -35,6 +36,7 @@ from airbyte_cdk.sources.streams.http.error_handlers import (
35
36
  ResponseAction,
36
37
  )
37
38
  from airbyte_cdk.sources.streams.http.exceptions import (
39
+ BaseBackoffException,
38
40
  DefaultBackoffException,
39
41
  RateLimitBackoffException,
40
42
  RequestBodyException,
@@ -290,15 +292,25 @@ class HttpClient:
290
292
  backoff_handler = http_client_default_backoff_handler(
291
293
  max_tries=max_tries, max_time=max_time
292
294
  )
293
- # backoff handlers wrap _send, so it will always return a response
294
- response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
295
- request,
296
- request_kwargs,
297
- log_formatter=log_formatter,
298
- exit_on_rate_limit=exit_on_rate_limit,
299
- ) # type: ignore # mypy can't infer that backoff_handler wraps _send
300
-
301
- return response
295
+ # backoff handlers wrap _send, so it will always return a response -- except when all retries are exhausted
296
+ try:
297
+ response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
298
+ request,
299
+ request_kwargs,
300
+ log_formatter=log_formatter,
301
+ exit_on_rate_limit=exit_on_rate_limit,
302
+ ) # type: ignore # mypy can't infer that backoff_handler wraps _send
303
+
304
+ return response
305
+ except BaseBackoffException as e:
306
+ self._logger.error(f"Retries exhausted with backoff exception.", exc_info=True)
307
+ raise MessageRepresentationAirbyteTracedErrors(
308
+ internal_message=f"Exhausted available request attempts. Exception: {e}",
309
+ message=f"Exhausted available request attempts. Please see logs for more details. Exception: {e}",
310
+ failure_type=e.failure_type or FailureType.system_error,
311
+ exception=e,
312
+ stream_descriptor=StreamDescriptor(name=self._name),
313
+ )
302
314
 
303
315
  def _send(
304
316
  self,
@@ -492,6 +504,7 @@ class HttpClient:
492
504
  request=request,
493
505
  response=(response if response is not None else exc),
494
506
  error_message=error_message,
507
+ failure_type=error_resolution.failure_type,
495
508
  )
496
509
 
497
510
  elif retry_endlessly:
@@ -499,12 +512,14 @@ class HttpClient:
499
512
  request=request,
500
513
  response=(response if response is not None else exc),
501
514
  error_message=error_message,
515
+ failure_type=error_resolution.failure_type,
502
516
  )
503
517
 
504
518
  raise DefaultBackoffException(
505
519
  request=request,
506
520
  response=(response if response is not None else exc),
507
521
  error_message=error_message,
522
+ failure_type=error_resolution.failure_type,
508
523
  )
509
524
 
510
525
  elif response:
@@ -545,6 +560,15 @@ class HttpClient:
545
560
  data=data,
546
561
  )
547
562
 
563
+ env_settings = self._session.merge_environment_settings(
564
+ url=request.url,
565
+ proxies=request_kwargs.get("proxies"),
566
+ stream=request_kwargs.get("stream"),
567
+ verify=request_kwargs.get("verify"),
568
+ cert=request_kwargs.get("cert"),
569
+ )
570
+ request_kwargs = {**request_kwargs, **env_settings}
571
+
548
572
  response: requests.Response = self._send_with_retry(
549
573
  request=request,
550
574
  request_kwargs=request_kwargs,
@@ -240,7 +240,11 @@ class AbstractOauth2Authenticator(AuthBase):
240
240
  except requests.exceptions.RequestException as e:
241
241
  if e.response is not None:
242
242
  if e.response.status_code == 429 or e.response.status_code >= 500:
243
- raise DefaultBackoffException(request=e.response.request, response=e.response)
243
+ raise DefaultBackoffException(
244
+ request=e.response.request,
245
+ response=e.response,
246
+ failure_type=FailureType.transient_error,
247
+ )
244
248
  if self._wrap_refresh_token_exception(e):
245
249
  message = "Refresh token is invalid or expired. Please re-authenticate from Sources/<your source>/Settings."
246
250
  raise AirbyteTracedException(
@@ -8,6 +8,7 @@ from enum import Flag, auto
8
8
  from typing import TYPE_CHECKING, Any, Callable, Dict, Generator, Mapping, Optional, cast
9
9
 
10
10
  from jsonschema import Draft7Validator, ValidationError, validators
11
+ from jsonschema.protocols import Validator
11
12
  from referencing import Registry, Resource
12
13
  from referencing._core import Resolver
13
14
  from referencing.exceptions import Unresolvable
@@ -17,12 +18,6 @@ from airbyte_cdk.sources.utils.schema_helpers import expand_refs
17
18
 
18
19
  from .schema_helpers import get_ref_resolver_registry
19
20
 
20
- try:
21
- from jsonschema.validators import Validator
22
- except:
23
- from jsonschema import Validator
24
-
25
-
26
21
  MAX_NESTING_DEPTH = 3
27
22
  json_to_python_simple = {
28
23
  "string": str,
@@ -82,11 +82,10 @@ assert not ab_datetime_try_parse("foo") # Invalid: not parsab
82
82
  """
83
83
 
84
84
  from datetime import datetime, timedelta, timezone
85
- from typing import Any, Optional, Union, overload
85
+ from typing import Any, Union, overload
86
86
 
87
87
  from dateutil import parser
88
- from typing_extensions import Never
89
- from whenever import Instant, LocalDateTime, ZonedDateTime
88
+ from whenever import Instant
90
89
 
91
90
 
92
91
  class AirbyteDateTime(datetime):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 7.0.5
3
+ Version: 7.1.0.post4.dev17948197380
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -84,7 +84,7 @@ Requires-Dist: unstructured.pytesseract (>=0.3.12) ; extra == "file-based"
84
84
  Requires-Dist: unstructured[docx,pptx] (==0.10.27) ; extra == "file-based"
85
85
  Requires-Dist: uvicorn (>=0.35.0) ; extra == "manifest-server"
86
86
  Requires-Dist: wcmatch (==10.0)
87
- Requires-Dist: whenever (>=0.6.16,<0.7.0)
87
+ Requires-Dist: whenever (>=0.7.3,<0.9.0)
88
88
  Requires-Dist: xmltodict (>=0.13,<0.15)
89
89
  Project-URL: Documentation, https://docs.airbyte.io/
90
90
  Project-URL: Repository, https://github.com/airbytehq/airbyte-python-cdk
@@ -121,7 +121,7 @@ airbyte_cdk/sources/declarative/auth/selective_authenticator.py,sha256=qGwC6YsCl
121
121
  airbyte_cdk/sources/declarative/auth/token.py,sha256=2EnE78EhBOY9hbeZnQJ9AuFaM-G7dccU-oKo_LThRQk,11070
122
122
  airbyte_cdk/sources/declarative/auth/token_provider.py,sha256=Jzuxlmt1_-_aFC_n0OmP8L1nDOacLzbEVVx3kjdX_W8,3104
123
123
  airbyte_cdk/sources/declarative/checks/__init__.py,sha256=cpoBwEbRNcMi7Rmi5pD63ppUvAOZsAWzasmc57ob9rc,873
124
- airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py,sha256=BhPAOalZuA4sdi8DS2n42UMzj4PJ0udtRZ95a2T4ZOI,2302
124
+ airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py,sha256=72d3oafXAX31dEeneFLBjRMS_3a8B8QISjlFcOlfeoY,2341
125
125
  airbyte_cdk/sources/declarative/checks/check_stream.py,sha256=G7VBOwDdybbpZstFG0hgdy20CJZkgBKILLkQBQzjZ9A,7997
126
126
  airbyte_cdk/sources/declarative/checks/connection_checker.py,sha256=HQHK3gO5xXeWYdxDjiXO3xzz5MBOYcQn0Dd6IRW7Vx8,1400
127
127
  airbyte_cdk/sources/declarative/concurrency_level/__init__.py,sha256=5XUqrmlstYlMM0j6crktlKQwALek0uiz2D3WdM46MyA,191
@@ -228,7 +228,7 @@ airbyte_cdk/sources/declarative/requesters/request_path.py,sha256=S3MeFvcaQrMbOk
228
228
  airbyte_cdk/sources/declarative/requesters/requester.py,sha256=T6tMx_Bx4iT-0YVjY7IzgRil-gaIu9n01b1iwpTh3Ek,5516
229
229
  airbyte_cdk/sources/declarative/resolvers/__init__.py,sha256=xVhOWLQW0wFBTAtRYu3GdFebPqKCDSt1uoP2TiBGrvs,1643
230
230
  airbyte_cdk/sources/declarative/resolvers/components_resolver.py,sha256=rkNatGGhPQhasor95CujY7StmVn5q2UDGAcEzMKueGE,2213
231
- airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py,sha256=OqL3Xil-2905pNfGwE-uPtEu53ksnT99Aec91cu5eSM,8408
231
+ airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py,sha256=KF2wYDVLRf9-iGIg2AvmUVCryUIGgjLOBeljIn78-UA,8619
232
232
  airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py,sha256=Y3P2tViKhJaOPp7Zl-uiCn5RiHkVEkpBAMi50PVXfoI,4830
233
233
  airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py,sha256=BUmvbsMeIGusZSCd80NiTFcwcosq-uhXHGNheAFs-10,5147
234
234
  airbyte_cdk/sources/declarative/retrievers/__init__.py,sha256=LQQspOQS9oyOx9cGnRIz1mq-8DZCBysyDJDPqjy1HvM,449
@@ -374,18 +374,18 @@ airbyte_cdk/sources/streams/http/availability_strategy.py,sha256=sovoGFThZr-doMN
374
374
  airbyte_cdk/sources/streams/http/error_handlers/__init__.py,sha256=nNO0bnD0ogDlR4AQrI-YmpcM911vWe83b7RJYgvjSYs,666
375
375
  airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py,sha256=7fIkF00wD6bqIXtiG2QAgbje_xiQ5JTs99ibwR8LLXY,1030
376
376
  airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py,sha256=1_1Gi2ImwTbh4SgIKCRh2P4kPaVeAeHc1ib6IrBfqKA,411
377
- airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py,sha256=drMniPygapMfOigh_ShJQvX6oqJaN4UA3cbRMkOgZJ4,3402
377
+ airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py,sha256=-gn0YPkoxpQMZuirzUevqNcaLkyILPA04TLtA7W0H18,3732
378
378
  airbyte_cdk/sources/streams/http/error_handlers/error_handler.py,sha256=GuqP7U1eC9RPaiD4y4Mkf17vKcOXo2ENnMB-CUBLsbo,1164
379
379
  airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py,sha256=xC93uB5BJd3iOnAXCrYLJTitWeGZlqzwe55VtsZqNnE,456
380
380
  airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py,sha256=2gqececTxxUqO6aIkVNNXADg48Px5EHUwnXHL9KiPT8,4188
381
381
  airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py,sha256=GW5rkBQLLTj7MEaDdbpG7DHxTQVRrDOg1ehLLxjqiM4,1828
382
382
  airbyte_cdk/sources/streams/http/error_handlers/response_models.py,sha256=xGIVELBFY0TmH9aUq1ikoqJz8oHLr6di2JLvKWVEO-s,2236
383
- airbyte_cdk/sources/streams/http/exceptions.py,sha256=njC7MlMJoFYcSGz4mIp6-bqLFTr6vC8ej25X0oSeyjE,1824
383
+ airbyte_cdk/sources/streams/http/exceptions.py,sha256=TTUpWq_qLPtdvXqYPpMhtYbFVQ7dGtajDVfjb6KQ8z8,2099
384
384
  airbyte_cdk/sources/streams/http/http.py,sha256=0uariNq8OFnlX7iqOHwBhecxA-Hfd5hSY8_XCEgn3jI,28499
385
- airbyte_cdk/sources/streams/http/http_client.py,sha256=8E8RBDzkBUgvDqFA5OgVBEvCjGbcUeuQPiCkDLHg31U,24182
385
+ airbyte_cdk/sources/streams/http/http_client.py,sha256=Ys-9qCA-jFu1oQNbehCwb3K2GaJcTJp1gtoa1qujK1M,25438
386
386
  airbyte_cdk/sources/streams/http/rate_limiting.py,sha256=IwdjrHKUnU97XO4qONgYRv4YYW51xQ8SJm4WLafXDB8,6351
387
387
  airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py,sha256=RN0D3nOX1xLgwEwKWu6pkGy3XqBFzKSNZ8Lf6umU2eY,413
388
- airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py,sha256=0WfnxuxDwRYeq-PIwdUjJujDnxuJPhNfHlX_8aNHtYU,19663
388
+ airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py,sha256=aWrBmJ8AhUtvtHhHq5JGVZFXjDa7jG8DZePG4gEs9VY,19800
389
389
  airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py,sha256=Y3n7J-sk5yGjv_OxtY6Z6k0PEsFZmtIRi-x0KCbaHdA,1010
390
390
  airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py,sha256=gVLo7nU-ORJd413TZHMJQV4m_vaGnRqhoXGGWehFjDA,19253
391
391
  airbyte_cdk/sources/streams/http/requests_native_auth/token.py,sha256=h5PTzcdH-RQLeCg7xZ45w_484OPUDSwNWl_iMJQmZoI,2526
@@ -398,7 +398,7 @@ airbyte_cdk/sources/utils/files_directory.py,sha256=z8Dmr-wkL1sAqdwCST4MBUFAyMHP
398
398
  airbyte_cdk/sources/utils/record_helper.py,sha256=7wL-pDYrBpcmZHa8ORtiSOqBZJEZI5hdl2dA1RYiatk,2029
399
399
  airbyte_cdk/sources/utils/schema_helpers.py,sha256=_SCOPalKoMW3SX9J-zK6UsAO0oHsfCyW-F2wQlPJ3PU,9145
400
400
  airbyte_cdk/sources/utils/slice_logger.py,sha256=M1TvcYGMftXR841XdJmeEpKpQqrdOD5X-qsspfAMKMs,2168
401
- airbyte_cdk/sources/utils/transform.py,sha256=49xcU97dZAO7FTQItrpN0mZ4qjz5d6huftF4DYbze6c,11971
401
+ airbyte_cdk/sources/utils/transform.py,sha256=b45WBpkdhsRDJZa95DnwfTcc5eJHmBBSs1CWP6CHJt8,11914
402
402
  airbyte_cdk/sources/utils/types.py,sha256=41ZQR681t5TUnOScij58d088sb99klH_ZENFcaYro_g,175
403
403
  airbyte_cdk/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
404
  airbyte_cdk/sql/_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -444,7 +444,7 @@ airbyte_cdk/utils/analytics_message.py,sha256=bi3uugQ2NjecnwTnz63iD5D1M8ZR8mXPbd
444
444
  airbyte_cdk/utils/connector_paths.py,sha256=MXj0RBi3HpuvQTWH6-vc62BZZ3XguHMq0CVIkjhS3qs,8779
445
445
  airbyte_cdk/utils/constants.py,sha256=QzCi7j5SqpI5I06uRvQ8FC73JVJi7rXaRnR3E_gro5c,108
446
446
  airbyte_cdk/utils/datetime_format_inferrer.py,sha256=Ne2cpk7Tx3eZDEW2Q3O7jnNOY9g-w-AUMt3Ltvwg1tY,3989
447
- airbyte_cdk/utils/datetime_helpers.py,sha256=8mqzZ67Or2PBp7tLtrhh6XFv4wFzYsjCL_DOQJRaftI,17751
447
+ airbyte_cdk/utils/datetime_helpers.py,sha256=b3jKNpz4HPwWXCeBoyYKVbuqFvnp4in1Vy1bMK8R9dI,17675
448
448
  airbyte_cdk/utils/docker.py,sha256=ub6xurQHw6qIhzgDO3V9sXOG1jkZyDGbOSSDjcazEHo,17989
449
449
  airbyte_cdk/utils/event_timing.py,sha256=aiuFmPU80buLlNdKq4fDTEqqhEIelHPF6AalFGwY8as,2557
450
450
  airbyte_cdk/utils/is_cloud_environment.py,sha256=DayV32Irh-SdnJ0MnjvstwCJ66_l5oEsd8l85rZtHoc,574
@@ -457,9 +457,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
457
457
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=9YDJmnIGFsT51CVQf2tSSvTapGimITjEFGbUTSZAGTI,963
458
458
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
459
459
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
460
- airbyte_cdk-7.0.5.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
461
- airbyte_cdk-7.0.5.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
462
- airbyte_cdk-7.0.5.dist-info/METADATA,sha256=nrc8uO7WlpGl_0Tbd1fLkZjPNmxtV8VEbEBnEDelFgQ,6799
463
- airbyte_cdk-7.0.5.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
464
- airbyte_cdk-7.0.5.dist-info/entry_points.txt,sha256=eLZ2UYvJZGm1s07Pplcs--1Gim60YhZWTb53j_dghwU,195
465
- airbyte_cdk-7.0.5.dist-info/RECORD,,
460
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
461
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
462
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/METADATA,sha256=VULius3VshBwf1xPeMXPGLJg16zHu5-XG0xHIBQBfVc,6819
463
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
464
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/entry_points.txt,sha256=eLZ2UYvJZGm1s07Pplcs--1Gim60YhZWTb53j_dghwU,195
465
+ airbyte_cdk-7.1.0.post4.dev17948197380.dist-info/RECORD,,