airbyte-cdk 6.43.1__tar.gz → 6.44.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/checks/__init__.py +5 -2
  3. airbyte_cdk-6.44.0/airbyte_cdk/sources/declarative/checks/check_stream.py +158 -0
  4. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +22 -1
  5. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +20 -7
  6. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +39 -3
  7. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/pyproject.toml +1 -1
  8. airbyte_cdk-6.43.1/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -56
  9. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/LICENSE.txt +0 -0
  10. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/LICENSE_SHORT +0 -0
  11. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/README.md +0 -0
  12. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/__init__.py +0 -0
  13. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/cli/__init__.py +0 -0
  14. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  15. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  16. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  17. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/config_observation.py +0 -0
  18. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector.py +0 -0
  19. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/README.md +0 -0
  20. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/__init__.py +0 -0
  21. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  22. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/main.py +0 -0
  23. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/models.py +0 -0
  24. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  25. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  26. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  27. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  28. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  29. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/__init__.py +0 -0
  30. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/destination.py +0 -0
  31. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  32. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  33. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  34. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  35. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  36. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  37. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  38. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  39. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  40. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/entrypoint.py +0 -0
  41. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/exception_handler.py +0 -0
  42. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/logger.py +0 -0
  43. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/models/__init__.py +0 -0
  44. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  45. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  46. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
  47. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/models/well_known_types.py +0 -0
  48. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/py.typed +0 -0
  49. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/__init__.py +0 -0
  50. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/abstract_source.py +0 -0
  51. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  52. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  53. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  54. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  55. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  56. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  57. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  58. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/config.py +0 -0
  59. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  60. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  61. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  62. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  63. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  64. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  65. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  66. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  67. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  68. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  69. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  70. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  71. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  72. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  73. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  74. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  75. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  76. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  77. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  78. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  79. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  80. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  81. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  82. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  83. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  84. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  85. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  86. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  87. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  88. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  89. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  90. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  91. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  92. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  93. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  94. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  95. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  96. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  97. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  98. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  99. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  100. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  101. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  102. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  103. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  104. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  105. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  106. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  107. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  108. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  109. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  110. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  111. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  112. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  113. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  114. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  115. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  116. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  117. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  118. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  119. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  120. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  121. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  122. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  123. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  124. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  125. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  126. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  127. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  128. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  129. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  130. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  131. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  132. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  133. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  134. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  135. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  136. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  137. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  138. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  139. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  140. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  141. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  142. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  143. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  144. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  145. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  146. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  147. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  148. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  149. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  150. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  151. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  152. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  153. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  154. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  155. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  156. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  157. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  158. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  159. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  160. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  161. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  162. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  163. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  164. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  165. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  166. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  167. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  168. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  169. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  170. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  171. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  172. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  173. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  174. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  175. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  176. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  177. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  178. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  179. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  180. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  181. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  182. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  183. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  184. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  185. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  186. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  187. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  188. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  189. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  190. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  191. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  192. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  193. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  194. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  195. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  196. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  197. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  198. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  199. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  200. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  201. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  202. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  203. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/types.py +0 -0
  204. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  205. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/README.md +0 -0
  206. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  207. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  208. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  209. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  210. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  211. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  212. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  213. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  214. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  215. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  216. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  217. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  218. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  219. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  220. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  221. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  222. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  223. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  224. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  225. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  226. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  227. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  228. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  229. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  230. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  231. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  232. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  233. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  234. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  235. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  236. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  237. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  238. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  239. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  240. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  241. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  242. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  243. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  244. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  245. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  246. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  247. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  248. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  249. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  250. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  251. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  252. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  253. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  254. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  255. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/file_based/types.py +0 -0
  256. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/http_config.py +0 -0
  257. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/http_logger.py +0 -0
  258. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/message/__init__.py +0 -0
  259. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/message/repository.py +0 -0
  260. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/source.py +0 -0
  261. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  262. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/__init__.py +0 -0
  263. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  264. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  265. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  266. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  267. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  268. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  269. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  270. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  271. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  272. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  273. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  274. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  275. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  276. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  277. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  278. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  279. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  280. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  281. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  282. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  283. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  284. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  285. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  286. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  287. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  288. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  289. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  290. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  291. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  292. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  293. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  294. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/core.py +0 -0
  295. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  296. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  297. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  298. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  299. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  300. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  301. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  302. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  303. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  304. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  305. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  306. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  307. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/http.py +0 -0
  308. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  309. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  310. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  311. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  312. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  313. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  314. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  315. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  316. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  317. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/types.py +0 -0
  318. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/__init__.py +0 -0
  319. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/casing.py +0 -0
  320. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  321. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  322. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  323. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/transform.py +0 -0
  324. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sources/utils/types.py +0 -0
  325. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/__init__.py +0 -0
  326. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/_util/__init__.py +0 -0
  327. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/_util/hashing.py +0 -0
  328. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  329. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/constants.py +0 -0
  330. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/exceptions.py +0 -0
  331. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/secrets.py +0 -0
  332. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/shared/__init__.py +0 -0
  333. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  334. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  335. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/sql/types.py +0 -0
  336. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/__init__.py +0 -0
  337. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/catalog_builder.py +0 -0
  338. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  339. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  340. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  341. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  342. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/request.py +0 -0
  343. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/response.py +0 -0
  344. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  345. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/state_builder.py +0 -0
  346. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/utils/__init__.py +0 -0
  347. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/utils/data.py +0 -0
  348. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  349. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  350. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/test/utils/reading.py +0 -0
  351. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/__init__.py +0 -0
  352. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  353. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/analytics_message.py +0 -0
  354. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/constants.py +0 -0
  355. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  356. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  357. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/event_timing.py +0 -0
  358. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  359. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  360. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/message_utils.py +0 -0
  361. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  362. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/print_buffer.py +0 -0
  363. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  364. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/slice_hasher.py +0 -0
  365. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  366. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  367. {airbyte_cdk-6.43.1 → airbyte_cdk-6.44.0}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.43.1
