airbyte-cdk 6.60.9__tar.gz → 6.60.11__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 (433) hide show
  1. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/_connector.py +10 -0
  3. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/_image.py +12 -1
  4. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +6 -9
  5. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/checks/check_stream.py +31 -12
  6. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -6
  7. airbyte_cdk-6.60.11/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +7 -0
  8. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +1 -27
  9. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -1
  10. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -2
  11. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/availability_strategy.py +1 -0
  12. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +6 -6
  13. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -43
  14. airbyte_cdk-6.60.11/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +37 -0
  15. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/default_stream.py +32 -9
  16. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/models/scenario.py +5 -0
  17. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/pytest_hooks.py +18 -3
  18. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/pyproject.toml +1 -1
  19. airbyte_cdk-6.60.9/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -11
  20. airbyte_cdk-6.60.9/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -94
  21. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/LICENSE.txt +0 -0
  22. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/LICENSE_SHORT +0 -0
  23. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/README.md +0 -0
  24. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/__init__.py +0 -0
  25. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/__init__.py +0 -0
  26. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  27. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  28. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
  29. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  30. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  31. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
  32. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  33. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  34. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  35. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/config_observation.py +0 -0
  36. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector.py +0 -0
  37. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/README.md +0 -0
  38. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/__init__.py +0 -0
  39. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  40. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/main.py +0 -0
  41. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/models.py +0 -0
  42. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  43. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  44. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  45. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  46. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  47. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/__init__.py +0 -0
  48. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/destination.py +0 -0
  49. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  50. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  51. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  52. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  53. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  54. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  55. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  56. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  57. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  58. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/entrypoint.py +0 -0
  59. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/exception_handler.py +0 -0
  60. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/logger.py +0 -0
  61. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/README.md +0 -0
  62. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  63. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  64. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  65. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  66. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  67. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  68. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  69. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  70. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  71. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  72. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/models/__init__.py +0 -0
  73. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  74. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  75. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/models/connector_metadata.py +0 -0
  76. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/models/well_known_types.py +0 -0
  77. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/py.typed +0 -0
  78. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/__init__.py +0 -0
  79. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/abstract_source.py +0 -0
  80. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  81. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  82. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  83. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  84. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  85. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  86. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  87. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/config.py +0 -0
  88. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  89. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  90. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  91. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  92. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  93. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  94. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  95. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  96. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  97. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  98. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  99. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  100. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  101. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  102. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  103. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  104. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  105. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  106. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  107. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  108. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  109. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  110. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  111. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  112. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  113. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  114. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  115. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  116. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  117. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  118. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  119. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  120. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  121. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  122. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  123. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  124. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  125. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  126. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  127. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  128. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  129. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  130. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  131. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  132. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  133. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  134. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  135. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  136. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  137. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  138. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  139. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  140. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  141. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  142. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  143. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  144. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  145. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  146. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  147. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  148. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  149. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  150. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  151. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  152. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  153. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  154. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  155. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  156. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  157. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  158. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  159. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  160. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  161. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  162. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  163. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  164. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  165. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  166. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  167. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  168. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  169. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  170. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  171. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  172. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  173. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  174. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  175. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  176. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  177. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  178. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  179. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  180. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  181. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  182. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  183. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  184. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  185. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  186. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  187. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  188. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  189. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  190. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  191. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  192. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  193. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  194. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  195. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  196. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  197. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  198. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  199. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  200. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
  201. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
  202. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  203. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  204. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  205. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  206. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  207. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  208. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  209. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  210. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  211. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  212. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  213. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  214. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  215. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  216. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  217. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  218. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  219. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
  220. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  221. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  222. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  223. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  224. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  225. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  226. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  227. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  228. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  229. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  230. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  231. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  232. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  233. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  234. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  235. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  236. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  237. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  238. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  239. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  240. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  241. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  242. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  243. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
  244. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  245. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  246. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  247. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  248. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  249. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  250. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  251. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  252. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  253. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  254. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  255. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  256. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  257. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  258. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/types.py +0 -0
  259. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  260. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  261. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  262. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  263. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  264. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  265. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  266. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/README.md +0 -0
  267. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  268. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  269. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  270. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  271. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  272. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  273. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  274. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  275. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  276. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  277. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  278. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  279. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  280. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  281. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  282. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  283. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  284. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  285. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  286. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  287. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  288. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  289. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  290. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  291. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  292. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  293. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  294. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  295. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  296. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  297. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  298. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  299. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  300. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  301. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  302. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  303. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  304. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  305. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  306. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  307. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  308. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  309. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  310. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  311. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  312. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  313. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/file_based/types.py +0 -0
  314. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/http_config.py +0 -0
  315. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/http_logger.py +0 -0
  316. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/message/__init__.py +0 -0
  317. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/message/repository.py +0 -0
  318. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/source.py +0 -0
  319. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  320. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/__init__.py +0 -0
  321. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  322. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  323. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  324. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  325. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  326. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  327. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  328. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  329. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  330. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  331. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  332. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  333. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  334. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  335. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  336. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  337. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  338. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  339. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  340. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  341. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  342. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  343. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  344. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  345. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  346. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  347. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/core.py +0 -0
  348. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  349. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  350. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  351. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  352. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  353. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  354. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  355. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  356. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  357. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  358. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  359. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  360. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/http.py +0 -0
  361. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  362. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  363. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  364. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  365. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  366. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  367. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  368. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  369. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  370. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/types.py +0 -0
  371. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/__init__.py +0 -0
  372. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/casing.py +0 -0
  373. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  374. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  375. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  376. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  377. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/transform.py +0 -0
  378. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sources/utils/types.py +0 -0
  379. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/__init__.py +0 -0
  380. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/_util/__init__.py +0 -0
  381. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/_util/hashing.py +0 -0
  382. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  383. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/constants.py +0 -0
  384. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/exceptions.py +0 -0
  385. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/secrets.py +0 -0
  386. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/shared/__init__.py +0 -0
  387. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  388. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  389. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/sql/types.py +0 -0
  390. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/__init__.py +0 -0
  391. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/catalog_builder.py +0 -0
  392. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  393. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  394. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  395. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  396. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/request.py +0 -0
  397. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/response.py +0 -0
  398. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  399. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/models/__init__.py +0 -0
  400. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/models/outcome.py +0 -0
  401. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  402. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
  403. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
  404. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  405. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  406. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/docker_base.py +0 -0
  407. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  408. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/standard_tests/util.py +0 -0
  409. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/state_builder.py +0 -0
  410. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/utils/__init__.py +0 -0
  411. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/utils/data.py +0 -0
  412. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  413. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  414. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/test/utils/reading.py +0 -0
  415. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/__init__.py +0 -0
  416. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  417. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/analytics_message.py +0 -0
  418. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/connector_paths.py +0 -0
  419. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/constants.py +0 -0
  420. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  421. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  422. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/docker.py +0 -0
  423. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/event_timing.py +0 -0
  424. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  425. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  426. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/message_utils.py +0 -0
  427. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  428. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/print_buffer.py +0 -0
  429. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  430. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/slice_hasher.py +0 -0
  431. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  432. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  433. {airbyte_cdk-6.60.9 → airbyte_cdk-6.60.11}/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.60.9
