airbyte-cdk 0.57.2__tar.gz → 0.57.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/PKG-INFO +1 -1
  2. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/embedder.py +24 -17
  3. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/writer.py +24 -16
  4. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +28 -7
  5. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk.egg-info/PKG-INFO +1 -1
  6. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/setup.py +1 -1
  7. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/test_unstructured_parser.py +30 -1
  8. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/LICENSE.txt +0 -0
  9. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/README.md +0 -0
  10. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/__init__.py +0 -0
  11. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/config_observation.py +0 -0
  12. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector.py +0 -0
  13. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector_builder/__init__.py +0 -0
  14. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  15. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector_builder/main.py +0 -0
  16. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
  17. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/connector_builder/models.py +0 -0
  18. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/__init__.py +0 -0
  19. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/destination.py +0 -0
  20. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  21. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  22. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  23. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  24. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  25. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  26. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/entrypoint.py +0 -0
  27. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/exception_handler.py +0 -0
  28. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/logger.py +0 -0
  29. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/models/__init__.py +0 -0
  30. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  31. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/models/well_known_types.py +0 -0
  32. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/py.typed +0 -0
  33. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/__init__.py +0 -0
  34. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/abstract_source.py +0 -0
  35. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  36. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  37. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  38. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  39. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  40. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  41. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/config.py +0 -0
  42. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  43. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  44. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  45. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  46. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  47. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  48. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  49. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  50. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  51. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  52. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/create_partial.py +0 -0
  53. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  54. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  55. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  56. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  57. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  58. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  59. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  60. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  61. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  62. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  63. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  64. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  65. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  66. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  67. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  68. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  69. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  70. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/incremental/cursor.py +0 -0
  71. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  72. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  73. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  74. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  75. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  76. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  77. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  78. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  79. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  80. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  81. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  82. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  83. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  84. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  85. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  86. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/class_types_registry.py +0 -0
  87. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  88. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/default_implementation_registry.py +0 -0
  89. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  90. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  91. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  92. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  93. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  94. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  95. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  96. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  97. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  98. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  99. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  100. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  101. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  102. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  103. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  104. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  105. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  106. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  107. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  108. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  109. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/response_action.py +0 -0
  110. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/error_handlers/response_status.py +0 -0
  111. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  112. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  113. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  114. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  115. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  116. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  117. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  118. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  119. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  120. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  121. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  122. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  123. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  124. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  125. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  126. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  127. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  128. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  129. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  130. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  131. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  132. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  133. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  134. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  135. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  136. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  137. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  138. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  139. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  140. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  141. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/stream_slicers/cartesian_product_stream_slicer.py +0 -0
  142. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  143. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  144. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  145. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  146. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  147. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/types.py +0 -0
  148. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  149. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/deprecated/__init__.py +0 -0
  150. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/deprecated/base_source.py +0 -0
  151. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/deprecated/client.py +0 -0
  152. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/embedded/__init__.py +0 -0
  153. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
  154. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/embedded/catalog.py +0 -0
  155. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/embedded/runner.py +0 -0
  156. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/embedded/tools.py +0 -0
  157. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  158. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  159. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  160. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  161. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  162. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  163. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  164. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  165. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  166. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  167. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  168. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  169. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  170. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  171. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  172. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  173. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  174. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  175. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  176. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  177. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  178. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  179. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  180. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  181. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  182. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  183. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  184. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  185. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  186. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  187. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  188. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  189. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  190. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  191. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  192. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/file_based/types.py +0 -0
  193. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/http_config.py +0 -0
  194. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/http_logger.py +0 -0
  195. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/message/__init__.py +0 -0
  196. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/message/repository.py +0 -0
  197. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/singer/__init__.py +0 -0
  198. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/singer/singer_helpers.py +0 -0
  199. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/singer/source.py +0 -0
  200. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/source.py +0 -0
  201. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/__init__.py +0 -0
  202. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  203. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  204. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  205. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  206. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  207. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  208. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  209. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  210. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  211. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  212. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  213. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  214. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  215. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  216. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partitions/record.py +0 -0
  217. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  218. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/concurrent/state_converter.py +0 -0
  219. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/core.py +0 -0
  220. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  221. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/auth/__init__.py +0 -0
  222. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/auth/core.py +0 -0
  223. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/auth/oauth.py +0 -0
  224. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/auth/token.py +0 -0
  225. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  226. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  227. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/http.py +0 -0
  228. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  229. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  230. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  231. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  232. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  233. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  234. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  235. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/streams/utils/stream_helper.py +0 -0
  236. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/__init__.py +0 -0
  237. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/casing.py +0 -0
  238. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/catalog_helpers.py +0 -0
  239. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  240. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  241. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/schema_models.py +0 -0
  242. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  243. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/transform.py +0 -0
  244. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/sources/utils/types.py +0 -0
  245. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/__init__.py +0 -0
  246. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/catalog_builder.py +0 -0
  247. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  248. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  249. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  250. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  251. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/request.py +0 -0
  252. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/response.py +0 -0
  253. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  254. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/__init__.py +0 -0
  255. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  256. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/analytics_message.py +0 -0
  257. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/constants.py +0 -0
  258. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  259. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/event_timing.py +0 -0
  260. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  261. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  262. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  263. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  264. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  265. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  266. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk/utils/traced_exception.py +0 -0
  267. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk.egg-info/SOURCES.txt +0 -0
  268. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk.egg-info/dependency_links.txt +0 -0
  269. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk.egg-info/requires.txt +0 -0
  270. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/airbyte_cdk.egg-info/top_level.txt +0 -0
  271. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/pyproject.toml +0 -0
  272. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/setup.cfg +0 -0
  273. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/source_declarative_manifest/__init__.py +0 -0
  274. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/source_declarative_manifest/main.py +0 -0
  275. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/connector_builder/__init__.py +0 -0
  276. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/connector_builder/test_connector_builder_handler.py +0 -0
  277. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/connector_builder/test_message_grouper.py +0 -0
  278. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/connector_builder/utils.py +0 -0
  279. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/destinations/__init__.py +0 -0
  280. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/destinations/test_destination.py +0 -0
  281. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/singer/__init__.py +0 -0
  282. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/singer/test_singer_helpers.py +0 -0
  283. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/singer/test_singer_source.py +0 -0
  284. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/__init__.py +0 -0
  285. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/concurrent_source/__init__.py +0 -0
  286. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/concurrent_source/test_concurrent_source_adapter.py +0 -0
  287. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/__init__.py +0 -0
  288. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/auth/__init__.py +0 -0
  289. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/auth/test_oauth.py +0 -0
  290. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/auth/test_session_token_auth.py +0 -0
  291. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/auth/test_token_auth.py +0 -0
  292. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/auth/test_token_provider.py +0 -0
  293. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/checks/__init__.py +0 -0
  294. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/checks/test_check_stream.py +0 -0
  295. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/decoders/__init__.py +0 -0
  296. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/decoders/test_json_decoder.py +0 -0
  297. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/external_component.py +0 -0
  298. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/extractors/__init__.py +0 -0
  299. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/extractors/test_dpath_extractor.py +0 -0
  300. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/extractors/test_record_filter.py +0 -0
  301. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/extractors/test_record_selector.py +0 -0
  302. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/incremental/__init__.py +0 -0
  303. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/incremental/test_datetime_based_cursor.py +0 -0
  304. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/incremental/test_per_partition_cursor.py +0 -0
  305. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/incremental/test_per_partition_cursor_integration.py +0 -0
  306. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/__init__.py +0 -0
  307. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_filters.py +0 -0
  308. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_interpolated_boolean.py +0 -0
  309. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_interpolated_mapping.py +0 -0
  310. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_interpolated_nested_mapping.py +0 -0
  311. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_interpolated_string.py +0 -0
  312. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_jinja.py +0 -0
  313. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/interpolation/test_macros.py +0 -0
  314. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/parsers/__init__.py +0 -0
  315. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/parsers/test_manifest_component_transformer.py +0 -0
  316. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/parsers/test_manifest_reference_resolver.py +0 -0
  317. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/parsers/test_model_to_component_factory.py +0 -0
  318. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/parsers/testing_components.py +0 -0
  319. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/partition_routers/__init__.py +0 -0
  320. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/partition_routers/test_list_partition_router.py +0 -0
  321. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/partition_routers/test_single_partition_router.py +0 -0
  322. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/partition_routers/test_substream_partition_router.py +0 -0
  323. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/__init__.py +0 -0
  324. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  325. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  326. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_constant_backoff.py +0 -0
  327. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_exponential_backoff.py +0 -0
  328. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_header_helper.py +0 -0
  329. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_wait_time_from_header.py +0 -0
  330. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_wait_until_time_from_header.py +0 -0
  331. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/test_composite_error_handler.py +0 -0
  332. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/test_default_error_handler.py +0 -0
  333. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/test_http_response_filter.py +0 -0
  334. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/error_handlers/test_response_status.py +0 -0
  335. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/__init__.py +0 -0
  336. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_cursor_pagination_strategy.py +0 -0
  337. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_default_paginator.py +0 -0
  338. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_no_paginator.py +0 -0
  339. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_offset_increment.py +0 -0
  340. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_page_increment.py +0 -0
  341. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_request_option.py +0 -0
  342. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/paginators/test_stop_condition.py +0 -0
  343. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/request_options/__init__.py +0 -0
  344. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/request_options/test_interpolated_request_options_provider.py +0 -0
  345. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/test_http_requester.py +0 -0
  346. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/requesters/test_interpolated_request_input_provider.py +0 -0
  347. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/retrievers/__init__.py +0 -0
  348. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/retrievers/test_simple_retriever.py +0 -0
  349. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/__init__.py +0 -0
  350. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/source_test/SourceTest.py +0 -0
  351. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/source_test/__init__.py +0 -0
  352. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/test_default_schema_loader.py +0 -0
  353. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/test_inline_schema_loader.py +0 -0
  354. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/schema/test_json_file_schema_loader.py +0 -0
  355. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/states/__init__.py +0 -0
  356. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/stream_slicers/__init__.py +0 -0
  357. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/stream_slicers/test_cartesian_product_stream_slicer.py +0 -0
  358. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/test_create_partial.py +0 -0
  359. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/test_declarative_stream.py +0 -0
  360. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/test_manifest_declarative_source.py +0 -0
  361. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/declarative/test_yaml_declarative_source.py +0 -0
  362. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/__init__.py +0 -0
  363. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/availability_strategy/__init__.py +0 -0
  364. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/availability_strategy/test_default_file_based_availability_strategy.py +0 -0
  365. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/config/__init__.py +0 -0
  366. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/config/test_abstract_file_based_spec.py +0 -0
  367. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/config/test_csv_format.py +0 -0
  368. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/config/test_file_based_stream_config.py +0 -0
  369. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/discovery_policy/__init__.py +0 -0
  370. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/discovery_policy/test_default_discovery_policy.py +0 -0
  371. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/__init__.py +0 -0
  372. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/test_avro_parser.py +0 -0
  373. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/test_csv_parser.py +0 -0
  374. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/test_jsonl_parser.py +0 -0
  375. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/file_types/test_parquet_parser.py +0 -0
  376. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/helpers.py +0 -0
  377. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/in_memory_files_source.py +0 -0
  378. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/__init__.py +0 -0
  379. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/avro_scenarios.py +0 -0
  380. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/check_scenarios.py +0 -0
  381. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/csv_scenarios.py +0 -0
  382. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/file_based_source_builder.py +0 -0
  383. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/incremental_scenarios.py +0 -0
  384. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/jsonl_scenarios.py +0 -0
  385. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/parquet_scenarios.py +0 -0
  386. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/scenario_builder.py +0 -0
  387. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/unstructured_scenarios.py +0 -0
  388. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/user_input_schema_scenarios.py +0 -0
  389. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/scenarios/validation_policy_scenarios.py +0 -0
  390. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/stream/__init__.py +0 -0
  391. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/stream/test_default_file_based_cursor.py +0 -0
  392. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/stream/test_default_file_based_stream.py +0 -0
  393. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/test_file_based_scenarios.py +0 -0
  394. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/test_file_based_stream_reader.py +0 -0
  395. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/test_scenarios.py +0 -0
  396. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/file_based/test_schema_helpers.py +0 -0
  397. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/fixtures/__init__.py +0 -0
  398. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/fixtures/source_test_fixture.py +0 -0
  399. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/message/__init__.py +0 -0
  400. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/message/test_repository.py +0 -0
  401. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/__init__.py +0 -0
  402. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/__init__.py +0 -0
  403. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/__init__.py +0 -0
  404. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/incremental_scenarios.py +0 -0
  405. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/stream_facade_builder.py +0 -0
  406. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/stream_facade_scenarios.py +0 -0
  407. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/test_concurrent_scenarios.py +0 -0
  408. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_scenarios.py +0 -0
  409. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_source_builder.py +0 -0
  410. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/scenarios/utils.py +0 -0
  411. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_adapters.py +0 -0
  412. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_concurrent_partition_generator.py +0 -0
  413. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_concurrent_read_processor.py +0 -0
  414. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_cursor.py +0 -0
  415. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_default_stream.py +0 -0
  416. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_partition_reader.py +0 -0
  417. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_state_converter.py +0 -0
  418. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/concurrent/test_thread_pool_manager.py +0 -0
  419. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/__init__.py +0 -0
  420. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/auth/__init__.py +0 -0
  421. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/auth/test_auth.py +0 -0
  422. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/requests_native_auth/__init__.py +0 -0
  423. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/requests_native_auth/test_requests_native_auth.py +0 -0
  424. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/test_availability_strategy.py +0 -0
  425. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/http/test_http.py +0 -0
  426. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/test_availability_strategy.py +0 -0
  427. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/test_call_rate.py +0 -0
  428. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/test_stream_read.py +0 -0
  429. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/streams/test_streams_core.py +0 -0
  430. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_abstract_source.py +0 -0
  431. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_concurrent_source.py +0 -0
  432. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_config.py +0 -0
  433. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_connector_state_manager.py +0 -0
  434. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_http_logger.py +0 -0
  435. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_integration_source.py +0 -0
  436. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_source.py +0 -0
  437. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/sources/test_source_read.py +0 -0
  438. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/__init__.py +0 -0
  439. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/mock_http/__init__.py +0 -0
  440. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/mock_http/test_matcher.py +0 -0
  441. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/mock_http/test_mocker.py +0 -0
  442. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/mock_http/test_request.py +0 -0
  443. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/mock_http/test_response_builder.py +0 -0
  444. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/test/test_entrypoint_wrapper.py +0 -0
  445. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/__init__.py +0 -0
  446. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_datetime_format_inferrer.py +0 -0
  447. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_mapping_helpers.py +0 -0
  448. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_rate_limiting.py +0 -0
  449. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_schema_inferrer.py +0 -0
  450. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_secret_utils.py +0 -0
  451. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_stream_status_utils.py +0 -0
  452. {airbyte-cdk-0.57.2 → airbyte-cdk-0.57.3}/unit_tests/utils/test_traced_exception.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 0.57.2