3
+ Version: 6.44.0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -7,7 +7,10 @@ from typing import Mapping
7
7
  from pydantic.v1 import BaseModel
8
8
 
9
9
  from airbyte_cdk.sources.declarative.checks.check_dynamic_stream import CheckDynamicStream
10
- from airbyte_cdk.sources.declarative.checks.check_stream import CheckStream
10
+ from airbyte_cdk.sources.declarative.checks.check_stream import (
11
+ CheckStream,
12
+ DynamicStreamCheckConfig,
13
+ )
11
14
  from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12
15
  from airbyte_cdk.sources.declarative.models import (
13
16
  CheckDynamicStream as CheckDynamicStreamModel,
@@ -21,4 +24,4 @@ COMPONENTS_CHECKER_TYPE_MAPPING: Mapping[str, type[BaseModel]] = {
21
24
  "CheckDynamicStream": CheckDynamicStreamModel,
22
25
  }
23
26
 
24
- __all__ = ["CheckStream", "CheckDynamicStream", "ConnectionChecker"]
27
+ __all__ = ["CheckStream", "CheckDynamicStream", "ConnectionChecker", "DynamicStreamCheckConfig"]
@@ -0,0 +1,158 @@
1
+ #
2
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ import logging
6
+ import traceback
7
+ from dataclasses import InitVar, dataclass
8
+ from typing import Any, Dict, List, Mapping, Optional, Tuple
9
+
10
+ from airbyte_cdk import AbstractSource
11
+ from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12
+ from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
13
+
14
+
15
+ @dataclass(frozen=True)
16
+ class DynamicStreamCheckConfig:
17
+ """Defines the configuration for dynamic stream during connection checking. This class specifies
18
+ what dynamic streams in the stream template should be updated with value, supporting dynamic interpolation
19
+ and type enforcement."""
20
+
21
+ dynamic_stream_name: str
22
+ stream_count: int = 0
23
+
24
+
25
+ @dataclass
26
+ class CheckStream(ConnectionChecker):
27
+ """
28
+ Checks the connections by checking availability of one or many streams selected by the developer
29
+
30
+ Attributes:
31
+ stream_name (List[str]): names of streams to check
32
+ """
33
+
34
+ stream_names: List[str]
35
+ parameters: InitVar[Mapping[str, Any]]
36
+ dynamic_streams_check_configs: Optional[List[DynamicStreamCheckConfig]] = None
37
+
38
+ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
39
+ self._parameters = parameters
40
+ if self.dynamic_streams_check_configs is None:
41
+ self.dynamic_streams_check_configs = []
42
+
43
+ def _log_error(self, logger: logging.Logger, action: str, error: Exception) -> Tuple[bool, str]:
44
+ """Logs an error and returns a formatted error message."""
45
+ error_message = f"Encountered an error while {action}. Error: {error}"
46
+ logger.error(error_message + f"Error traceback: \n {traceback.format_exc()}", exc_info=True)
47
+ return False, error_message
48
+
49
+ def check_connection(
50
+ self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
51
+ ) -> Tuple[bool, Any]:
52
+ """Checks the connection to the source and its streams."""
53
+ try:
54
+ streams = source.streams(config=config)
55
+ if not streams:
56
+ return False, f"No streams to connect to from source {source}"
57
+ except Exception as error:
58
+ return self._log_error(logger, "discovering streams", error)
59
+
60
+ stream_name_to_stream = {s.name: s for s in streams}
61
+ for stream_name in self.stream_names:
62
+ if stream_name not in stream_name_to_stream:
63
+ raise ValueError(
64
+ f"{stream_name} is not part of the catalog. Expected one of {list(stream_name_to_stream.keys())}."
65
+ )
66
+
67
+ stream_availability, message = self._check_stream_availability(
68
+ stream_name_to_stream, stream_name, logger
69
+ )
70
+ if not stream_availability:
71
+ return stream_availability, message
72
+
73
+ should_check_dynamic_streams = (
74
+ hasattr(source, "resolved_manifest")
75
+ and hasattr(source, "dynamic_streams")
76
+ and self.dynamic_streams_check_configs
77
+ )
78
+
79
+ if should_check_dynamic_streams:
80
+ return self._check_dynamic_streams_availability(source, stream_name_to_stream, logger)
81
+
82
+ return True, None
83
+
84
+ def _check_stream_availability(
85
+ self, stream_name_to_stream: Dict[str, Any], stream_name: str, logger: logging.Logger
86
+ ) -> Tuple[bool, Any]:
87
+ """Checks if streams are available."""
88
+ availability_strategy = HttpAvailabilityStrategy()
89
+ try:
90
+ stream = stream_name_to_stream[stream_name]
91
+ stream_is_available, reason = availability_strategy.check_availability(stream, logger)
92
+ if not stream_is_available:
93
+ message = f"Stream {stream_name} is not available: {reason}"
94
+ logger.warning(message)
95
+ return stream_is_available, message
96
+ except Exception as error:
97
+ return self._log_error(logger, f"checking availability of stream {stream_name}", error)
98
+ return True, None
99
+
100
+ def _check_dynamic_streams_availability(
101
+ self, source: AbstractSource, stream_name_to_stream: Dict[str, Any], logger: logging.Logger
102
+ ) -> Tuple[bool, Any]:
103
+ """Checks the availability of dynamic streams."""
104
+ dynamic_streams = source.resolved_manifest.get("dynamic_streams", []) # type: ignore[attr-defined] # The source's resolved_manifest manifest is checked before calling this method
105
+ dynamic_stream_name_to_dynamic_stream = {
106
+ ds.get("name", f"dynamic_stream_{i}"): ds for i, ds in enumerate(dynamic_streams)
107
+ }
108
+ generated_streams = self._map_generated_streams(source.dynamic_streams) # type: ignore[attr-defined] # The source's dynamic_streams manifest is checked before calling this method
109
+
110
+ for check_config in self.dynamic_streams_check_configs: # type: ignore[union-attr] # None value for self.dynamic_streams_check_configs handled in __post_init__
111
+ if check_config.dynamic_stream_name not in dynamic_stream_name_to_dynamic_stream:
112
+ return (
113
+ False,
114
+ f"Dynamic stream {check_config.dynamic_stream_name} is not found in manifest.",
115
+ )
116
+
117
+ generated = generated_streams.get(check_config.dynamic_stream_name, [])
118
+ stream_availability, message = self._check_generated_streams_availability(
119
+ generated, stream_name_to_stream, logger, check_config.stream_count
120
+ )
121
+ if not stream_availability:
122
+ return stream_availability, message
123
+
124
+ return True, None
125
+
126
+ def _map_generated_streams(
127
+ self, dynamic_streams: List[Dict[str, Any]]
128
+ ) -> Dict[str, List[Dict[str, Any]]]:
129
+ """Maps dynamic stream names to their corresponding generated streams."""
130
+ mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
131
+ for stream in dynamic_streams:
132
+ mapped_streams.setdefault(stream["dynamic_stream_name"], []).append(stream)
133
+ return mapped_streams
134
+
135
+ def _check_generated_streams_availability(
136
+ self,
137
+ generated_streams: List[Dict[str, Any]],
138
+ stream_name_to_stream: Dict[str, Any],
139
+ logger: logging.Logger,
140
+ max_count: int,
141
+ ) -> Tuple[bool, Any]:
142
+ """Checks availability of generated dynamic streams."""
143
+ availability_strategy = HttpAvailabilityStrategy()
144
+ for declarative_stream in generated_streams[: min(max_count, len(generated_streams))]:
145
+ stream = stream_name_to_stream[declarative_stream["name"]]
146
+ try:
147
+ stream_is_available, reason = availability_strategy.check_availability(
148
+ stream, logger
149
+ )
150
+ if not stream_is_available:
151
+ message = f"Dynamic Stream {stream.name} is not available: {reason}"
152
+ logger.warning(message)
153
+ return False, message
154
+ except Exception as error:
155
+ return self._log_error(
156
+ logger, f"checking availability of dynamic stream {stream.name}", error
157
+ )
158
+ return True, None
@@ -316,7 +316,6 @@ definitions:
316
316
  type: object
317
317
  required:
318
318
  - type
319
- - stream_names
320
319
  properties:
321
320
  type:
322
321
  type: string
@@ -330,6 +329,28 @@ definitions:
330
329
  examples:
331
330
  - ["users"]
332
331
  - ["users", "contacts"]
332
+ dynamic_streams_check_configs:
333
+ type: array
334
+ items:
335
+ "$ref": "#/definitions/DynamicStreamCheckConfig"
336
+ DynamicStreamCheckConfig:
337
+ type: object
338
+ required:
339
+ - type
340
+ - dynamic_stream_name
341
+ properties:
342
+ type:
343
+ type: string
344
+ enum: [ DynamicStreamCheckConfig ]
345
+ dynamic_stream_name:
346
+ title: Dynamic Stream Name
347
+ description: The dynamic stream name.
348
+ type: string
349
+ stream_count:
350
+ title: Stream Count
351
+ description: The number of streams to attempt reading from during a check operation. If `stream_count` exceeds the total number of available streams, the minimum of the two values will be used.
352
+ type: integer
353
+ default: 0
333
354
  CheckDynamicStream:
334
355
  title: Dynamic Streams to Check
335
356
  description: (This component is experimental. Use at your own risk.) Defines the dynamic streams to try reading when running a check operation.
@@ -42,13 +42,15 @@ class BearerAuthenticator(BaseModel):
42
42
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
43
43
 
44
44
 
45
- class CheckStream(BaseModel):
46
- type: Literal["CheckStream"]
47
- stream_names: List[str] = Field(
48
- ...,
49
- description="Names of the streams to try reading from when running a check operation.",
50
- examples=[["users"], ["users", "contacts"]],
51
- title="Stream Names",
45
+ class DynamicStreamCheckConfig(BaseModel):
46
+ type: Literal["DynamicStreamCheckConfig"]
47
+ dynamic_stream_name: str = Field(
48
+ ..., description="The dynamic stream name.", title="Dynamic Stream Name"
49
+ )
50
+ stream_count: Optional[int] = Field(
51
+ 0,
52
+ description="Numbers of the streams to try reading from when running a check operation.",
53
+ title="Stream Count",
52
54
  )
53
55
 
54
56
 
@@ -1523,6 +1525,17 @@ class AuthFlow(BaseModel):
1523
1525
  oauth_config_specification: Optional[OAuthConfigSpecification] = None
1524
1526
 
1525
1527
 
1528
+ class CheckStream(BaseModel):
1529
+ type: Literal["CheckStream"]
1530
+ stream_names: Optional[List[str]] = Field(
1531
+ None,
1532
+ description="Names of the streams to try reading from when running a check operation.",
1533
+ examples=[["users"], ["users", "contacts"]],
1534
+ title="Stream Names",
1535
+ )
1536
+ dynamic_streams_check_configs: Optional[List[DynamicStreamCheckConfig]] = None
1537
+
1538
+
1526
1539
  class IncrementingCountCursor(BaseModel):
1527
1540
  type: Literal["IncrementingCountCursor"]
1528
1541
  cursor_field: str = Field(
@@ -54,7 +54,11 @@ from airbyte_cdk.sources.declarative.auth.token_provider import (
54
54
  SessionTokenProvider,
55
55
  TokenProvider,
56
56
  )
57
- from airbyte_cdk.sources.declarative.checks import CheckDynamicStream, CheckStream
57
+ from airbyte_cdk.sources.declarative.checks import (
58
+ CheckDynamicStream,
59
+ CheckStream,
60
+ DynamicStreamCheckConfig,
61
+ )
58
62
  from airbyte_cdk.sources.declarative.concurrency_level import ConcurrencyLevel
59
63
  from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
60
64
  from airbyte_cdk.sources.declarative.declarative_stream import DeclarativeStream
@@ -218,6 +222,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
218
222
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
219
223
  DynamicSchemaLoader as DynamicSchemaLoaderModel,
220
224
  )
225
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
226
+ DynamicStreamCheckConfig as DynamicStreamCheckConfigModel,
227
+ )
221
228
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
222
229
  ExponentialBackoffStrategy as ExponentialBackoffStrategyModel,
223
230
  )