3
+ Version: 6.60.11
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -123,11 +123,18 @@ def connector_cli_group() -> None:
123
123
  multiple=True,
124
124
  help="Additional argument(s) to pass to pytest. Can be specified multiple times.",
125
125
  )
126
+ @click.option(
127
+ "--no-creds",
128
+ is_flag=True,
129
+ default=False,
130
+ help="Skip tests that require credentials (marked with 'requires_creds').",
131
+ )
126
132
  def connector_test(
127
133
  connector: str | Path | None = None,
128
134
  *,
129
135
  collect_only: bool = False,
130
136
  pytest_args: list[str] | None = None,
137
+ no_creds: bool = False,
131
138
  ) -> None:
132
139
  """Run connector tests.
133
140
 
@@ -147,6 +154,9 @@ def connector_test(
147
154
  if collect_only:
148
155
  pytest_args.append("--collect-only")
149
156
 
157
+ if no_creds:
158
+ pytest_args.extend(["-m", "not requires_creds"])
159
+
150
160
  run_connector_tests(
151
161
  connector_name=connector_name,
152
162
  connector_directory=connector_directory,
@@ -100,10 +100,17 @@ def build(
100
100
  "--image",
101
101
  help="Image to test, instead of building a new one.",
102
102
  )
103
+ @click.option(
104
+ "--no-creds",
105
+ is_flag=True,
106
+ default=False,
107
+ help="Skip tests that require credentials (marked with 'requires_creds').",
108
+ )
103
109
  def image_test( # "image test" command
104
110
  connector: str | None = None,
105
111
  *,
106
112
  image: str | None = None,
113
+ no_creds: bool = False,
107
114
  ) -> None:
108
115
  """Test a connector Docker image.