3
+ Version: 0.57.3
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://github.com/airbytehq/airbyte
6
6
  Author: Airbyte
@@ -4,6 +4,7 @@
4
4
 
5
5
  import os
6
6
  from abc import ABC, abstractmethod
7
+ from dataclasses import dataclass
7
8
  from typing import List, Optional, Union, cast
8
9
 
9
10
  from airbyte_cdk.destinations.vector_db_based.config import (
@@ -15,8 +16,8 @@ from airbyte_cdk.destinations.vector_db_based.config import (
15
16
  OpenAIEmbeddingConfigModel,
16
17
  ProcessingConfigModel,
17
18
  )
18
- from airbyte_cdk.destinations.vector_db_based.document_processor import Chunk
19
19
  from airbyte_cdk.destinations.vector_db_based.utils import create_chunks, format_exception
20
+ from airbyte_cdk.models import AirbyteRecordMessage
20
21
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException, FailureType
21
22
  from langchain.embeddings.cohere import CohereEmbeddings
22
23
  from langchain.embeddings.fake import FakeEmbeddings
@@ -24,6 +25,12 @@ from langchain.embeddings.localai import LocalAIEmbeddings
24
25
  from langchain.embeddings.openai import OpenAIEmbeddings
25
26
 
26
27
 
28
+ @dataclass
29
+ class Document:
30
+ page_content: str
31
+ record: AirbyteRecordMessage
32
+
33
+
27
34
  class Embedder(ABC):
28
35
  """
29
36
  Embedder is an abstract class that defines the interface for embedding text.
@@ -41,7 +48,7 @@ class Embedder(ABC):
41
48
  pass
42
49
 
43
50
  @abstractmethod
44
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
51
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
45
52
  """
46
53
  Embed the text of each chunk and return the resulting embedding vectors.
47
54
  If a chunk cannot be embedded or is configured to not be embedded, return None for that chunk.
@@ -72,7 +79,7 @@ class BaseOpenAIEmbedder(Embedder):
72
79
  return format_exception(e)
73
80
  return None
74
81
 
75
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
82
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
76
83
  """
77
84
  Embed the text of each chunk and return the resulting embedding vectors.
78
85
 
@@ -80,9 +87,9 @@ class BaseOpenAIEmbedder(Embedder):
80
87
  It's still possible to run into the rate limit between each embed call because the available token budget hasn't recovered between the calls,
81
88
  but the built-in retry mechanism of the OpenAI client handles that.
82
89
  """
83
- # Each chunk can hold at most self.chunk_size tokens, so tokens-per-minute by maximum tokens per chunk is the number of chunks that can be embedded at once without exhausting the limit in a single request
90
+ # Each chunk can hold at most self.chunk_size tokens, so tokens-per-minute by maximum tokens per chunk is the number of documents that can be embedded at once without exhausting the limit in a single request
84
91
  embedding_batch_size = OPEN_AI_TOKEN_LIMIT // self.chunk_size
85
- batches = create_chunks(chunks, batch_size=embedding_batch_size)
92
+ batches = create_chunks(documents, batch_size=embedding_batch_size)
86
93
  embeddings: List[Optional[List[float]]] = []
87
94
  for batch in batches:
88
95
  embeddings.extend(self.embeddings.embed_documents([chunk.page_content for chunk in batch]))
@@ -121,8 +128,8 @@ class CohereEmbedder(Embedder):
121
128
  return format_exception(e)
122
129
  return None
123
130
 
124
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
125
- return cast(List[Optional[List[float]]], self.embeddings.embed_documents([chunk.page_content or "" for chunk in chunks]))
131
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
132
+ return cast(List[Optional[List[float]]], self.embeddings.embed_documents([document.page_content for document in documents]))
126
133
 
127
134
  @property
128
135
  def embedding_dimensions(self) -> int:
@@ -142,8 +149,8 @@ class FakeEmbedder(Embedder):
142
149
  return format_exception(e)
143
150
  return None
144
151
 
145
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
146
- return cast(List[Optional[List[float]]], self.embeddings.embed_documents([chunk.page_content or "" for chunk in chunks]))
152
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
153
+ return cast(List[Optional[List[float]]], self.embeddings.embed_documents([document.page_content for document in documents]))
147
154
 
148
155
  @property
149
156
  def embedding_dimensions(self) -> int:
@@ -173,8 +180,8 @@ class OpenAICompatibleEmbedder(Embedder):
173
180
  return format_exception(e)
174
181
  return None
175
182
 
176
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
177
- return cast(List[Optional[List[float]]], self.embeddings.embed_documents([chunk.page_content or "" for chunk in chunks]))
183
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
184
+ return cast(List[Optional[List[float]]], self.embeddings.embed_documents([document.page_content for document in documents]))
178
185
 
179
186
  @property
180
187
  def embedding_dimensions(self) -> int:
@@ -190,32 +197,32 @@ class FromFieldEmbedder(Embedder):
190
197
  def check(self) -> Optional[str]:
191
198
  return None
192
199
 
193
- def embed_chunks(self, chunks: List[Chunk]) -> List[Optional[List[float]]]:
200
+ def embed_documents(self, documents: List[Document]) -> List[Optional[List[float]]]:
194
201
  """
195
202
  From each chunk, pull the embedding from the field specified in the config.
196
203
  Check that the field exists, is a list of numbers and is the correct size. If not, raise an AirbyteTracedException explaining the problem.
197
204
  """
198
205
  embeddings: List[Optional[List[float]]] = []
199
- for chunk in chunks:
200
- data = chunk.record.data
206
+ for document in documents:
207
+ data = document.record.data
201
208
  if self.config.field_name not in data:
202
209
  raise AirbyteTracedException(
203
210
  internal_message="Embedding vector field not found",
204
211
  failure_type=FailureType.config_error,
205
- message=f"Record {str(data)[:250]}... in stream {chunk.record.stream} does not contain embedding vector field {self.config.field_name}. Please check your embedding configuration, the embedding vector field has to be set correctly on every record.",
212
+ message=f"Record {str(data)[:250]}... in stream {document.record.stream} does not contain embedding vector field {self.config.field_name}. Please check your embedding configuration, the embedding vector field has to be set correctly on every record.",
206
213
  )
207
214
  field = data[self.config.field_name]
208
215
  if not isinstance(field, list) or not all(isinstance(x, (int, float)) for x in field):
209
216
  raise AirbyteTracedException(
210
217
  internal_message="Embedding vector field not a list of numbers",
211
218
  failure_type=FailureType.config_error,
212
- message=f"Record {str(data)[:250]}... in stream {chunk.record.stream} does contain embedding vector field {self.config.field_name}, but it is not a list of numbers. Please check your embedding configuration, the embedding vector field has to be a list of numbers of length {self.config.dimensions} on every record.",
219
+ message=f"Record {str(data)[:250]}... in stream {document.record.stream} does contain embedding vector field {self.config.field_name}, but it is not a list of numbers. Please check your embedding configuration, the embedding vector field has to be a list of numbers of length {self.config.dimensions} on every record.",
213
220
  )
214
221
  if len(field) != self.config.dimensions:
215
222
  raise AirbyteTracedException(
216
223
  internal_message="Embedding vector field has wrong length",
217
224
  failure_type=FailureType.config_error,
218
- message=f"Record {str(data)[:250]}... in stream {chunk.record.stream} does contain embedding vector field {self.config.field_name}, but it has length {len(field)} instead of the configured {self.config.dimensions}. Please check your embedding configuration, the embedding vector field has to be a list of numbers of length {self.config.dimensions} on every record.",
225
+ message=f"Record {str(data)[:250]}... in stream {document.record.stream} does contain embedding vector field {self.config.field_name}, but it has length {len(field)} instead of the configured {self.config.dimensions}. Please check your embedding configuration, the embedding vector field has to be a list of numbers of length {self.config.dimensions} on every record.",
219
226
  )
220
227
  embeddings.append(field)
221
228
 
@@ -8,7 +8,7 @@ from typing import Dict, Iterable, List, Tuple
8
8
 
9
9
  from airbyte_cdk.destinations.vector_db_based.config import ProcessingConfigModel
10
10
  from airbyte_cdk.destinations.vector_db_based.document_processor import Chunk, DocumentProcessor
11
- from airbyte_cdk.destinations.vector_db_based.embedder import Embedder
11
+ from airbyte_cdk.destinations.vector_db_based.embedder import Document, Embedder
12
12
  from airbyte_cdk.destinations.vector_db_based.indexer import Indexer
13
13
  from airbyte_cdk.models import AirbyteMessage, ConfiguredAirbyteCatalog, Type
14
14
 
@@ -16,14 +16,14 @@ from airbyte_cdk.models import AirbyteMessage, ConfiguredAirbyteCatalog, Type
16
16
  class Writer:
17
17
  """
18
18
  The Writer class is orchestrating the document processor, the embedder and the indexer:
19
- * Incoming records are passed through the document processor to generate documents
20
- * One the configured batch size is reached, the documents are passed to the embedder to generate embeddings
21
- * The embedder embeds the documents
22
- * The indexer deletes old documents by the associated record id before indexing the new ones
19
+ * Incoming records are passed through the document processor to generate chunks
20
+ * One the configured batch size is reached, the chunks are passed to the embedder to generate embeddings
21
+ * The embedder embeds the chunks
22
+ * The indexer deletes old chunks by the associated record id before indexing the new ones
23
23
 
24
24
  The destination connector is responsible to create a writer instance and pass the input messages iterable to the write method.
25
25
  The batch size can be configured by the destination connector to give the freedom of either letting the user configure it or hardcoding it to a sensible value depending on the destination.
26
- The omit_raw_text parameter can be used to omit the raw text from the documents. This can be useful if the raw text is very large and not needed for the destination.
26
+ The omit_raw_text parameter can be used to omit the raw text from the chunks. This can be useful if the raw text is very large and not needed for the destination.
27
27
  """
28
28
 
29
29
  def __init__(
@@ -37,21 +37,29 @@ class Writer:
37
37
  self._init_batch()
38
38
 
39
39
  def _init_batch(self) -> None:
40
- self.documents: Dict[Tuple[str, str], List[Chunk]] = defaultdict(list)
40
+ self.chunks: Dict[Tuple[str, str], List[Chunk]] = defaultdict(list)
41
41
  self.ids_to_delete: Dict[Tuple[str, str], List[str]] = defaultdict(list)
42
- self.number_of_documents = 0
42
+ self.number_of_chunks = 0
43
+
44
+ def _convert_to_document(self, chunk: Chunk) -> Document:
45
+ """
46
+ Convert a chunk to a document for the embedder.
47
+ """
48
+ if chunk.page_content is None:
49
+ raise ValueError("Cannot embed a chunk without page content")
50
+ return Document(page_content=chunk.page_content, record=chunk.record)
43
51
 
44
52
  def _process_batch(self) -> None:
45
53
  for (namespace, stream), ids in self.ids_to_delete.items():
46
54
  self.indexer.delete(ids, namespace, stream)
47
55
 
48
- for (namespace, stream), documents in self.documents.items():
49
- embeddings = self.embedder.embed_chunks(documents)
50
- for i, document in enumerate(documents):
56
+ for (namespace, stream), chunks in self.chunks.items():
57
+ embeddings = self.embedder.embed_documents([self._convert_to_document(chunk) for chunk in chunks])
58
+ for i, document in enumerate(chunks):
51
59
  document.embedding = embeddings[i]
52
60
  if self.omit_raw_text:
53
61
  document.page_content = None
54
- self.indexer.index(documents, namespace, stream)
62
+ self.indexer.index(chunks, namespace, stream)
55
63
 
56
64
  self._init_batch()
57
65
 
@@ -65,12 +73,12 @@ class Writer:
65
73
  self._process_batch()
66
74
  yield message
67
75
  elif message.type == Type.RECORD:
68
- record_documents, record_id_to_delete = self.processor.process(message.record)
69
- self.documents[(message.record.namespace, message.record.stream)].extend(record_documents)
76
+ record_chunks, record_id_to_delete = self.processor.process(message.record)
77
+ self.chunks[(message.record.namespace, message.record.stream)].extend(record_chunks)
70
78
  if record_id_to_delete is not None:
71
79
  self.ids_to_delete[(message.record.namespace, message.record.stream)].append(record_id_to_delete)
72
- self.number_of_documents += len(record_documents)
73
- if self.number_of_documents >= self.batch_size:
80
+ self.number_of_chunks += len(record_chunks)
81
+ if self.number_of_chunks >= self.batch_size:
74
82
  self._process_batch()
75
83
 
76
84
  self._process_batch()
@@ -3,6 +3,7 @@
3
3
  #
4
4
  import logging
5
5
  import traceback
6
+ from datetime import datetime
6
7
  from io import BytesIO, IOBase
7
8
  from typing import Any, Dict, Iterable, List, Mapping, Optional, Tuple, Union
8
9
 
@@ -56,6 +57,8 @@ def user_error(e: Exception) -> bool:
56
57
  """
57
58
  Return True if this exception is caused by user error, False otherwise.
58
59
  """
60
+ if not isinstance(e, RecordParseError):
61
+ return False
59
62
  if not isinstance(e, requests.exceptions.RequestException):
60
63
  return False
61
64
  return bool(e.response and 400 <= e.response.status_code < 500)
@@ -164,10 +167,14 @@ class UnstructuredParser(FileTypeParser):
164
167
  return self._read_file_locally(file_handle, filetype, format.strategy, remote_file)
165
168
  elif format.processing.mode == "api":
166
169
  try:
167
- result: str = self._read_file_remotely_with_retries(file_handle, format.processing, filetype, format.strategy)
170
+ result: str = self._read_file_remotely_with_retries(file_handle, format.processing, filetype, format.strategy, remote_file)
168
171
  except Exception as e:
169
- # Re-throw as config error so the sync is stopped as problems with the external API need to be resolved by the user and are not considered part of the SLA.
172
+ # If a parser error happens during remotely processing the file, this means the file is corrupted. This case is handled by the parse_records method, so just rethrow.
173
+ #
174
+ # For other exceptions, re-throw as config error so the sync is stopped as problems with the external API need to be resolved by the user and are not considered part of the SLA.
170
175
  # Once this parser leaves experimental stage, we should consider making this a system error instead for issues that might be transient.
176
+ if isinstance(e, RecordParseError):
177
+ raise e
171
178
  raise AirbyteTracedException.from_exception(e, failure_type=FailureType.config_error)
172
179
 
173
180
  return result
@@ -210,7 +217,13 @@ class UnstructuredParser(FileTypeParser):
210
217
  return False, "Base URL must start with https://"
211
218
 
212
219
  try:
213
- self._read_file_remotely(BytesIO(b"# Airbyte source connection test"), format_config.processing, FileType.MD, "auto")
220
+ self._read_file_remotely(
221
+ BytesIO(b"# Airbyte source connection test"),
222
+ format_config.processing,
223
+ FileType.MD,
224
+ "auto",
225
+ RemoteFile(uri="test", last_modified=datetime.now()),
226
+ )
214
227
  except Exception:
215
228
  return False, "".join(traceback.format_exc())
216
229
 
@@ -218,14 +231,16 @@ class UnstructuredParser(FileTypeParser):
218
231
 
219
232
  @backoff.on_exception(backoff.expo, requests.exceptions.RequestException, max_tries=5, giveup=user_error)
220
233
  def _read_file_remotely_with_retries(
221
- self, file_handle: IOBase, format: APIProcessingConfigModel, filetype: FileType, strategy: str
234
+ self, file_handle: IOBase, format: APIProcessingConfigModel, filetype: FileType, strategy: str, remote_file: RemoteFile
222
235
  ) -> str:
223
236
  """
224
237
  Read a file remotely, retrying up to 5 times if the error is not caused by user error. This is useful for transient network errors or the API server being overloaded temporarily.
225
238
  """
226
- return self._read_file_remotely(file_handle, format, filetype, strategy)
239
+ return self._read_file_remotely(file_handle, format, filetype, strategy, remote_file)
227
240
 
228
- def _read_file_remotely(self, file_handle: IOBase, format: APIProcessingConfigModel, filetype: FileType, strategy: str) -> str:
241
+ def _read_file_remotely(
242
+ self, file_handle: IOBase, format: APIProcessingConfigModel, filetype: FileType, strategy: str, remote_file: RemoteFile
243
+ ) -> str:
229
244
  headers = {"accept": "application/json", "unstructured-api-key": format.api_key}
230
245
 
231
246
  data = self._params_to_dict(format.parameters, strategy)
@@ -233,7 +248,13 @@ class UnstructuredParser(FileTypeParser):
233
248
  file_data = {"files": ("filename", file_handle, FILETYPE_TO_MIMETYPE[filetype])}
234
249
 
235
250
  response = requests.post(f"{format.api_url}/general/v0/general", headers=headers, data=data, files=file_data)
236
- response.raise_for_status()
251
+
252
+ if response.status_code == 422:
253
+ # 422 means the file couldn't be processed, but the API is working. Treat this as a parsing error (passing an error record to the destination).
254
+ raise self._create_parse_error(remote_file, response.json())
255
+ else:
256
+ # Other error statuses are raised as requests exceptions (retry everything except user errors)
257
+ response.raise_for_status()
237
258
 
238
259
  json_response = response.json()
239
260
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 0.57.2
3
+ Version: 0.57.3
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://github.com/airbytehq/airbyte
6
6
  Author: Airbyte
@@ -36,7 +36,7 @@ setup(
36
36
  name="airbyte-cdk",
37
37
  # The version of the airbyte-cdk package is used at runtime to validate manifests. That validation must be
38
38
  # updated if our semver format changes such as using release candidate versions.
39
- version="0.57.2",
39
+ version="0.57.3",
40
40
  description="A framework for writing Airbyte Connectors.",
41
41
  long_description=README,
42
42
  long_description_content_type="text/markdown",
@@ -315,7 +315,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
315
315
 
316
316
 
317
317
  @pytest.mark.parametrize(
318
- "filetype, format_config, raises_for_status, file_content, json_response, expected_requests, raises, expected_records",
318
+ "filetype, format_config, raises_for_status, file_content, json_response, expected_requests, raises, expected_records, http_status_code",
319
319
  [
320
320
  pytest.param(
321
321
  FileType.PDF,
@@ -332,6 +332,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
332
332
  "_ab_source_file_parse_error": None
333
333
  }
334
334
  ],
335
+ 200,
335
336
  id="basic_request",
336
337
  ),
337
338
  pytest.param(
@@ -349,6 +350,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
349
350
  "_ab_source_file_parse_error": None
350
351
  }
351
352
  ],
353
+ 200,
352
354
  id="request_with_params",
353
355
  ),
354
356
  pytest.param(
@@ -366,6 +368,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
366
368
  "_ab_source_file_parse_error": None
367
369
  }
368
370
  ],