@@ -559,6 +566,7 @@ class ModelToComponentFactory:
559
566
  BasicHttpAuthenticatorModel: self.create_basic_http_authenticator,
560
567
  BearerAuthenticatorModel: self.create_bearer_authenticator,
561
568
  CheckStreamModel: self.create_check_stream,
569
+ DynamicStreamCheckConfigModel: self.create_dynamic_stream_check_config,
562
570
  CheckDynamicStreamModel: self.create_check_dynamic_stream,
563
571
  CompositeErrorHandlerModel: self.create_composite_error_handler,
564
572
  ConcurrencyLevelModel: self.create_concurrency_level,
@@ -936,8 +944,36 @@ class ModelToComponentFactory:
936
944
  )
937
945
 
938
946
  @staticmethod
939
- def create_check_stream(model: CheckStreamModel, config: Config, **kwargs: Any) -> CheckStream:
940
- return CheckStream(stream_names=model.stream_names, parameters={})
947
+ def create_dynamic_stream_check_config(
948
+ model: DynamicStreamCheckConfigModel, config: Config, **kwargs: Any
949
+ ) -> DynamicStreamCheckConfig:
950
+ return DynamicStreamCheckConfig(
951
+ dynamic_stream_name=model.dynamic_stream_name,
952
+ stream_count=model.stream_count or 0,
953
+ )
954
+
955
+ def create_check_stream(
956
+ self, model: CheckStreamModel, config: Config, **kwargs: Any
957
+ ) -> CheckStream:
958
+ if model.dynamic_streams_check_configs is None and model.stream_names is None:
959
+ raise ValueError(
960
+ "Expected either stream_names or dynamic_streams_check_configs to be set for CheckStream"
961
+ )
962
+
963
+ dynamic_streams_check_configs = (
964
+ [
965
+ self._create_component_from_model(model=dynamic_stream_check_config, config=config)
966
+ for dynamic_stream_check_config in model.dynamic_streams_check_configs
967
+ ]
968
+ if model.dynamic_streams_check_configs
969
+ else []
970
+ )
971
+
972
+ return CheckStream(
973
+ stream_names=model.stream_names or [],
974
+ dynamic_streams_check_configs=dynamic_streams_check_configs,
975
+ parameters={},
976
+ )
941
977
 