109
116
 
@@ -124,7 +131,11 @@ def image_test( # "image test" command
124
131
  connector_name, connector_directory = resolve_connector_name_and_directory(connector)
125
132
 
126
133
  # Select only tests with the 'image_tests' mark
127
- pytest_args = ["-m", "image_tests"]
134
+ pytest_filter = "image_tests"
135
+ if no_creds:
136
+ pytest_filter += " and not requires_creds"
137
+
138
+ pytest_args = ["-m", pytest_filter]
128
139
  if not image:
129
140
  metadata_file_path: Path = connector_directory / "metadata.yaml"
130
141
  try:
@@ -3,12 +3,13 @@
3
3
  #
4
4
 
5
5
  import logging
6
- import traceback
7
6
  from dataclasses import InitVar, dataclass
8
- from typing import Any, List, Mapping, Tuple
7
+ from typing import Any, List, Mapping, Tuple, Union
9
8
 
10
- from airbyte_cdk import AbstractSource
9
+ from airbyte_cdk.sources.abstract_source import AbstractSource
10
+ from airbyte_cdk.sources.declarative.checks.check_stream import evaluate_availability
11
11
  from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12
+ from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
12
13
  from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
13
14
 
14
15
 
@@ -34,20 +35,16 @@ class CheckDynamicStream(ConnectionChecker):
34
35
  def check_connection(
35
36
  self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
36
37
  ) -> Tuple[bool, Any]:
37
- streams = source.streams(config=config)
38
+ streams: List[Union[Stream, AbstractStream]] = source.streams(config=config) # type: ignore # this is a migration step and we expect the declarative CDK to migrate off of ConnectionChecker
38
39
 
39
40
  if len(streams) == 0:
40
41
  return False, f"No streams to connect to from source {source}"
41
42
  if not self.use_check_availability:
42
43
  return True, None
43
44
 
44
- availability_strategy = HttpAvailabilityStrategy()
45
-
46
45
  try:
47
46
  for stream in streams[: min(self.stream_count, len(streams))]:
48
- stream_is_available, reason = availability_strategy.check_availability(
49
- stream, logger
50
- )
47
+ stream_is_available, reason = evaluate_availability(stream, logger)
51
48
  if not stream_is_available:
52
49
  logger.warning(f"Stream {stream.name} is not available: {reason}")
53
50
  return False, reason
@@ -5,13 +5,30 @@
5
5
  import logging
6
6
  import traceback
7
7
  from dataclasses import InitVar, dataclass
8
- from typing import Any, Dict, List, Mapping, Optional, Tuple
8
+ from typing import Any, Dict, List, Mapping, Optional, Tuple, Union
9
9
 
10
- from airbyte_cdk import AbstractSource
10
+ from airbyte_cdk.sources.abstract_source import AbstractSource
11
11
  from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12
+ from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
13
+ from airbyte_cdk.sources.streams.core import Stream
12
14
  from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
13
15
 
14
16
 
17
+ def evaluate_availability(
18
+ stream: Union[Stream, AbstractStream], logger: logging.Logger
19
+ ) -> Tuple[bool, Optional[str]]:
20
+ """
21
+ As a transition period, we want to support both Stream and AbstractStream until we migrate everything to AbstractStream.
22
+ """
23
+ if isinstance(stream, Stream):
24
+ return HttpAvailabilityStrategy().check_availability(stream, logger)
25
+ elif isinstance(stream, AbstractStream):
26
+ availability = stream.check_availability()
27
+ return availability.is_available, availability.reason
28
+ else:
29
+ raise ValueError(f"Unsupported stream type {type(stream)}")
30
+
31
+
15
32
  @dataclass(frozen=True)
16
33
  class DynamicStreamCheckConfig:
17
34
  """Defines the configuration for dynamic stream during connection checking. This class specifies
@@ -51,7 +68,7 @@ class CheckStream(ConnectionChecker):
51
68
  ) -> Tuple[bool, Any]:
52
69
  """Checks the connection to the source and its streams."""
53
70
  try:
54
- streams = source.streams(config=config)
71
+ streams: List[Union[Stream, AbstractStream]] = source.streams(config=config) # type: ignore # this is a migration step and we expect the declarative CDK to migrate off of ConnectionChecker
55
72
  if not streams:
56
73
  return False, f"No streams to connect to from source {source}"
57
74
  except Exception as error:
@@ -82,13 +99,15 @@ class CheckStream(ConnectionChecker):
82
99
  return True, None
83
100
 
84
101
  def _check_stream_availability(
85
- self, stream_name_to_stream: Dict[str, Any], stream_name: str, logger: logging.Logger
102
+ self,
103
+ stream_name_to_stream: Dict[str, Union[Stream, AbstractStream]],
104
+ stream_name: str,
105
+ logger: logging.Logger,
86
106
  ) -> Tuple[bool, Any]:
87
107
  """Checks if streams are available."""
88
- availability_strategy = HttpAvailabilityStrategy()
89
108
  try:
90
109
  stream = stream_name_to_stream[stream_name]
91
- stream_is_available, reason = availability_strategy.check_availability(stream, logger)
110
+ stream_is_available, reason = evaluate_availability(stream, logger)
92
111
  if not stream_is_available:
93
112
  message = f"Stream {stream_name} is not available: {reason}"
94
113
  logger.warning(message)
@@ -98,7 +117,10 @@ class CheckStream(ConnectionChecker):
98
117
  return True, None
99
118
 
100
119
  def _check_dynamic_streams_availability(
101
- self, source: AbstractSource, stream_name_to_stream: Dict[str, Any], logger: logging.Logger
120
+ self,
121
+ source: AbstractSource,
122
+ stream_name_to_stream: Dict[str, Union[Stream, AbstractStream]],
123
+ logger: logging.Logger,
102
124
  ) -> Tuple[bool, Any]:
103
125
  """Checks the availability of dynamic streams."""
104
126
  dynamic_streams = source.resolved_manifest.get("dynamic_streams", []) # type: ignore[attr-defined] # The source's resolved_manifest manifest is checked before calling this method
@@ -135,18 +157,15 @@ class CheckStream(ConnectionChecker):
135
157
  def _check_generated_streams_availability(
136
158
  self,
137
159
  generated_streams: List[Dict[str, Any]],
138
- stream_name_to_stream: Dict[str, Any],
160
+ stream_name_to_stream: Dict[str, Union[Stream, AbstractStream]],
139
161
  logger: logging.Logger,
140
162
  max_count: int,
141
163
  ) -> Tuple[bool, Any]:
142
164
  """Checks availability of generated dynamic streams."""
143
- availability_strategy = HttpAvailabilityStrategy()
144
165
  for declarative_stream in generated_streams[: min(max_count, len(generated_streams))]:
145
166
  stream = stream_name_to_stream[declarative_stream["name"]]
146
167
  try:
147
- stream_is_available, reason = availability_strategy.check_availability(
148
- stream, logger
149
- )
168
+ stream_is_available, reason = evaluate_availability(stream, logger)
150
169
  if not stream_is_available:
151
170
  message = f"Dynamic Stream {stream.name} is not available: {reason}"
152
171
  logger.warning(message)
@@ -52,9 +52,6 @@ from airbyte_cdk.sources.source import TState
52
52
  from airbyte_cdk.sources.streams import Stream
53
53
  from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
54
54
  from airbyte_cdk.sources.streams.concurrent.abstract_stream_facade import AbstractStreamFacade
55
- from airbyte_cdk.sources.streams.concurrent.availability_strategy import (
56
- AlwaysAvailableAvailabilityStrategy,
57
- )
58
55
  from airbyte_cdk.sources.streams.concurrent.cursor import ConcurrentCursor, FinalStateCursor
59
56
  from airbyte_cdk.sources.streams.concurrent.default_stream import DefaultStream
60
57
  from airbyte_cdk.sources.streams.concurrent.helpers import get_primary_key_from_stream
@@ -325,7 +322,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
325
322
  partition_generator=partition_generator,
326
323
  name=declarative_stream.name,
327
324
  json_schema=declarative_stream.get_json_schema(),
328
- availability_strategy=AlwaysAvailableAvailabilityStrategy(),
329
325
  primary_key=get_primary_key_from_stream(declarative_stream.primary_key),
330
326
  cursor_field=cursor.cursor_field.cursor_field_key
331
327
  if hasattr(cursor, "cursor_field")
@@ -362,7 +358,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
362
358
  partition_generator=partition_generator,
363
359
  name=declarative_stream.name,
364
360
  json_schema=declarative_stream.get_json_schema(),
365
- availability_strategy=AlwaysAvailableAvailabilityStrategy(),
366
361
  primary_key=get_primary_key_from_stream(declarative_stream.primary_key),
367
362
  cursor_field=None,
368
363
  logger=self.logger,
@@ -417,7 +412,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
417
412
  partition_generator=partition_generator,
418
413
  name=declarative_stream.name,
419
414
  json_schema=declarative_stream.get_json_schema(),
420
- availability_strategy=AlwaysAvailableAvailabilityStrategy(),
421
415
  primary_key=get_primary_key_from_stream(declarative_stream.primary_key),
422
416
  cursor_field=perpartition_cursor.cursor_field.cursor_field_key,
423
417
  logger=self.logger,
@@ -0,0 +1,7 @@
1
+ from .abstract_file_based_availability_strategy import AbstractFileBasedAvailabilityStrategy
2
+ from .default_file_based_availability_strategy import DefaultFileBasedAvailabilityStrategy
3
+
4
+ __all__ = [
5
+ "AbstractFileBasedAvailabilityStrategy",
6
+ "DefaultFileBasedAvailabilityStrategy",
7
+ ]
@@ -10,12 +10,6 @@ from typing import TYPE_CHECKING, Optional, Tuple
10
10
 
11
11
  from airbyte_cdk.sources import Source
12
12
  from airbyte_cdk.sources.streams.availability_strategy import AvailabilityStrategy
13
- from airbyte_cdk.sources.streams.concurrent.availability_strategy import (
14
- AbstractAvailabilityStrategy,
15
- StreamAvailability,
16
- StreamAvailable,
17
- StreamUnavailable,
18
- )
19
13
  from airbyte_cdk.sources.streams.core import Stream
20
14
 
21
15
  if TYPE_CHECKING:
@@ -28,7 +22,7 @@ class AbstractFileBasedAvailabilityStrategy(AvailabilityStrategy):
28
22
  self,
29
23
  stream: Stream,
30
24
  logger: logging.Logger,
31
- _: Optional[Source],
25
+ source: Optional[Source] = None,
32
26
  ) -> Tuple[bool, Optional[str]]:
33
27
  """
34
28
  Perform a connection check for the stream.
@@ -51,23 +45,3 @@ class AbstractFileBasedAvailabilityStrategy(AvailabilityStrategy):
51
45
  Returns (True, None) if successful, otherwise (False, <error message>).
52
46
  """
53
47
  ...
54
-
55
-
56
- class AbstractFileBasedAvailabilityStrategyWrapper(AbstractAvailabilityStrategy):
57
- def __init__(self, stream: AbstractFileBasedStream) -> None:
58
- self.stream = stream
59
-
60
- def check_availability(self, logger: logging.Logger) -> StreamAvailability:
61
- is_available, reason = self.stream.availability_strategy.check_availability(
62
- self.stream, logger, None
63
- )
64
- if is_available:
65
- return StreamAvailable()
66
- return StreamUnavailable(reason or "")
67
-
68
- def check_availability_and_parsability(
69
- self, logger: logging.Logger
70
- ) -> Tuple[bool, Optional[str]]:
71
- return self.stream.availability_strategy.check_availability_and_parsability(
72
- self.stream, logger, None
73
- )
@@ -179,7 +179,6 @@ class AbstractFileBasedStream(Stream):
179
179
  )
180
180
 
181
181
  @cached_property
182
- @deprecated("Deprecated as of CDK version 3.7.0.")
183
182
  def availability_strategy(self) -> AbstractFileBasedAvailabilityStrategy:
184
183
  return self._availability_strategy
185
184
 
@@ -21,7 +21,6 @@ from airbyte_cdk.sources import AbstractSource
21
21
  from airbyte_cdk.sources.connector_state_manager import ConnectorStateManager
22
22
  from airbyte_cdk.sources.file_based.availability_strategy import (
23
23
  AbstractFileBasedAvailabilityStrategy,
24
- AbstractFileBasedAvailabilityStrategyWrapper,
25
24
  )
26
25
  from airbyte_cdk.sources.file_based.config.file_based_stream_config import PrimaryKeyType
27
26
  from airbyte_cdk.sources.file_based.file_types.file_type_parser import FileTypeParser
@@ -97,7 +96,6 @@ class FileBasedStreamFacade(AbstractStreamFacade[DefaultStream], AbstractFileBas
97
96
  ),
98
97
  name=stream.name,
99
98
  json_schema=stream.get_json_schema(),
100
- availability_strategy=AbstractFileBasedAvailabilityStrategyWrapper(stream),
101
99
  primary_key=pk,
102
100
  cursor_field=cursor_field,
103
101
  logger=logger,
@@ -14,6 +14,7 @@ if typing.TYPE_CHECKING:
14
14
  from airbyte_cdk.sources import Source
15
15
 
16
16
 
17
+ # FIXME this
17
18
  class AvailabilityStrategy(ABC):
18
19
  """
19
20
  Abstract base class for checking stream availability.
@@ -64,12 +64,6 @@ class AbstractStream(ABC):
64
64
  :return: The name of the field used as a cursor. Nested cursor fields are not supported.
65
65
  """
66
66
 
67
- @abstractmethod
68
- def check_availability(self) -> StreamAvailability:
69
- """
70
- :return: The stream's availability
71
- """
72
-
73
67
  @abstractmethod
74
68
  def get_json_schema(self) -> Mapping[str, Any]:
75
69
  """
@@ -94,3 +88,9 @@ class AbstractStream(ABC):
94
88
  """
95
89
  :return: The cursor associated with this stream.
96
90
  """
91
+
92
+ @abstractmethod
93
+ def check_availability(self) -> StreamAvailability:
94
+ """
95
+ :return: If the stream is available and if not, why
96
+ """
@@ -24,12 +24,7 @@ from airbyte_cdk.sources.connector_state_manager import ConnectorStateManager
24
24
  from airbyte_cdk.sources.message import MessageRepository
25
25
  from airbyte_cdk.sources.source import ExperimentalClassWarning
26
26
  from airbyte_cdk.sources.streams import Stream
27
- from airbyte_cdk.sources.streams.availability_strategy import AvailabilityStrategy
28
27
  from airbyte_cdk.sources.streams.concurrent.abstract_stream_facade import AbstractStreamFacade
29
- from airbyte_cdk.sources.streams.concurrent.availability_strategy import (
30
- AbstractAvailabilityStrategy,
31
- AlwaysAvailableAvailabilityStrategy,
32
- )
33
28
  from airbyte_cdk.sources.streams.concurrent.cursor import Cursor, FinalStateCursor
34
29
  from airbyte_cdk.sources.streams.concurrent.default_stream import DefaultStream
35
30
  from airbyte_cdk.sources.streams.concurrent.exceptions import ExceptionWithDisplayMessage
@@ -101,7 +96,6 @@ class StreamFacade(AbstractStreamFacade[DefaultStream], Stream):
101
96
  name=stream.name,
102
97
  namespace=stream.namespace,
103
98
  json_schema=stream.get_json_schema(),
104
- availability_strategy=AlwaysAvailableAvailabilityStrategy(),
105
99
  primary_key=pk,
106
100
  cursor_field=cursor_field,
107
101
  logger=logger,
@@ -210,18 +204,6 @@ class StreamFacade(AbstractStreamFacade[DefaultStream], Stream):
210
204
  def supports_incremental(self) -> bool:
211
205
  return self._legacy_stream.supports_incremental
212
206
 
213
- def check_availability(
214
- self, logger: logging.Logger, source: Optional["Source"] = None
215
- ) -> Tuple[bool, Optional[str]]:
216
- """
217
- Verifies the stream is available. Delegates to the underlying AbstractStream and ignores the parameters
218
- :param logger: (ignored)
219
- :param source: (ignored)
220
- :return:
221
- """
222
- availability = self._abstract_stream.check_availability()
223
- return availability.is_available(), availability.message()
224
-
225
207
  def as_airbyte_stream(self) -> AirbyteStream:
226
208
  return self._abstract_stream.as_airbyte_stream()
227
209
 
@@ -370,28 +352,3 @@ class StreamPartitionGenerator(PartitionGenerator):
370
352
  self._cursor_field,
371
353
  self._state,
372
354
  )
