airbyte-cdk 0.55.3__tar.gz → 0.55.5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (450) hide show
  1. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/PKG-INFO +1 -1
  2. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/entrypoint.py +3 -0
  3. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/abstract_source.py +4 -2
  4. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +3 -1
  5. airbyte-cdk-0.55.5/airbyte_cdk/test/entrypoint_wrapper.py +116 -0
  6. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk.egg-info/PKG-INFO +1 -1
  7. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk.egg-info/SOURCES.txt +1 -0
  8. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/setup.py +1 -1
  9. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/csv_scenarios.py +1 -0
  10. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/scenario_builder.py +6 -2
  11. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/test_file_based_scenarios.py +2 -5
  12. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/test_scenarios.py +39 -79
  13. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/test_concurrent_scenarios.py +2 -3
  14. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/LICENSE.txt +0 -0
  15. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/README.md +0 -0
  16. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/__init__.py +0 -0
  17. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/config_observation.py +0 -0
  18. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector.py +0 -0
  19. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector_builder/__init__.py +0 -0
  20. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  21. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector_builder/main.py +0 -0
  22. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
  23. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/connector_builder/models.py +0 -0
  24. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/__init__.py +0 -0
  25. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/destination.py +0 -0
  26. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  27. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  28. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  29. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  30. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  31. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  32. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  33. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  34. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/exception_handler.py +0 -0
  35. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/logger.py +0 -0
  36. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/models/__init__.py +0 -0
  37. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  38. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/models/well_known_types.py +0 -0
  39. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/py.typed +0 -0
  40. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/__init__.py +0 -0
  41. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  42. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  43. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  44. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  45. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  46. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  47. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/config.py +0 -0
  48. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  49. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  50. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  51. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  52. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  53. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  54. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  55. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  56. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  57. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  58. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/create_partial.py +0 -0
  59. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  60. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  61. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  62. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  63. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  64. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  65. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  66. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  67. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  68. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  69. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  70. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  71. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  72. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  73. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  74. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  75. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  76. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/incremental/cursor.py +0 -0
  77. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  78. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  79. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  80. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  81. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  82. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  83. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  84. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  85. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  86. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  87. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  88. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  89. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  90. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  91. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  92. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/class_types_registry.py +0 -0
  93. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  94. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/default_implementation_registry.py +0 -0
  95. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  96. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  97. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  98. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  99. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  100. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  101. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  102. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  103. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  104. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  105. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  106. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  107. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  108. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  109. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  110. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  111. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  112. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  113. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  114. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  115. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/response_action.py +0 -0
  116. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/error_handlers/response_status.py +0 -0
  117. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  118. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  119. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  120. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  121. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  122. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  123. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  124. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  125. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  126. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  127. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  128. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  129. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  130. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  131. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  132. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  133. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  134. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  135. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  136. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  137. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  138. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  139. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  140. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  141. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  142. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  143. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  144. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  145. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  146. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  147. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/stream_slicers/cartesian_product_stream_slicer.py +0 -0
  148. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  149. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  150. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  151. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  152. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  153. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/types.py +0 -0
  154. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  155. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/deprecated/__init__.py +0 -0
  156. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/deprecated/base_source.py +0 -0
  157. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/deprecated/client.py +0 -0
  158. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/embedded/__init__.py +0 -0
  159. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
  160. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/embedded/catalog.py +0 -0
  161. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/embedded/runner.py +0 -0
  162. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/embedded/tools.py +0 -0
  163. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  164. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  165. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  166. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  167. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  168. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  169. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  170. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  171. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  172. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  173. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  174. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  175. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  176. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  177. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  178. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  179. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  180. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  181. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  182. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  183. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  184. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  185. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  186. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  187. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  188. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  189. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  190. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  191. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  192. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  193. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  194. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  195. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  196. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  197. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  198. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/file_based/types.py +0 -0
  199. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/http_config.py +0 -0
  200. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/http_logger.py +0 -0
  201. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/message/__init__.py +0 -0
  202. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/message/repository.py +0 -0
  203. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/singer/__init__.py +0 -0
  204. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/singer/singer_helpers.py +0 -0
  205. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/singer/source.py +0 -0
  206. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/source.py +0 -0
  207. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/__init__.py +0 -0
  208. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  209. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  210. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  211. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  212. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  213. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  214. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  215. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  216. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  217. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  218. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  219. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  220. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  221. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  222. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partitions/record.py +0 -0
  223. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  224. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/concurrent/state_converter.py +0 -0
  225. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/core.py +0 -0
  226. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  227. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/auth/__init__.py +0 -0
  228. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/auth/core.py +0 -0
  229. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/auth/oauth.py +0 -0
  230. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/auth/token.py +0 -0
  231. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  232. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  233. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/http.py +0 -0
  234. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  235. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  236. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  237. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  238. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  239. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  240. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  241. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/streams/utils/stream_helper.py +0 -0
  242. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/__init__.py +0 -0
  243. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/casing.py +0 -0
  244. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/catalog_helpers.py +0 -0
  245. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  246. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  247. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/schema_models.py +0 -0
  248. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  249. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/transform.py +0 -0
  250. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/sources/utils/types.py +0 -0
  251. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/__init__.py +0 -0
  252. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/__init__.py +0 -0
  253. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/matcher.py +0 -0
  254. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/mocker.py +0 -0
  255. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/request.py +0 -0
  256. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/response.py +0 -0
  257. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/test/http/response_builder.py +0 -0
  258. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/__init__.py +0 -0
  259. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  260. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/analytics_message.py +0 -0
  261. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/constants.py +0 -0
  262. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  263. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/event_timing.py +0 -0
  264. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  265. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  266. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  267. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  268. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  269. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  270. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk/utils/traced_exception.py +0 -0
  271. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk.egg-info/dependency_links.txt +0 -0
  272. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk.egg-info/requires.txt +0 -0
  273. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/airbyte_cdk.egg-info/top_level.txt +0 -0
  274. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/pyproject.toml +0 -0
  275. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/setup.cfg +0 -0
  276. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/source_declarative_manifest/__init__.py +0 -0
  277. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/source_declarative_manifest/main.py +0 -0
  278. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/connector_builder/__init__.py +0 -0
  279. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/connector_builder/test_connector_builder_handler.py +0 -0
  280. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/connector_builder/test_message_grouper.py +0 -0
  281. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/connector_builder/utils.py +0 -0
  282. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/destinations/__init__.py +0 -0
  283. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/destinations/test_destination.py +0 -0
  284. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/singer/__init__.py +0 -0
  285. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/singer/test_singer_helpers.py +0 -0
  286. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/singer/test_singer_source.py +0 -0
  287. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/__init__.py +0 -0
  288. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/concurrent_source/__init__.py +0 -0
  289. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/concurrent_source/test_concurrent_source_adapter.py +0 -0
  290. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/__init__.py +0 -0
  291. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/auth/__init__.py +0 -0
  292. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/auth/test_oauth.py +0 -0
  293. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/auth/test_session_token_auth.py +0 -0
  294. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/auth/test_token_auth.py +0 -0
  295. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/auth/test_token_provider.py +0 -0
  296. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/checks/__init__.py +0 -0
  297. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/checks/test_check_stream.py +0 -0
  298. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/decoders/__init__.py +0 -0
  299. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/decoders/test_json_decoder.py +0 -0
  300. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/external_component.py +0 -0
  301. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/extractors/__init__.py +0 -0
  302. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/extractors/test_dpath_extractor.py +0 -0
  303. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/extractors/test_record_filter.py +0 -0
  304. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/extractors/test_record_selector.py +0 -0
  305. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/incremental/__init__.py +0 -0
  306. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/incremental/test_datetime_based_cursor.py +0 -0
  307. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/incremental/test_per_partition_cursor.py +0 -0
  308. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/incremental/test_per_partition_cursor_integration.py +0 -0
  309. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/__init__.py +0 -0
  310. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_filters.py +0 -0
  311. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_interpolated_boolean.py +0 -0
  312. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_interpolated_mapping.py +0 -0
  313. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_interpolated_nested_mapping.py +0 -0
  314. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_interpolated_string.py +0 -0
  315. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_jinja.py +0 -0
  316. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/interpolation/test_macros.py +0 -0
  317. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/parsers/__init__.py +0 -0
  318. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/parsers/test_manifest_component_transformer.py +0 -0
  319. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/parsers/test_manifest_reference_resolver.py +0 -0
  320. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/parsers/test_model_to_component_factory.py +0 -0
  321. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/parsers/testing_components.py +0 -0
  322. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/partition_routers/__init__.py +0 -0
  323. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/partition_routers/test_list_partition_router.py +0 -0
  324. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/partition_routers/test_single_partition_router.py +0 -0
  325. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/partition_routers/test_substream_partition_router.py +0 -0
  326. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/__init__.py +0 -0
  327. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  328. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  329. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_constant_backoff.py +0 -0
  330. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_exponential_backoff.py +0 -0
  331. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_header_helper.py +0 -0
  332. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_wait_time_from_header.py +0 -0
  333. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/backoff_strategies/test_wait_until_time_from_header.py +0 -0
  334. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/test_composite_error_handler.py +0 -0
  335. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/test_default_error_handler.py +0 -0
  336. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/test_http_response_filter.py +0 -0
  337. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/error_handlers/test_response_status.py +0 -0
  338. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/__init__.py +0 -0
  339. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_cursor_pagination_strategy.py +0 -0
  340. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_default_paginator.py +0 -0
  341. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_no_paginator.py +0 -0
  342. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_offset_increment.py +0 -0
  343. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_page_increment.py +0 -0
  344. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_request_option.py +0 -0
  345. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/paginators/test_stop_condition.py +0 -0
  346. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/request_options/__init__.py +0 -0
  347. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/request_options/test_interpolated_request_options_provider.py +0 -0
  348. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/test_http_requester.py +0 -0
  349. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/requesters/test_interpolated_request_input_provider.py +0 -0
  350. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/retrievers/__init__.py +0 -0
  351. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/retrievers/test_simple_retriever.py +0 -0
  352. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/__init__.py +0 -0
  353. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/source_test/SourceTest.py +0 -0
  354. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/source_test/__init__.py +0 -0
  355. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/test_default_schema_loader.py +0 -0
  356. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/test_inline_schema_loader.py +0 -0
  357. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/schema/test_json_file_schema_loader.py +0 -0
  358. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/states/__init__.py +0 -0
  359. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/stream_slicers/__init__.py +0 -0
  360. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/stream_slicers/test_cartesian_product_stream_slicer.py +0 -0
  361. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/test_create_partial.py +0 -0
  362. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/test_declarative_stream.py +0 -0
  363. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/test_manifest_declarative_source.py +0 -0
  364. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/declarative/test_yaml_declarative_source.py +0 -0
  365. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/__init__.py +0 -0
  366. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/availability_strategy/__init__.py +0 -0
  367. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/availability_strategy/test_default_file_based_availability_strategy.py +0 -0
  368. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/config/__init__.py +0 -0
  369. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/config/test_abstract_file_based_spec.py +0 -0
  370. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/config/test_csv_format.py +0 -0
  371. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/config/test_file_based_stream_config.py +0 -0
  372. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/discovery_policy/__init__.py +0 -0
  373. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/discovery_policy/test_default_discovery_policy.py +0 -0
  374. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/__init__.py +0 -0
  375. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/test_avro_parser.py +0 -0
  376. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/test_csv_parser.py +0 -0
  377. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/test_jsonl_parser.py +0 -0
  378. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/test_parquet_parser.py +0 -0
  379. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/file_types/test_unstructured_parser.py +0 -0
  380. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/helpers.py +0 -0
  381. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/in_memory_files_source.py +0 -0
  382. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/__init__.py +0 -0
  383. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/avro_scenarios.py +0 -0
  384. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/check_scenarios.py +0 -0
  385. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/file_based_source_builder.py +0 -0
  386. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/incremental_scenarios.py +0 -0
  387. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/jsonl_scenarios.py +0 -0
  388. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/parquet_scenarios.py +0 -0
  389. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/unstructured_scenarios.py +0 -0
  390. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/user_input_schema_scenarios.py +0 -0
  391. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/scenarios/validation_policy_scenarios.py +0 -0
  392. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/stream/__init__.py +0 -0
  393. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/stream/test_default_file_based_cursor.py +0 -0
  394. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/stream/test_default_file_based_stream.py +0 -0
  395. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/test_file_based_stream_reader.py +0 -0
  396. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/file_based/test_schema_helpers.py +0 -0
  397. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/fixtures/__init__.py +0 -0
  398. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/fixtures/source_test_fixture.py +0 -0
  399. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/message/__init__.py +0 -0
  400. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/message/test_repository.py +0 -0
  401. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/__init__.py +0 -0
  402. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/__init__.py +0 -0
  403. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/__init__.py +0 -0
  404. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/incremental_scenarios.py +0 -0
  405. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/stream_facade_builder.py +0 -0
  406. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/stream_facade_scenarios.py +0 -0
  407. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_scenarios.py +0 -0
  408. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/thread_based_concurrent_stream_source_builder.py +0 -0
  409. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/scenarios/utils.py +0 -0
  410. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_adapters.py +0 -0
  411. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_concurrent_partition_generator.py +0 -0
  412. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_concurrent_read_processor.py +0 -0
  413. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_cursor.py +0 -0
  414. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_default_stream.py +0 -0
  415. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_partition_reader.py +0 -0
  416. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_state_converter.py +0 -0
  417. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/concurrent/test_thread_pool_manager.py +0 -0
  418. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/__init__.py +0 -0
  419. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/auth/__init__.py +0 -0
  420. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/auth/test_auth.py +0 -0
  421. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/requests_native_auth/__init__.py +0 -0
  422. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/requests_native_auth/test_requests_native_auth.py +0 -0
  423. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/test_availability_strategy.py +0 -0
  424. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/http/test_http.py +0 -0
  425. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/test_availability_strategy.py +0 -0
  426. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/test_call_rate.py +0 -0
  427. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/test_stream_read.py +0 -0
  428. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/streams/test_streams_core.py +0 -0
  429. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_abstract_source.py +0 -0
  430. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_concurrent_source.py +0 -0
  431. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_config.py +0 -0
  432. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_connector_state_manager.py +0 -0
  433. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_http_logger.py +0 -0
  434. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_integration_source.py +0 -0
  435. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_source.py +0 -0
  436. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/sources/test_source_read.py +0 -0
  437. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/__init__.py +0 -0
  438. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/http/__init__.py +0 -0
  439. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/http/test_matcher.py +0 -0
  440. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/http/test_mocker.py +0 -0
  441. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/http/test_request.py +0 -0
  442. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/test/http/test_response_builder.py +0 -0
  443. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/__init__.py +0 -0
  444. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_datetime_format_inferrer.py +0 -0
  445. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_mapping_helpers.py +0 -0
  446. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_rate_limiting.py +0 -0
  447. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_schema_inferrer.py +0 -0
  448. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_secret_utils.py +0 -0
  449. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/unit_tests/utils/test_stream_status_utils.py +0 -0
  450. {airbyte-cdk-0.55.3 → airbyte-cdk-0.55.5}/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.55.3