942
978
  @staticmethod
943
979
  def create_check_dynamic_stream(
@@ -23,7 +23,7 @@ classifiers = [
23
23
  keywords = ["airbyte", "connector-development-kit", "cdk"]
24
24
 
25
25
  # Python CDK uses dynamic versioning: https://github.com/mtkennerly/poetry-dynamic-versioning
26
- version = "6.43.1" # Version will be calculated dynamically.
26
+ version = "6.44.0" # Version will be calculated dynamically.
27
27
 
28
28
  [tool.poetry-dynamic-versioning]
29
29
  enable = false
@@ -1,56 +0,0 @@
1
- #
2
- # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
- #
4
-
5
- import logging
6
- import traceback
7
- from dataclasses import InitVar, dataclass
8
- from typing import Any, List, Mapping, Tuple
9
-
10
- from airbyte_cdk import AbstractSource
11
- from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12
- from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
13
-
14
-
15
- @dataclass
16
- class CheckStream(ConnectionChecker):
17
- """
18
- Checks the connections by checking availability of one or many streams selected by the developer
19
-
20
- Attributes:
21
- stream_name (List[str]): names of streams to check
22
- """
23
-
24
- stream_names: List[str]
25
- parameters: InitVar[Mapping[str, Any]]
26
-
27
- def __post_init__(self, parameters: Mapping[str, Any]) -> None:
28
- self._parameters = parameters
29
-
30
- def check_connection(
31
- self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
32
- ) -> Tuple[bool, Any]:
33
- streams = source.streams(config=config)
34
- stream_name_to_stream = {s.name: s for s in streams}
35
- if len(streams) == 0:
36
- return False, f"No streams to connect to from source {source}"
37
- for stream_name in self.stream_names:
38
- if stream_name not in stream_name_to_stream.keys():
39
- raise ValueError(
40
- f"{stream_name} is not part of the catalog. Expected one of {stream_name_to_stream.keys()}."
41
- )
42
-
43
- stream = stream_name_to_stream[stream_name]
44
- availability_strategy = HttpAvailabilityStrategy()
45
- try:
46
- stream_is_available, reason = availability_strategy.check_availability(
47
- stream, logger
48
- )
49
- if not stream_is_available:
50
- return False, reason
51
- except Exception as error:
52
- logger.error(
53
- f"Encountered an error trying to connect to stream {stream_name}. Error: \n {traceback.format_exc()}"
54
- )
55
- return False, f"Unable to connect to stream {stream_name} - {error}"
56
- return True, None
File without changes
File without changes
File without changes