373
-
374
-
375
- @deprecated(
376
- "Availability strategy has been soft deprecated. Do not use. Class is subject to removal",
377
- category=ExperimentalClassWarning,
378
- )
379
- class AvailabilityStrategyFacade(AvailabilityStrategy):
380
- def __init__(self, abstract_availability_strategy: AbstractAvailabilityStrategy):
381
- self._abstract_availability_strategy = abstract_availability_strategy
382
-
383
- def check_availability(
384
- self, stream: Stream, logger: logging.Logger, source: Optional["Source"] = None
385
- ) -> Tuple[bool, Optional[str]]:
386
- """
387
- Checks stream availability.
388
-
389
- Important to note that the stream and source parameters are not used by the underlying AbstractAvailabilityStrategy.
390
-
391
- :param stream: (unused)
392
- :param logger: logger object to use
393
- :param source: (unused)
394
- :return: A tuple of (boolean, str). If boolean is true, then the stream
395
- """
396
- stream_availability = self._abstract_availability_strategy.check_availability(logger)
397
- return stream_availability.is_available(), stream_availability.message()
@@ -0,0 +1,37 @@
1
+ #
2
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from abc import ABC, abstractmethod
6
+ from typing import Optional
7
+
8
+
9
+ class StreamAvailability:
10
+ @classmethod
11
+ def available(cls) -> "StreamAvailability":
12
+ return cls(True)
13
+
14
+ @classmethod
15
+ def unavailable(cls, reason: str) -> "StreamAvailability":
16
+ return cls(False, reason)
17
+
18
+ def __init__(self, available: bool, reason: Optional[str] = None) -> None:
19
+ self._available = available
20
+ self._reason = reason
21
+
22
+ if not available:
23
+ assert reason, "A reason needs to be provided if the stream is not available"
24
+
25
+ @property
26
+ def is_available(self) -> bool:
27
+ """
28
+ :return: True if the stream is available. False if the stream is not
29
+ """
30
+ return self._available
31
+
32
+ @property
33
+ def reason(self) -> Optional[str]:
34
+ """
35
+ :return: A message describing why the stream is not available. If the stream is available, this should return None.
36
+ """
37
+ return self._reason
@@ -8,13 +8,11 @@ from typing import Any, Iterable, List, Mapping, Optional
8
8
 
