airbyte-cdk 7.3.10.dev0__tar.gz → 7.4.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.

Potentially problematic release.


This version of airbyte-cdk might be problematic. Click here for more details.

Files changed (469) hide show
  1. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/PKG-INFO +1 -1
  2. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +12 -22
  3. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +1 -0
  4. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +34 -2
  5. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +30 -0
  6. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +60 -2
  7. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +7 -2
  8. airbyte_cdk-7.4.0/airbyte_cdk/sources/declarative/requesters/query_properties/property_selector/__init__.py +10 -0
  9. airbyte_cdk-7.4.0/airbyte_cdk/sources/declarative/requesters/query_properties/property_selector/json_schema_property_selector.py +54 -0
  10. airbyte_cdk-7.4.0/airbyte_cdk/sources/declarative/requesters/query_properties/property_selector/property_selector.py +24 -0
  11. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +28 -4
  12. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +1 -1
  13. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/cursor.py +9 -9
  14. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +3 -1
  15. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/pyproject.toml +1 -1
  16. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/LICENSE.txt +0 -0
  17. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/LICENSE_SHORT +0 -0
  18. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/README.md +0 -0
  19. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/__init__.py +0 -0
  20. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/__init__.py +0 -0
  21. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  22. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/_connector.py +0 -0
  23. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
  24. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  25. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
  26. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  27. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  28. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
  29. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  30. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  31. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  32. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/config_observation.py +0 -0
  33. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector.py +0 -0
  34. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/README.md +0 -0
  35. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/__init__.py +0 -0
  36. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  37. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/main.py +0 -0
  38. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/models.py +0 -0
  39. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  40. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  41. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  42. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  43. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  44. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/__init__.py +0 -0
  45. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/destination.py +0 -0
  46. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  47. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  48. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  49. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  50. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  51. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  52. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  53. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  54. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  55. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/entrypoint.py +0 -0
  56. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/exception_handler.py +0 -0
  57. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/__init__.py +0 -0
  58. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/__init__.py +0 -0
  59. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/__init__.py +0 -0
  60. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/declarative_source.py +0 -0
  61. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/declarative_stream.py +0 -0
  62. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/__init__.py +0 -0
  63. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  64. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/declarative_cursor.py +0 -0
  65. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/global_substream_cursor.py +0 -0
  66. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/per_partition_cursor.py +0 -0
  67. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/per_partition_with_global.py +0 -0
  68. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  69. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/legacy/sources/declarative/manifest_declarative_source.py +0 -0
  70. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/logger.py +0 -0
  71. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/README.md +0 -0
  72. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  73. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  74. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  75. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  76. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  77. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  78. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  79. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  80. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  81. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  82. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/Dockerfile +0 -0
  83. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/README.md +0 -0
  84. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/__init__.py +0 -0
  85. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/api_models/__init__.py +0 -0
  86. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/api_models/capabilities.py +0 -0
  87. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/api_models/dicts.py +0 -0
  88. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/api_models/manifest.py +0 -0
  89. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/api_models/stream.py +0 -0
  90. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/app.py +0 -0
  91. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/__init__.py +0 -0
  92. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/_common.py +0 -0
  93. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/_info.py +0 -0
  94. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/_openapi.py +0 -0
  95. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/_start.py +0 -0
  96. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/cli/run.py +0 -0
  97. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/command_processor/__init__.py +0 -0
  98. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/command_processor/processor.py +0 -0
  99. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/command_processor/utils.py +0 -0
  100. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/helpers/__init__.py +0 -0
  101. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/helpers/auth.py +0 -0
  102. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/helpers/tracing.py +0 -0
  103. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/main.py +0 -0
  104. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/openapi.yaml +0 -0
  105. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/routers/__init__.py +0 -0
  106. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/routers/capabilities.py +0 -0
  107. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/routers/health.py +0 -0
  108. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/manifest_server/routers/manifest.py +0 -0
  109. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/models/__init__.py +0 -0
  110. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  111. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  112. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/models/connector_metadata.py +0 -0
  113. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/models/well_known_types.py +0 -0
  114. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/py.typed +0 -0
  115. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/__init__.py +0 -0
  116. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/abstract_source.py +0 -0
  117. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  118. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  119. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  120. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  121. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  122. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  123. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/config.py +0 -0
  124. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  125. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  126. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  127. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  128. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  129. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  130. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  131. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  132. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  133. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  134. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  135. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  136. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  137. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  138. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  139. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  140. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  141. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  142. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  143. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  144. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  145. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  146. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  147. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  148. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  149. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  150. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  151. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  152. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  153. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  154. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  155. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  156. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  157. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  158. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  159. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  160. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  161. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  162. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  163. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  164. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  165. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  166. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  167. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  168. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  169. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  170. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  171. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  172. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  173. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  174. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  175. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  176. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  177. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  178. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  179. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  180. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  181. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  182. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  183. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  184. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  185. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  186. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  187. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  188. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  189. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  190. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  191. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  192. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  193. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  194. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  195. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  196. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  197. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  198. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  199. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  200. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  201. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  202. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  203. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  204. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  205. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  206. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  207. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  208. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  209. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  210. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  211. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  212. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  213. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  214. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  215. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  216. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  217. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  218. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  219. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  220. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  221. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  222. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  223. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  224. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  225. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  226. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  227. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  228. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  229. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  230. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  231. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  232. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  233. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  234. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  235. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  236. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/per_partition_request_option_provider.py +0 -0
  237. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  238. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  239. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  240. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  241. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  242. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  243. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  244. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
  245. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  246. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  247. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  248. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  249. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  250. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  251. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  252. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  253. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  254. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/pagination_tracker.py +0 -0
  255. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  256. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  257. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  258. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  259. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  260. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  261. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  262. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  263. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  264. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  265. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  266. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  267. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  268. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
  269. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  270. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  271. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  272. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  273. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  274. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  275. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  276. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  277. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  278. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  279. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  280. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  281. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  282. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  283. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/types.py +0 -0
  284. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  285. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  286. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  287. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  288. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  289. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  290. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  291. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/README.md +0 -0
  292. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  293. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  294. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  295. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  296. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  297. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  298. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  299. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  300. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  301. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  302. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  303. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  304. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  305. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  306. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  307. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  308. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  309. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  310. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  311. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  312. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  313. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  314. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  315. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  316. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  317. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  318. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  319. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  320. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  321. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  322. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  323. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  324. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  325. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  326. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  327. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  328. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  329. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  330. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  331. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  332. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  333. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  334. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  335. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  336. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  337. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  338. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  339. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  340. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  341. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  342. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/file_based/types.py +0 -0
  343. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/http_config.py +0 -0
  344. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/http_logger.py +0 -0
  345. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/message/__init__.py +0 -0
  346. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/message/concurrent_repository.py +0 -0
  347. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/message/repository.py +0 -0
  348. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/source.py +0 -0
  349. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  350. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/__init__.py +0 -0
  351. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  352. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  353. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  354. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  355. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  356. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  357. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  358. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  359. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  360. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  361. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  362. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  363. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  364. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  365. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  366. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  367. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  368. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  369. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  370. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  371. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  372. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  373. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  374. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  375. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  376. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  377. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  378. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  379. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  380. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/core.py +0 -0
  381. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  382. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  383. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  384. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  385. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  386. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  387. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  388. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  389. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  390. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  391. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  392. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  393. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/http.py +0 -0
  394. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  395. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/pagination_reset_exception.py +0 -0
  396. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  397. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  398. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  399. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  400. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  401. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  402. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  403. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  404. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/types.py +0 -0
  405. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/__init__.py +0 -0
  406. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/casing.py +0 -0
  407. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  408. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  409. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  410. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  411. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/transform.py +0 -0
  412. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sources/utils/types.py +0 -0
  413. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/__init__.py +0 -0
  414. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/_util/__init__.py +0 -0
  415. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/_util/hashing.py +0 -0
  416. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  417. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/constants.py +0 -0
  418. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/exceptions.py +0 -0
  419. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/secrets.py +0 -0
  420. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/shared/__init__.py +0 -0
  421. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  422. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  423. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/sql/types.py +0 -0
  424. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/__init__.py +0 -0
  425. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/catalog_builder.py +0 -0
  426. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  427. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  428. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  429. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  430. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/request.py +0 -0
  431. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/response.py +0 -0
  432. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  433. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/models/__init__.py +0 -0
  434. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/models/outcome.py +0 -0
  435. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/models/scenario.py +0 -0
  436. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  437. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
  438. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
  439. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  440. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  441. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/docker_base.py +0 -0
  442. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
  443. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  444. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/standard_tests/util.py +0 -0
  445. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/state_builder.py +0 -0
  446. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/utils/__init__.py +0 -0
  447. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/utils/data.py +0 -0
  448. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  449. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  450. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/test/utils/reading.py +0 -0
  451. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/__init__.py +0 -0
  452. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  453. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/analytics_message.py +0 -0
  454. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/connector_paths.py +0 -0
  455. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/constants.py +0 -0
  456. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  457. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  458. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/docker.py +0 -0
  459. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/event_timing.py +0 -0
  460. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  461. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  462. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/message_utils.py +0 -0
  463. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  464. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/print_buffer.py +0 -0
  465. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  466. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/slice_hasher.py +0 -0
  467. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  468. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  469. {airbyte_cdk-7.3.10.dev0 → airbyte_cdk-7.4.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: 7.3.10.dev0
3
+ Version: 7.4.0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -96,12 +96,13 @@ class ConcurrentReadProcessor:
96
96
  """
97
97
  stream_name = partition.stream_name()
98
98
  self._streams_to_running_partitions[stream_name].add(partition)
99
+ cursor = self._stream_name_to_instance[stream_name].cursor
99
100
  if self._slice_logger.should_log_slice_message(self._logger):
100
101
  self._message_repository.emit_message(
101
102
  self._slice_logger.create_slice_log_message(partition.to_slice())
102
103
  )
103
104
  self._thread_pool_manager.submit(
104
- self._partition_reader.process_partition, partition
105
+ self._partition_reader.process_partition, partition, cursor
105
106
  )
106
107
 
107
108
  def on_partition_complete_sentinel(
@@ -115,26 +116,16 @@ class ConcurrentReadProcessor:
115
116
  """
116
117
  partition = sentinel.partition
117
118
 
118
- try:
119
- if sentinel.is_successful:
120
- stream = self._stream_name_to_instance[partition.stream_name()]
121
- stream.cursor.close_partition(partition)
122
- except Exception as exception:
123
- self._flag_exception(partition.stream_name(), exception)
124
- yield AirbyteTracedException.from_exception(
125
- exception, stream_descriptor=StreamDescriptor(name=partition.stream_name())
126
- ).as_sanitized_airbyte_message()
127
- finally:
128
- partitions_running = self._streams_to_running_partitions[partition.stream_name()]
129
- if partition in partitions_running:
130
- partitions_running.remove(partition)
131
- # If all partitions were generated and this was the last one, the stream is done
132
- if (
133
- partition.stream_name() not in self._streams_currently_generating_partitions
134
- and len(partitions_running) == 0
135
- ):
136
- yield from self._on_stream_is_done(partition.stream_name())
137
- yield from self._message_repository.consume_queue()
119
+ partitions_running = self._streams_to_running_partitions[partition.stream_name()]
120
+ if partition in partitions_running:
121
+ partitions_running.remove(partition)
122
+ # If all partitions were generated and this was the last one, the stream is done
123
+ if (
124
+ partition.stream_name() not in self._streams_currently_generating_partitions
125
+ and len(partitions_running) == 0
126
+ ):
127
+ yield from self._on_stream_is_done(partition.stream_name())
128
+ yield from self._message_repository.consume_queue()
138
129
 
139
130
  def on_record(self, record: Record) -> Iterable[AirbyteMessage]:
140
131
  """
@@ -163,7 +154,6 @@ class ConcurrentReadProcessor:
163
154
  stream.as_airbyte_stream(), AirbyteStreamStatus.RUNNING
164
155
  )
165
156
  self._record_counter[stream.name] += 1
166
- stream.cursor.observe(record)
167
157
  yield message
168
158
  yield from self._message_repository.consume_queue()
169
159
 
@@ -169,6 +169,7 @@ class ConcurrentDeclarativeSource(Source):
169
169
  component_factory = ModelToComponentFactory(
170
170
  emit_connector_builder_messages=emit_connector_builder_messages,
171
171
  message_repository=ConcurrentMessageRepository(queue, message_repository),
172
+ configured_catalog=catalog,
172
173
  connector_state_manager=self._connector_state_manager,
173
174
  max_concurrent_async_job_count=source_config.get("max_concurrent_async_job_count"),
174
175
  limit_pages_fetched_per_slice=limits.max_pages_per_slice if limits else None,
@@ -2520,6 +2520,34 @@ definitions:
2520
2520
  type:
2521
2521
  type: string
2522
2522
  enum: [JsonlDecoder]
2523
+ JsonSchemaPropertySelector:
2524
+ title: Json Schema Property Selector
2525
+ description: When configured, the JSON schema supplied in the catalog containing which columns are selected for the current stream will be used to reduce which query properties will be included in the outbound API request. This can improve the performance of API requests, especially for those requiring multiple requests to get a complete record.
2526
+ type: object
2527
+ required:
2528
+ - type
2529
+ properties:
2530
+ type:
2531
+ type: string
2532
+ enum: [JsonSchemaPropertySelector]
2533
+ transformations:
2534
+ title: Transformations
2535
+ description: A list of transformations to be applied on the customer configured schema that will be used to filter out unselected fields when specifying query properties for API requests.
2536
+ linkable: true
2537
+ type: array
2538
+ items:
2539
+ anyOf:
2540
+ - "$ref": "#/definitions/AddFields"
2541
+ - "$ref": "#/definitions/RemoveFields"
2542
+ - "$ref": "#/definitions/KeysToLower"
2543
+ - "$ref": "#/definitions/KeysToSnakeCase"
2544
+ - "$ref": "#/definitions/FlattenFields"
2545
+ - "$ref": "#/definitions/DpathFlattenFields"
2546
+ - "$ref": "#/definitions/KeysReplace"
2547
+ - "$ref": "#/definitions/CustomTransformation"
2548
+ $parameters:
2549
+ type: object
2550
+ additionalProperties: true
2523
2551
  KeysToLower:
2524
2552
  title: Keys to Lower Case
2525
2553
  description: A transformation that renames all keys to lower case.
@@ -3410,6 +3438,10 @@ definitions:
3410
3438
  title: Property Chunking
3411
3439
  description: Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.
3412
3440
  "$ref": "#/definitions/PropertyChunking"
3441
+ property_selector:
3442
+ title: Property Selector
3443
+ description: Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request.
3444
+ "$ref": "#/definitions/JsonSchemaPropertySelector"
3413
3445
  $parameters:
3414
3446
  type: object
3415
3447
  additionalProperties: true
@@ -3746,7 +3778,7 @@ definitions:
3746
3778
  properties:
3747
3779
  type:
3748
3780
  type: string
3749
- enum: [ PaginationReset ]
3781
+ enum: [PaginationReset]
3750
3782
  action:
3751
3783
  type: string
3752
3784
  enum:
@@ -3763,7 +3795,7 @@ definitions:
3763
3795
  properties:
3764
3796
  type:
3765
3797
  type: string
3766
- enum: [ PaginationResetLimits ]
3798
+ enum: [PaginationResetLimits]
3767
3799
  number_of_records:
3768
3800
  type: integer
3769
3801
  GzipDecoder:
@@ -1,3 +1,5 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
1
3
  # generated by datamodel-codegen:
2
4
  # filename: declarative_component_schema.yaml
3
5
 
@@ -2029,6 +2031,29 @@ class SessionTokenRequestApiKeyAuthenticator(BaseModel):
2029
2031
  )
2030
2032
 
2031
2033
 
2034
+ class JsonSchemaPropertySelector(BaseModel):
2035
+ type: Literal["JsonSchemaPropertySelector"]
2036
+ transformations: Optional[
2037
+ List[
2038
+ Union[
2039
+ AddFields,
2040
+ RemoveFields,
2041
+ KeysToLower,
2042
+ KeysToSnakeCase,
2043
+ FlattenFields,
2044
+ DpathFlattenFields,
2045
+ KeysReplace,
2046
+ CustomTransformation,
2047
+ ]
2048
+ ]
2049
+ ] = Field(
2050
+ None,
2051
+ description="A list of transformations to be applied on the customer configured schema that will be used to filter out unselected fields when specifying query properties for API requests.",
2052
+ title="Transformations",
2053
+ )
2054
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
2055
+
2056
+
2032
2057
  class ListPartitionRouter(BaseModel):
2033
2058
  type: Literal["ListPartitionRouter"]
2034
2059
  cursor_field: str = Field(
@@ -2799,6 +2824,11 @@ class QueryProperties(BaseModel):
2799
2824
  description="Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.",
2800
2825
  title="Property Chunking",
2801
2826
  )
2827
+ property_selector: Optional[JsonSchemaPropertySelector] = Field(
2828
+ None,
2829
+ description="Defines where to look for and which query properties that should be sent in outbound API requests. For example, you can specify that only the selected columns of a stream should be in the request.",
2830
+ title="Property Selector",
2831
+ )
2802
2832
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
2803
2833
 
2804
2834
 
@@ -26,6 +26,7 @@ from typing import (
26
26
  get_type_hints,
27
27
  )
28
28
 
29
+ from airbyte_protocol_dataclasses.models import ConfiguredAirbyteStream
29
30
  from isodate import parse_duration
30
31
  from pydantic.v1 import BaseModel
31
32
  from requests import Response
@@ -42,6 +43,7 @@ from airbyte_cdk.models import (
42
43
  AirbyteStateMessage,
43
44
  AirbyteStateType,
44
45
  AirbyteStreamState,
46
+ ConfiguredAirbyteCatalog,
45
47
  FailureType,
46
48
  Level,
47
49
  StreamDescriptor,
@@ -314,6 +316,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
314
316
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
315
317
  JsonlDecoder as JsonlDecoderModel,
316
318
  )
319
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
320
+ JsonSchemaPropertySelector as JsonSchemaPropertySelectorModel,
321
+ )
317
322
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
318
323
  JwtAuthenticator as JwtAuthenticatorModel,
319
324
  )
@@ -501,6 +506,9 @@ from airbyte_cdk.sources.declarative.requesters.query_properties import (
501
506
  from airbyte_cdk.sources.declarative.requesters.query_properties.property_chunking import (
502
507
  PropertyLimitType,
503
508
  )
509
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_selector import (
510
+ JsonSchemaPropertySelector,
511
+ )
504
512
  from airbyte_cdk.sources.declarative.requesters.query_properties.strategies import (
505
513
  GroupByKey,
506
514
  )
@@ -668,6 +676,7 @@ class ModelToComponentFactory:
668
676
  message_repository: Optional[MessageRepository] = None,
669
677
  connector_state_manager: Optional[ConnectorStateManager] = None,
670
678
  max_concurrent_async_job_count: Optional[int] = None,
679
+ configured_catalog: Optional[ConfiguredAirbyteCatalog] = None,
671
680
  ):
672
681
  self._init_mappings()
673
682
  self._limit_pages_fetched_per_slice = limit_pages_fetched_per_slice
@@ -678,6 +687,9 @@ class ModelToComponentFactory:
678
687
  self._message_repository = message_repository or InMemoryMessageRepository(
679
688
  self._evaluate_log_level(emit_connector_builder_messages)
680
689
  )
690
+ self._stream_name_to_configured_stream = self._create_stream_name_to_configured_stream(
691
+ configured_catalog
692
+ )
681
693
  self._connector_state_manager = connector_state_manager or ConnectorStateManager()
682
694
  self._api_budget: Optional[Union[APIBudget, HttpAPIBudget]] = None
683
695
  self._job_tracker: JobTracker = JobTracker(max_concurrent_async_job_count or 1)
@@ -734,6 +746,7 @@ class ModelToComponentFactory:
734
746
  InlineSchemaLoaderModel: self.create_inline_schema_loader,
735
747
  JsonDecoderModel: self.create_json_decoder,
736
748
  JsonlDecoderModel: self.create_jsonl_decoder,
749
+ JsonSchemaPropertySelectorModel: self.create_json_schema_property_selector,
737
750
  GzipDecoderModel: self.create_gzip_decoder,
738
751
  KeysToLowerModel: self.create_keys_to_lower_transformation,
739
752
  KeysToSnakeCaseModel: self.create_keys_to_snake_transformation,
@@ -796,6 +809,16 @@ class ModelToComponentFactory:
796
809
  # Needed for the case where we need to perform a second parse on the fields of a custom component
797
810
  self.TYPE_NAME_TO_MODEL = {cls.__name__: cls for cls in self.PYDANTIC_MODEL_TO_CONSTRUCTOR}
798
811
 
812
+ @staticmethod
813
+ def _create_stream_name_to_configured_stream(
814
+ configured_catalog: Optional[ConfiguredAirbyteCatalog],
815
+ ) -> Mapping[str, ConfiguredAirbyteStream]:
816
+ return (
817
+ {stream.stream.name: stream for stream in configured_catalog.streams}
818
+ if configured_catalog
819
+ else {}
820
+ )
821
+
799
822
  def create_component(
800
823
  self,
801
824
  model_type: Type[BaseModel],
@@ -2987,7 +3010,7 @@ class ModelToComponentFactory:
2987
3010
  )
2988
3011
 
2989
3012
  def create_query_properties(
2990
- self, model: QueryPropertiesModel, config: Config, **kwargs: Any
3013
+ self, model: QueryPropertiesModel, config: Config, *, stream_name: str, **kwargs: Any
2991
3014
  ) -> QueryProperties:
2992
3015
  if isinstance(model.property_list, list):
2993
3016
  property_list = model.property_list
@@ -3004,10 +3027,43 @@ class ModelToComponentFactory:
3004
3027
  else None
3005
3028
  )
3006
3029
 
3030
+ property_selector = (
3031
+ self._create_component_from_model(
3032
+ model=model.property_selector, config=config, stream_name=stream_name, **kwargs
3033
+ )
3034
+ if model.property_selector
3035
+ else None
3036
+ )
3037
+
3007
3038
  return QueryProperties(
3008
3039
  property_list=property_list,
3009
3040
  always_include_properties=model.always_include_properties,
3010
3041
  property_chunking=property_chunking,
3042
+ property_selector=property_selector,
3043
+ config=config,
3044
+ parameters=model.parameters or {},
3045
+ )
3046
+
3047
+ def create_json_schema_property_selector(
3048
+ self,
3049
+ model: JsonSchemaPropertySelectorModel,
3050
+ config: Config,
3051
+ *,
3052
+ stream_name: str,
3053
+ **kwargs: Any,
3054
+ ) -> JsonSchemaPropertySelector:
3055
+ configured_stream = self._stream_name_to_configured_stream.get(stream_name)
3056
+
3057
+ transformations = []
3058
+ if model.transformations:
3059
+ for transformation_model in model.transformations:
3060
+ transformations.append(
3061
+ self._create_component_from_model(model=transformation_model, config=config)
3062
+ )
3063
+
3064
+ return JsonSchemaPropertySelector(
3065
+ configured_stream=configured_stream,
3066
+ properties_transformations=transformations,
3011
3067
  config=config,
3012
3068
  parameters=model.parameters or {},
3013
3069
  )
@@ -3235,7 +3291,7 @@ class ModelToComponentFactory:
3235
3291
 
3236
3292
  if len(query_properties_definitions) == 1:
3237
3293
  query_properties = self._create_component_from_model(
3238
- model=query_properties_definitions[0], config=config
3294
+ model=query_properties_definitions[0], stream_name=name, config=config
3239
3295
  )
3240
3296
 
3241
3297
  # Removes QueryProperties components from the interpolated mappings because it has been designed
@@ -3261,11 +3317,13 @@ class ModelToComponentFactory:
3261
3317
 
3262
3318
  query_properties = self.create_query_properties(
3263
3319
  model=query_properties_definition,
3320
+ stream_name=name,
3264
3321
  config=config,
3265
3322
  )
3266
3323
  elif hasattr(model.requester, "query_properties") and model.requester.query_properties:
3267
3324
  query_properties = self.create_query_properties(
3268
3325
  model=model.requester.query_properties,
3326
+ stream_name=name,
3269
3327
  config=config,
3270
3328
  )
3271
3329
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from dataclasses import InitVar, dataclass
4
4
  from enum import Enum
5
- from typing import Any, Iterable, List, Mapping, Optional
5
+ from typing import Any, Iterable, List, Mapping, Optional, Set
6
6
 
7
7
  from airbyte_cdk.sources.declarative.requesters.query_properties.strategies import GroupByKey
8
8
  from airbyte_cdk.sources.declarative.requesters.query_properties.strategies.merge_strategy import (
@@ -40,7 +40,10 @@ class PropertyChunking:
40
40
  )
41
41
 
42
42
  def get_request_property_chunks(
43
- self, property_fields: Iterable[str], always_include_properties: Optional[List[str]]
43
+ self,
44
+ property_fields: Iterable[str],
45
+ always_include_properties: Optional[List[str]],
46
+ configured_properties: Optional[Set[str]],
44
47
  ) -> Iterable[List[str]]:
45
48
  if not self.property_limit:
46
49
  single_property_chunk = list(property_fields)
@@ -53,6 +56,8 @@ class PropertyChunking:
53
56
  for property_field in property_fields:
54
57
  # If property_limit_type is not defined, we default to property_count which is just an incrementing count
55
58
  # todo: Add ability to specify parameter delimiter representation and take into account in property_field_size
59
+ if configured_properties is not None and property_field not in configured_properties:
60
+ continue
56
61
  property_field_size = (
57
62
  len(property_field)
58
63
  + 3 # The +3 represents the extra characters for encoding the delimiter in between properties
@@ -0,0 +1,10 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
3
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_selector.json_schema_property_selector import (
4
+ JsonSchemaPropertySelector,
5
+ )
6
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_selector.property_selector import (
7
+ PropertySelector,
8
+ )
9
+
10
+ __all__ = ["JsonSchemaPropertySelector", "PropertySelector"]
@@ -0,0 +1,54 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+ import copy
3
+ from dataclasses import InitVar, dataclass, field
4
+ from typing import Any, List, Mapping, Optional, Set
5
+
6
+ from airbyte_protocol_dataclasses.models import ConfiguredAirbyteStream
7
+
8
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_selector.property_selector import (
9
+ PropertySelector,
10
+ )
11
+ from airbyte_cdk.sources.declarative.transformations import RecordTransformation
12
+ from airbyte_cdk.sources.types import Config
13
+
14
+
15
+ @dataclass
16
+ class JsonSchemaPropertySelector(PropertySelector):
17
+ """
18
+ A class that contains a list of transformations to apply to properties.
19
+ """
20
+
21
+ config: Config
22
+ parameters: InitVar[Mapping[str, Any]]
23
+ # For other non-read operations, there is no configured catalog and therefore no schema selection
24
+ configured_stream: Optional[ConfiguredAirbyteStream] = None
25
+ properties_transformations: List[RecordTransformation] = field(default_factory=lambda: [])
26
+
27
+ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
28
+ self._parameters = parameters
29
+
30
+ def select(self) -> Optional[Set[str]]:
31
+ """
32
+ Returns the set of properties that have been selected for the configured stream. The intent being that
33
+ we should only query for selected properties not all since disabled properties are discarded.
34
+
35
+ When configured_stream is None, then there was no incoming catalog and all fields should be retrieved.
36
+ This is different from the empty set where the json_schema was empty and no schema fields were selected.
37
+ """
38
+
39
+ # For CHECK/DISCOVER operations, there is no catalog and therefore no configured stream or selected
40
+ # columns. In this case we return None which is interpreted by the QueryProperties component to not
41
+ # perform any filtering of schema properties and fetch all of them
42
+ if self.configured_stream is None:
43
+ return None
44
+
45
+ schema_properties = copy.deepcopy(
46
+ self.configured_stream.stream.json_schema.get("properties", {})
47
+ )
48
+ if self.properties_transformations:
49
+ for transformation in self.properties_transformations:
50
+ transformation.transform(
51
+ record=schema_properties,
52
+ config=self.config,
53
+ )
54
+ return set(schema_properties.keys())
@@ -0,0 +1,24 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
3
+ from abc import ABC, abstractmethod
4
+ from dataclasses import dataclass
5
+ from typing import Optional, Set
6
+
7
+
8
+ @dataclass
9
+ class PropertySelector(ABC):
10
+ """
11
+ Describes the interface for selecting and transforming properties from a configured stream's schema
12
+ to determine which properties should be queried from the API.
13
+ """
14
+
15
+ @abstractmethod
16
+ def select(self) -> Optional[Set[str]]:
17
+ """
18
+ Selects and returns the set of properties that should be queried from the API based on the
19
+ configured stream's schema and any applicable transformations.
20
+
21
+ Returns:
22
+ Set[str]: The set of property names to query
23
+ """
24
+ pass
@@ -1,12 +1,16 @@
1
1
  # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
2
 
3
3
  from dataclasses import InitVar, dataclass
4
- from typing import Any, Iterable, List, Mapping, Optional, Union
4
+ from typing import Any, Iterable, List, Mapping, Optional, Set, Union
5
5
 
6
+ from airbyte_cdk.models import ConfiguredAirbyteStream
6
7
  from airbyte_cdk.sources.declarative.requesters.query_properties import (
7
8
  PropertiesFromEndpoint,
8
9
  PropertyChunking,
9
10
  )
11
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_selector import (
12
+ PropertySelector,
13
+ )
10
14
  from airbyte_cdk.sources.types import Config, StreamSlice
11
15
 
12
16
 
@@ -22,18 +26,24 @@ class QueryProperties:
22
26
  property_list: Optional[Union[List[str], PropertiesFromEndpoint]]
23
27
  always_include_properties: Optional[List[str]]
24
28
  property_chunking: Optional[PropertyChunking]
29
+ property_selector: Optional[PropertySelector]
25
30
  config: Config
26
31
  parameters: InitVar[Mapping[str, Any]]
27
32
 
28
33
  def get_request_property_chunks(
29
- self, stream_slice: Optional[StreamSlice] = None
34
+ self,
35
+ stream_slice: Optional[StreamSlice] = None,
30
36
  ) -> Iterable[List[str]]:
31
37
  """
32
38
  Uses the defined property_list to fetch the total set of properties dynamically or from a static list
33
39
  and based on the resulting properties, performs property chunking if applicable.
34
40
  :param stream_slice: The StreamSlice of the current partition being processed during the sync. This is included
35
41
  because subcomponents of QueryProperties can make use of interpolation of the top-level StreamSlice object
42
+ :param configured_stream: The customer configured stream being synced which is needed to identify which
43
+ record fields to query for and emit.
36
44
  """
45
+ configured_properties = self.property_selector.select() if self.property_selector else None
46
+
37
47
  fields: Union[Iterable[str], List[str]]
38
48
  if isinstance(self.property_list, PropertiesFromEndpoint):
39
49
  fields = self.property_list.get_properties_from_endpoint(stream_slice=stream_slice)
@@ -42,7 +52,21 @@ class QueryProperties:
42
52
 
43
53
  if self.property_chunking:
44
54
  yield from self.property_chunking.get_request_property_chunks(
45
- property_fields=fields, always_include_properties=self.always_include_properties
55
+ property_fields=fields,
56
+ always_include_properties=self.always_include_properties,
57
+ configured_properties=configured_properties,
46
58
  )
47
59
  else:
48
- yield list(fields)
60
+ if configured_properties is not None:
61
+ all_fields = (
62
+ [field for field in fields if field in configured_properties]
63
+ if configured_properties is not None
64
+ else list(fields)
65
+ )
66
+ else:
67
+ all_fields = list(fields)
68
+
69
+ if self.always_include_properties:
70
+ all_fields = list(self.always_include_properties) + all_fields
71
+
72
+ yield all_fields
@@ -386,7 +386,7 @@ class SimpleRetriever(Retriever):
386
386
  try:
387
387
  if self.additional_query_properties:
388
388
  for properties in self.additional_query_properties.get_request_property_chunks(
389
- stream_slice=stream_slice
389
+ stream_slice=stream_slice,
390
390
  ):
391
391
  stream_slice = StreamSlice(
392
392
  partition=stream_slice.partition or {},
@@ -198,7 +198,7 @@ class ConcurrentCursor(Cursor):
198
198
  # not thread safe. When multiple partitions are being closed by the cursor at the same time, it is
199
199
  # possible for one partition to update concurrent_state after a second partition has already read
200
200
  # the previous state. This can lead to the second partition overwriting the previous one's state.
201
- # self._lock = threading.Lock()
201
+ self._lock = threading.Lock()
202
202
 
203
203
  @property
204
204
  def state(self) -> MutableMapping[str, Any]:
@@ -273,14 +273,14 @@ class ConcurrentCursor(Cursor):
273
273
  return self._connector_state_converter.parse_value(self._cursor_field.extract_value(record))
274
274
 
275
275
  def close_partition(self, partition: Partition) -> None:
276
- #with self._lock:
277
- slice_count_before = len(self._concurrent_state.get("slices", []))
278
- self._add_slice_to_state(partition)
279
- if slice_count_before < len(
280
- self._concurrent_state["slices"]
281
- ): # only emit if at least one slice has been processed
282
- self._merge_partitions()
283
- self._emit_state_message()
276
+ with self._lock:
277
+ slice_count_before = len(self._concurrent_state.get("slices", []))
278
+ self._add_slice_to_state(partition)
279
+ if slice_count_before < len(
280
+ self._concurrent_state["slices"]
281
+ ): # only emit if at least one slice has been processed
282
+ self._merge_partitions()
283
+ self._emit_state_message()
284
284
  self._has_closed_at_least_one_slice = True
285
285
 
286
286
  def _add_slice_to_state(self, partition: Partition) -> None:
@@ -60,7 +60,7 @@ class PartitionReader:
60
60
  self._queue = queue
61
61
  self._partition_logger = partition_logger
62
62
 
63
- def process_partition(self, partition: Partition) -> None:
63
+ def process_partition(self, partition: Partition, cursor: Cursor) -> None:
64
64
  """
65
65
  Process a partition and put the records in the output queue.
66
66
  When all the partitions are added to the queue, a sentinel is added to the queue to indicate that all the partitions have been generated.
@@ -78,6 +78,8 @@ class PartitionReader:
78
78
 
79
79
  for record in partition.read():
80
80
  self._queue.put(record)
81
+ cursor.observe(record)
82
+ cursor.close_partition(partition)
81
83
  self._queue.put(PartitionCompleteSentinel(partition, self._IS_SUCCESSFUL))
82
84
  except Exception as e:
83
85
  self._queue.put(StreamThreadException(e, partition.stream_name()))
@@ -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 = "7.3.10dev0" # Version will be calculated dynamically.
26
+ version = "7.4.0" # Version will be calculated dynamically.
27
27
 
28
28
  [tool.poetry-dynamic-versioning]
29
29
  enable = false
File without changes