3
+ Version: 0.55.5
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://github.com/airbytehq/airbyte
6
6
  Author: Airbyte
@@ -106,6 +106,9 @@ class AirbyteEntrypoint(object):
106
106
  raw_config = self.source.read_config(parsed_args.config)
107
107
  config = self.source.configure(raw_config, temp_dir)
108
108
 
109
+ yield from [
110
+ self.airbyte_message_to_string(queued_message) for queued_message in self._emit_queued_messages(self.source)
111
+ ]
109
112
  if cmd == "check":
110
113
  yield from map(AirbyteEntrypoint.airbyte_message_to_string, self.check(source_spec, config))
111
114
  elif cmd == "discover":
@@ -19,7 +19,7 @@ from airbyte_cdk.models import (
19
19
  )
20
20
  from airbyte_cdk.models import Type as MessageType
21
21
  from airbyte_cdk.sources.connector_state_manager import ConnectorStateManager
22
- from airbyte_cdk.sources.message import MessageRepository
22
+ from airbyte_cdk.sources.message import InMemoryMessageRepository, MessageRepository
23
23
  from airbyte_cdk.sources.source import Source
24
24
  from airbyte_cdk.sources.streams import Stream
25
25
  from airbyte_cdk.sources.streams.core import StreamData
@@ -31,6 +31,8 @@ from airbyte_cdk.utils.event_timing import create_timer
31
31
  from airbyte_cdk.utils.stream_status_utils import as_airbyte_message as stream_status_as_airbyte_message