9
9
  from airbyte_cdk.models import AirbyteStream, SyncMode
10
10
  from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
11
- from airbyte_cdk.sources.streams.concurrent.availability_strategy import (
12
- AbstractAvailabilityStrategy,
13
- StreamAvailability,
14
- )
11
+ from airbyte_cdk.sources.streams.concurrent.availability_strategy import StreamAvailability
15
12
  from airbyte_cdk.sources.streams.concurrent.cursor import Cursor
16
13
  from airbyte_cdk.sources.streams.concurrent.partitions.partition import Partition
17
14
  from airbyte_cdk.sources.streams.concurrent.partitions.partition_generator import PartitionGenerator
15
+ from airbyte_cdk.utils.traced_exception import AirbyteTracedException
18
16
 
19
17
 
20
18
  class DefaultStream(AbstractStream):
@@ -23,7 +21,6 @@ class DefaultStream(AbstractStream):
23
21
  partition_generator: PartitionGenerator,
24
22
  name: str,
25
23
  json_schema: Mapping[str, Any],
26
- availability_strategy: AbstractAvailabilityStrategy,
27
24
  primary_key: List[str],
28
25
  cursor_field: Optional[str],
29
26
  logger: Logger,
@@ -34,7 +31,6 @@ class DefaultStream(AbstractStream):
34
31
  self._stream_partition_generator = partition_generator