371
+ 200,
369
372
  id="handle_markdown_locally",
370
373
  ),
371
374
  pytest.param(
@@ -394,6 +397,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
394
397
  ],
395
398
  True,
396
399
  None,
400
+ 200,
397
401
  id="retry_and_raise_on_api_error",
398
402
  ),
399
403
  pytest.param(
@@ -422,6 +426,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
422
426
  "_ab_source_file_parse_error": None
423
427
  }
424
428
  ],
429
+ 200,
425
430
  id="retry_and_recover",
426
431
  ),
427
432
  pytest.param(
@@ -438,6 +443,7 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
438
443
  ],
439
444
  True,
440
445
  None,
446
+ 200,
441
447
  id="no_retry_on_unexpected_error",
442
448
  ),
443
449
  pytest.param(
@@ -454,8 +460,29 @@ def test_check_config(requests_mock, format_config, raises_for_status, json_resp
454
460
  ],
455
461
  True,
456
462
  None,
463
+ 400,
457
464
  id="no_retry_on_400_error",
458
465
  ),
466
+ pytest.param(
467
+ FileType.PDF,
468
+ UnstructuredFormat(skip_unprocessable_file_types=False, processing=APIProcessingConfigModel(mode="api", api_key="test")),
469
+ None,
470
+ "test",
471
+ [{"detail": "Something went wrong"}],
472
+ [
473
+ call("https://api.unstructured.io/general/v0/general", headers={"accept": "application/json", "unstructured-api-key": "test"}, data={"strategy": "auto"}, files={"files": ("filename", mock.ANY, "application/pdf")}),
474
+ ],
475
+ False,
476
+ [
477
+ {
478
+ "content": None,
479
+ "document_key": FILE_URI,
480
+ "_ab_source_file_parse_error": "Error parsing record. This could be due to a mismatch between the config's file type and the actual file type, or because the file or record is not parseable. Contact Support if you need assistance.\nfilename=path/to/file.xyz message=[{'detail': 'Something went wrong'}]",
481
+ }
482
+ ],
483
+ 422,
484
+ id="error_record_on_422_error",
485
+ ),
459
486
  ],
460
487
  )
461
488
  @patch("airbyte_cdk.sources.file_based.file_types.unstructured_parser.requests")
@@ -473,6 +500,7 @@ def test_parse_records_remotely(
473
500
  expected_requests,
474
501
  raises,
475
502
  expected_records,
503
+ http_status_code
476
504
  ):
477
505
  stream_reader = MagicMock()
478
506
  mock_open(stream_reader.open_file, read_data=bytes(str(file_content), "utf-8"))
@@ -484,6 +512,7 @@ def test_parse_records_remotely(
484
512
  mock_detect_filetype.return_value = filetype
485
513
  mock_response = MagicMock()
486
514
  mock_response.json.return_value = json_response
515
+ mock_response.status_code = http_status_code
487
516
  if raises_for_status:
488
517
  mock_response.raise_for_status.side_effect = raises_for_status
489
518
  requests_mock.post.return_value = mock_response
File without changes
File without changes