32
32
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException
33
33
 
34
+ _default_message_repository = InMemoryMessageRepository()
35
+
34
36
 
35
37
  class AbstractSource(Source, ABC):
36
38
  """
@@ -269,4 +271,4 @@ class AbstractSource(Source, ABC):
269
271
 
270
272
  @property
271
273
  def message_repository(self) -> Union[None, MessageRepository]:
272
- return None
274
+ return _default_message_repository
@@ -46,7 +46,9 @@ class FileBasedStreamConfig(BaseModel):
46
46
  description="The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files.",
47
47
  )
48
48
  primary_key: Optional[str] = Field(
49
- title="Primary Key", description="The column or columns (for a composite key) that serves as the unique identifier of a record."
49
+ title="Primary Key",
50
+ description="The column or columns (for a composite key) that serves as the unique identifier of a record.",
51
+ airbyte_hidden=True, # Users can create/modify primary keys in the connection configuration so we shouldn't duplicate it here.
50
52
  )
51
53
  days_to_sync_if_history_is_full: int = Field(
52
54
  title="Days To Sync If History Is Full",
@@ -0,0 +1,116 @@
1
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
2
+
3
+ """
4
+ The AirbyteEntrypoint is important because it is a service layer that orchestrate how we execute commands from the
5
+ [common interface](https://docs.airbyte.com/understanding-airbyte/airbyte-protocol#common-interface) through the source Python
6
+ implementation. There is some logic about which message we send to the platform and when which is relevant for integration testing. Other
7
+ than that, there are integrations point that are annoying to integrate with using Python code:
8
+ * Sources communicate with the platform using stdout. The implication is that the source could just print every message instead of
9
+ returning things to source.<method> or to using the message repository. WARNING: As part of integration testing, we will not support
10
+ messages that are simply printed. The reason is that capturing stdout relies on overriding sys.stdout (see
11
+ https://docs.python.org/3/library/contextlib.html#contextlib.redirect_stdout) which clashes with how pytest captures logs and brings
12
+ considerations for multithreaded applications. If code you work with uses `print` statements, please migrate to
13
+ source.message_repository to emit those messages
14
+ * The entrypoint interface relies on file being written on the file system
15
+ """
16
+
17
+ import json
18
+ import logging
19
+ import tempfile
20
+ from io import StringIO
21
+ from pathlib import Path
22
+ from typing import Any, List, Mapping, Optional, Union
23
+
24
+ from airbyte_cdk.entrypoint import AirbyteEntrypoint
25
+ from airbyte_cdk.logger import AirbyteLogFormatter
26
+ from airbyte_cdk.sources import Source
27
+ from airbyte_protocol.models import AirbyteLogMessage, AirbyteMessage, ConfiguredAirbyteCatalog, Level, TraceType, Type
28
+ from pydantic.error_wrappers import ValidationError
29
+
30
+
31
+ class EntrypointOutput:
32
+ def __init__(self, messages: List[str]):
33
+ try:
34
+ self._messages = [self._parse_message(message) for message in messages]
35
+ except ValidationError as exception:
36
+ raise ValueError("All messages are expected to be AirbyteMessage") from exception
37
+
38
+ @staticmethod
39
+ def _parse_message(message: str) -> AirbyteMessage:
40
+ try:
41
+ return AirbyteMessage.parse_obj(json.loads(message))
42
+ except (json.JSONDecodeError, ValidationError):
43
+ # The platform assumes that logs that are not of AirbyteMessage format are log messages
44
+ return AirbyteMessage(type=Type.LOG, log=AirbyteLogMessage(level=Level.INFO, message=message))
45
+
46
+ @property
47
+ def records_and_state_messages(self) -> List[AirbyteMessage]:
48
+ return self._get_message_by_types([Type.RECORD, Type.STATE])
49
+
50
+ @property
51
+ def records(self) -> List[AirbyteMessage]:
52
+ return self._get_message_by_types([Type.RECORD])
53
+
54
+ @property
55
+ def state_messages(self) -> List[AirbyteMessage]:
56
+ return self._get_message_by_types([Type.STATE])
57
+
58
+ @property
59
+ def logs(self) -> List[AirbyteMessage]:
60
+ return self._get_message_by_types([Type.LOG])
61
+
62
+ @property
63
+ def trace_messages(self) -> List[AirbyteMessage]:
64
+ return self._get_message_by_types([Type.TRACE])
65
+
66
+ @property
67
+ def analytics_messages(self) -> List[AirbyteMessage]:
68
+ return [message for message in self._get_message_by_types([Type.TRACE]) if message.trace.type == TraceType.ANALYTICS]
69
+
70
+ def _get_message_by_types(self, message_types: List[Type]) -> List[AirbyteMessage]:
71
+ return [message for message in self._messages if message.type in message_types]
72
+
73
+
74
+ def read(source: Source, config: Mapping[str, Any], catalog: ConfiguredAirbyteCatalog, state: Optional[Any] = None) -> EntrypointOutput:
75
+ """
76
+ config and state must be json serializable
77
+ """
78
+ log_capture_buffer = StringIO()
79
+ stream_handler = logging.StreamHandler(log_capture_buffer)
80
+ stream_handler.setLevel(logging.INFO)
81
+ stream_handler.setFormatter(AirbyteLogFormatter())
82
+ parent_logger = logging.getLogger("")
83
+ parent_logger.addHandler(stream_handler)
84
+
85
+ with tempfile.TemporaryDirectory() as tmp_directory:
86
+ tmp_directory_path = Path(tmp_directory)
87
+ args = [
88
+ "read",
89
+ "--config",
90
+ make_file(tmp_directory_path / "config.json", config),
91
+ "--catalog",
92
+ make_file(tmp_directory_path / "catalog.json", catalog.json()),
93
+ ]
94
+ if state:
95
+ args.extend(
96
+ [
97
+ "--state",
98
+ make_file(tmp_directory_path / "state.json", state),
99
+ ]
100
+ )
101
+ source_entrypoint = AirbyteEntrypoint(source)
102
+ parsed_args = source_entrypoint.parse_args(args)
103
+ messages = list(source_entrypoint.run(parsed_args))
104
+ captured_logs = log_capture_buffer.getvalue().split("\n")[:-1]
105
+
106
+ parent_logger.removeHandler(stream_handler)
107
+
108
+ return EntrypointOutput(messages + captured_logs)
109
+
110
+
111
+ def make_file(path: Path, file_contents: Optional[Union[str, Mapping[str, Any], List[Mapping[str, Any]]]]) -> str:
112
+ if isinstance(file_contents, str):
113
+ path.write_text(file_contents)
114
+ else:
115
+ path.write_text(json.dumps(file_contents))
116
+ return str(path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 0.55.3
3
+ Version: 0.55.5
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://github.com/airbytehq/airbyte
6
6
  Author: Airbyte
@@ -246,6 +246,7 @@ airbyte_cdk/sources/utils/slice_logger.py
246
246
  airbyte_cdk/sources/utils/transform.py
247
247
  airbyte_cdk/sources/utils/types.py
248
248
  airbyte_cdk/test/__init__.py
249
+ airbyte_cdk/test/entrypoint_wrapper.py
249
250
  airbyte_cdk/test/http/__init__.py
250
251
  airbyte_cdk/test/http/matcher.py
251
252
  airbyte_cdk/test/http/mocker.py
@@ -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.55.3",
39
+ version="0.55.5",
40
40
  description="A framework for writing Airbyte Connectors.",
41
41
  long_description=README,
42
42
  long_description_content_type="text/markdown",
@@ -100,6 +100,7 @@ single_csv_scenario: TestScenario[InMemoryFilesSource] = (
100
100
  "title": "Primary Key",
101
101
  "description": "The column or columns (for a composite key) that serves as the unique identifier of a record.",
102
102
  "type": "string",
103
+ "airbyte_hidden": True,
103
104
  },
104
105
  "days_to_sync_if_history_is_full": {
105
106
  "title": "Days To Sync If History Is Full",
@@ -81,9 +81,13 @@ class TestScenario(Generic[SourceType]):
81
81
  for stream in self.source.streams(self.config):
82
82
  catalog["streams"].append(
83
83
  {
84
- "stream": stream.name,
84
+ "stream": {
85
+ "name": stream.name,
86
+ "json_schema": {},
87
+ "supported_sync_modes": [sync_mode.value],
88
+ },
85
89
  "sync_mode": sync_mode.value,
86
- "destination_sync_mode": "append",
90
+ "destination_sync_mode": "append"
87
91
  }
88
92
  )
89
93
 
@@ -8,7 +8,6 @@ import pytest
8
8
  from _pytest.capture import CaptureFixture
9
9
  from airbyte_cdk.sources.abstract_source import AbstractSource
10
10
  from freezegun import freeze_time
11
- from pytest import LogCaptureFixture
12
11
  from unit_tests.sources.file_based.scenarios.avro_scenarios import (
13
12
  avro_all_types_scenario,
14
13
  avro_file_with_double_as_number_scenario,
@@ -248,10 +247,8 @@ def test_file_based_discover(capsys: CaptureFixture[str], tmp_path: PosixPath, s
248
247
 
249
248
  @pytest.mark.parametrize("scenario", read_scenarios, ids=[s.name for s in read_scenarios])
250
249
  @freeze_time("2023-06-09T00:00:00Z")
251
- def test_file_based_read(
252
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
253
- ) -> None:
254
- verify_read(capsys, caplog, tmp_path, scenario)
250
+ def test_file_based_read(scenario: TestScenario[AbstractSource]) -> None:
251
+ verify_read(scenario)
255
252
 
256
253
 
257
254
  @pytest.mark.parametrize("scenario", spec_scenarios, ids=[c.name for c in spec_scenarios])
@@ -11,11 +11,12 @@ import pytest
11
11
  from _pytest.capture import CaptureFixture
12
12
  from _pytest.reports import ExceptionInfo
13
13
  from airbyte_cdk.entrypoint import launch
14
- from airbyte_cdk.logger import AirbyteLogFormatter
15
14
  from airbyte_cdk.models import AirbyteAnalyticsTraceMessage, SyncMode
16
15
  from airbyte_cdk.sources import AbstractSource
16
+ from airbyte_cdk.test.entrypoint_wrapper import EntrypointOutput
17
+ from airbyte_cdk.test.entrypoint_wrapper import read as entrypoint_read
17
18
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException
18
- from pytest import LogCaptureFixture
19
+ from airbyte_protocol.models import AirbyteLogMessage, AirbyteMessage, ConfiguredAirbyteCatalog
19
20
  from unit_tests.sources.file_based.scenarios.scenario_builder import TestScenario
20
21
 
21
22
 
@@ -37,58 +38,51 @@ def verify_discover(capsys: CaptureFixture[str], tmp_path: PosixPath, scenario:
37
38
  _verify_expected_logs(logs, discover_logs)
38
39
 
39
40
 
40
- def verify_read(
41
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
42
- ) -> None:
43
- caplog.handler.setFormatter(AirbyteLogFormatter())
41
+ def verify_read(scenario: TestScenario[AbstractSource]) -> None:
44
42
  if scenario.incremental_scenario_config:
45
- run_test_read_incremental(capsys, caplog, tmp_path, scenario)
43
+ run_test_read_incremental(scenario)
46
44
  else:
47
- run_test_read_full_refresh(capsys, caplog, tmp_path, scenario)
45
+ run_test_read_full_refresh(scenario)
48
46
 
49
47
 
50
- def run_test_read_full_refresh(
51
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
52
- ) -> None:
48
+ def run_test_read_full_refresh(scenario: TestScenario[AbstractSource]) -> None:
53
49
  expected_exc, expected_msg = scenario.expected_read_error
54
50
  if expected_exc:
55
51
  with pytest.raises(expected_exc) as exc: # noqa
56
- read(capsys, caplog, tmp_path, scenario)
52
+ read(scenario)
57
53
  if expected_msg:
58
54
  assert expected_msg in get_error_message_from_exc(exc)
59
55
  else:
60
- output = read(capsys, caplog, tmp_path, scenario)
56
+ output = read(scenario)
61
57
  _verify_read_output(output, scenario)
62
58
 
63
59
 
64
- def run_test_read_incremental(
65
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
66
- ) -> None:
60
+ def run_test_read_incremental(scenario: TestScenario[AbstractSource]) -> None:
67
61
  expected_exc, expected_msg = scenario.expected_read_error
68
62
  if expected_exc:
69
63
  with pytest.raises(expected_exc):
70
- read_with_state(capsys, caplog, tmp_path, scenario)
64
+ read_with_state(scenario)
71
65
  else:
72
- output = read_with_state(capsys, caplog, tmp_path, scenario)
66
+ output = read_with_state(scenario)
73
67
  _verify_read_output(output, scenario)
74
68
 
75
69
 
76
- def _verify_read_output(output: Dict[str, Any], scenario: TestScenario[AbstractSource]) -> None:
77
- records, logs = output["records"], output["logs"]
78
- logs = [log for log in logs if log.get("level") in scenario.log_levels]
70
+ def _verify_read_output(output: EntrypointOutput, scenario: TestScenario[AbstractSource]) -> None:
71
+ records, log_messages = output.records_and_state_messages, output.logs
72
+ logs = [message.log for message in log_messages if message.log.level.value in scenario.log_levels]
79
73
  expected_records = scenario.expected_records
80
74
  assert len(records) == len(expected_records)
81
75
  for actual, expected in zip(records, expected_records):
82
- if "record" in actual:
83
- assert len(actual["record"]["data"]) == len(expected["data"])
84
- for key, value in actual["record"]["data"].items():
76
+ if actual.record:
77
+ assert len(actual.record.data) == len(expected["data"])
78
+ for key, value in actual.record.data.items():
85
79
  if isinstance(value, float):
86
80
  assert math.isclose(value, expected["data"][key], abs_tol=1e-04)
87
81
  else:
88
82
  assert value == expected["data"][key]
89
- assert actual["record"]["stream"] == expected["stream"]
90
- elif "state" in actual:
91
- assert actual["state"]["data"] == expected
83
+ assert actual.record.stream == expected["stream"]
84
+ elif actual.state:
85
+ assert actual.state.data == expected
92
86
 
93
87
  if scenario.expected_logs:
94
88
  read_logs = scenario.expected_logs.get("read")
@@ -96,25 +90,25 @@ def _verify_read_output(output: Dict[str, Any], scenario: TestScenario[AbstractS
96
90
  _verify_expected_logs(logs, read_logs)
97
91
 
98
92
  if scenario.expected_analytics:
99
- analytics = output["analytics"]
93
+ analytics = output.analytics_messages
100
94
 
101
95
  _verify_analytics(analytics, scenario.expected_analytics)
102
96
 
103
97
 
104
- def _verify_analytics(analytics: List[Dict[str, Any]], expected_analytics: Optional[List[AirbyteAnalyticsTraceMessage]]) -> None:
98
+ def _verify_analytics(analytics: List[AirbyteMessage], expected_analytics: Optional[List[AirbyteAnalyticsTraceMessage]]) -> None:
105
99
  if expected_analytics:
106
100
  for actual, expected in zip(analytics, expected_analytics):
107
- actual_type, actual_value = actual["type"], actual["value"]
101
+ actual_type, actual_value = actual.trace.analytics.type, actual.trace.analytics.value
108
102
  expected_type = expected.type
109
103
  expected_value = expected.value
110
104
  assert actual_type == expected_type
111
105
  assert actual_value == expected_value
112
106
 
113
107
 
114
- def _verify_expected_logs(logs: List[Dict[str, Any]], expected_logs: Optional[List[Mapping[str, Any]]]) -> None:
108
+ def _verify_expected_logs(logs: List[AirbyteLogMessage], expected_logs: Optional[List[Mapping[str, Any]]]) -> None:
115
109
  if expected_logs:
116
110
  for actual, expected in zip(logs, expected_logs):
117
- actual_level, actual_message = actual["level"], actual["message"]
111
+ actual_level, actual_message = actual.level.value, actual.message
118
112
  expected_level = expected["level"]
119
113
  expected_message = expected["message"]
120
114
  assert actual_level == expected_level
@@ -172,55 +166,21 @@ def discover(capsys: CaptureFixture[str], tmp_path: PosixPath, scenario: TestSce
172
166
  }
173
167
 
174
168
 
175
- def read(
176
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
177
- ) -> Dict[str, Any]:
178
- with caplog.handler.stream as logger_stream:
179
- launch(
180
- scenario.source,
181
- [
182
- "read",
183
- "--config",
184
- make_file(tmp_path / "config.json", scenario.config),
185
- "--catalog",
186
- make_file(tmp_path / "catalog.json", scenario.configured_catalog(SyncMode.full_refresh)),
187
- ],
188
- )
189
- captured = capsys.readouterr().out.splitlines() + logger_stream.getvalue().split("\n")[:-1]
190
-
191
- return {
192
- "records": [msg for msg in (json.loads(line) for line in captured) if msg["type"] == "RECORD"],
193
- "logs": [msg["log"] for msg in (json.loads(line) for line in captured) if msg["type"] == "LOG"],
194
- "analytics": [
195
- msg["trace"]["analytics"]
196
- for msg in (json.loads(line) for line in captured)
197
- if msg["type"] == "TRACE" and msg["trace"]["type"] == "ANALYTICS"
198
- ],
199
- }
200
-
201
-
202
- def read_with_state(
203
- capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario[AbstractSource]
204
- ) -> Dict[str, List[Any]]:
205
- launch(
169
+ def read(scenario: TestScenario[AbstractSource]) -> EntrypointOutput:
170
+ return entrypoint_read(
206
171
  scenario.source,
207
- [
208
- "read",
209
- "--config",
210
- make_file(tmp_path / "config.json", scenario.config),
211
- "--catalog",
212
- make_file(tmp_path / "catalog.json", scenario.configured_catalog(SyncMode.incremental)),
213
- "--state",
214
- make_file(tmp_path / "state.json", scenario.input_state()),
215
- ],
172
+ scenario.config,
173
+ ConfiguredAirbyteCatalog.parse_obj(scenario.configured_catalog(SyncMode.full_refresh)),
174
+ )
175
+
176
+
177
+ def read_with_state(scenario: TestScenario[AbstractSource]) -> EntrypointOutput:
178
+ return entrypoint_read(
179
+ scenario.source,
180
+ scenario.config,
181
+ ConfiguredAirbyteCatalog.parse_obj(scenario.configured_catalog(SyncMode.incremental)),
182
+ scenario.input_state(),
216
183
  )
217
- captured = capsys.readouterr()
218
- logs = caplog.records
219
- return {
220
- "records": [msg for msg in (json.loads(line) for line in captured.out.splitlines()) if msg["type"] in ("RECORD", "STATE")],
221
- "logs": [msg["log"] for msg in (json.loads(line) for line in captured.out.splitlines()) if msg["type"] == "LOG"]
222
- + [{"level": log.levelname, "message": log.message} for log in logs],
223
- }
224
184
 
225
185
 
226
186
  def make_file(path: Path, file_contents: Optional[Union[Mapping[str, Any], List[Mapping[str, Any]]]]) -> str:
@@ -7,7 +7,6 @@ from pathlib import PosixPath
7
7
  import pytest
8
8
  from _pytest.capture import CaptureFixture
9
9
  from freezegun import freeze_time
10
- from pytest import LogCaptureFixture
11
10
  from unit_tests.sources.file_based.scenarios.scenario_builder import TestScenario
12
11
  from unit_tests.sources.file_based.test_scenarios import verify_discover, verify_read
13
12
  from unit_tests.sources.streams.concurrent.scenarios.incremental_scenarios import (
@@ -68,8 +67,8 @@ scenarios = [
68
67
 
69
68
  @pytest.mark.parametrize("scenario", scenarios, ids=[s.name for s in scenarios])
70
69
  @freeze_time("2023-06-09T00:00:00Z")
71
- def test_concurrent_read(capsys: CaptureFixture[str], caplog: LogCaptureFixture, tmp_path: PosixPath, scenario: TestScenario) -> None:
72
- verify_read(capsys, caplog, tmp_path, scenario)
70
+ def test_concurrent_read(scenario: TestScenario) -> None:
71
+ verify_read(scenario)
73
72
 
74
73
 
75
74
  @pytest.mark.parametrize("scenario", scenarios, ids=[s.name for s in scenarios])
File without changes
File without changes