35
32
  self._name = name
36
33
  self._json_schema = json_schema
37
- self._availability_strategy = availability_strategy
38
34
  self._primary_key = primary_key
39
35
  self._cursor_field = cursor_field
40
36
  self._logger = logger
@@ -53,9 +49,6 @@ class DefaultStream(AbstractStream):
53
49
  def namespace(self) -> Optional[str]:
54
50
  return self._namespace
55
51
 
56
- def check_availability(self) -> StreamAvailability:
57
- return self._availability_strategy.check_availability(self._logger)
58
-
59
52
  @property
60
53
  def cursor_field(self) -> Optional[str]:
61
54
  return self._cursor_field
@@ -100,3 +93,33 @@ class DefaultStream(AbstractStream):
100
93
  @property
101
94
  def cursor(self) -> Cursor:
102
95
  return self._cursor
96
+
97
+ def check_availability(self) -> StreamAvailability:
98
+ """
99
+ Check stream availability by attempting to read the first record of the stream.
100
+ """
101
+ try:
102
+ partition = next(iter(self.generate_partitions()))
103
+ except StopIteration:
104
+ # NOTE: The following comment was copied from legacy stuff and I don't know how relevant it is:
105
+ # If stream_slices has no `next()` item (Note - this is different from stream_slices returning [None]!)
106
+ # This can happen when a substream's `stream_slices` method does a `for record in parent_records: yield <something>`
107
+ # without accounting for the case in which the parent stream is empty.
108
+ return StreamAvailability.unavailable(
109
+ f"Cannot attempt to connect to stream {self.name} - no stream slices were found"
110
+ )
111
+ except AirbyteTracedException as error:
112
+ return StreamAvailability.unavailable(
113
+ error.message or error.internal_message or "<no error message>"
114
+ )
115
+
116
+ try:
117
+ next(iter(partition.read()))
118
+ return StreamAvailability.available()
119
+ except StopIteration:
120
+ self._logger.info(f"Successfully connected to stream {self.name}, but got 0 records.")
121
+ return StreamAvailability.available()
122
+ except AirbyteTracedException as error:
123
+ return StreamAvailability.unavailable(
124
+ error.message or error.internal_message or "<no error message>"
125
+ )
@@ -186,3 +186,8 @@ class ConnectorTestScenario(BaseModel):
186
186
  **self.model_dump(exclude={"status"}),
187
187
  status="succeed",
188
188
  )
189
+
190
+ @property
191
+ def requires_creds(self) -> bool:
192
+ """Return True if the scenario requires credentials to run."""
193
+ return bool(self.config_path and "secrets" in self.config_path.parts)
@@ -161,7 +161,7 @@ def pytest_generate_tests(metafunc: pytest.Metafunc) -> None:
161
161
  if test_class is None:
162
162
  return
163
163
 
164
- # Get the 'scenarios' attribute from the class
164
+ # Check that the class is compatible with our test suite
165
165
  scenarios_attr = getattr(test_class, "get_scenarios", None)
166
166
  if scenarios_attr is None:
167
167
  raise ValueError(
@@ -169,6 +169,21 @@ def pytest_generate_tests(metafunc: pytest.Metafunc) -> None:
169
169
  "Please define the 'scenarios' attribute in the test class."
170
170
  )
171
171
 
172
+ # Get the scenarios defined or discovered in the test class
172
173
  scenarios = test_class.get_scenarios()
173
- ids = [str(scenario) for scenario in scenarios]
174
- metafunc.parametrize("scenario", scenarios, ids=ids)
174
+
175
+ # Create pytest.param objects with special marks as needed
176
+ parametrized_scenarios = [
177
+ pytest.param(
178
+ scenario,
179
+ marks=[pytest.mark.requires_creds] if scenario.requires_creds else [],
180
+ )
181
+ for scenario in scenarios
182
+ ]
183
+
184
+ # Parametrize the 'scenario' argument with the scenarios
185
+ metafunc.parametrize(
186
+ "scenario",
187
+ parametrized_scenarios,
188
+ ids=[str(scenario) for scenario in scenarios],
189
+ )
@@ -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.60.9" # Version will be calculated dynamically.
26
+ version = "6.60.11" # Version will be calculated dynamically.
27
27
 
28
28
  [tool.poetry-dynamic-versioning]
29
29
  enable = false
@@ -1,11 +0,0 @@
1
- from .abstract_file_based_availability_strategy import (
2
- AbstractFileBasedAvailabilityStrategy,
3
- AbstractFileBasedAvailabilityStrategyWrapper,
4
- )
5
- from .default_file_based_availability_strategy import DefaultFileBasedAvailabilityStrategy
6
-
7
- __all__ = [
8
- "AbstractFileBasedAvailabilityStrategy",
9
- "AbstractFileBasedAvailabilityStrategyWrapper",
10
- "DefaultFileBasedAvailabilityStrategy",
11
- ]