airbyte-cdk 6.9.2__tar.gz → 6.9.2.dev4100__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.
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/PKG-INFO +1 -1
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +4 -5
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +88 -1
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/jinja.py +35 -36
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +43 -5
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +4 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +72 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/__init__.py +2 -1
- airbyte_cdk-6.9.2.dev4100/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +219 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/http_client.py +5 -15
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/pyproject.toml +1 -4
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/LICENSE.txt +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/README.md +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -56,9 +56,8 @@ from airbyte_cdk.sources.types import Config, StreamState
|
|
56
56
|
|
57
57
|
|
58
58
|
class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
59
|
-
# By default, we defer to a value of
|
60
|
-
|
61
|
-
_LOWEST_SAFE_CONCURRENCY_LEVEL = 2
|
59
|
+
# By default, we defer to a value of 1 which represents running a connector using the Concurrent CDK engine on only one thread.
|
60
|
+
SINGLE_THREADED_CONCURRENCY_LEVEL = 1
|
62
61
|
|
63
62
|
def __init__(
|
64
63
|
self,
|
@@ -108,8 +107,8 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
108
107
|
concurrency_level // 2, 1
|
109
108
|
) # Partition_generation iterates using range based on this value. If this is floored to zero we end up in a dead lock during start up
|
110
109
|
else:
|
111
|
-
concurrency_level = self.
|
112
|
-
initial_number_of_partitions_to_generate = self.
|
110
|
+
concurrency_level = self.SINGLE_THREADED_CONCURRENCY_LEVEL
|
111
|
+
initial_number_of_partitions_to_generate = self.SINGLE_THREADED_CONCURRENCY_LEVEL
|
113
112
|
|
114
113
|
self._concurrent_source = ConcurrentSource.create(
|
115
114
|
num_workers=concurrency_level,
|
@@ -327,7 +327,7 @@ definitions:
|
|
327
327
|
additionalProperties: true
|
328
328
|
ConcurrencyLevel:
|
329
329
|
title: Concurrency Level
|
330
|
-
description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time.
|
330
|
+
description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time.
|
331
331
|
type: object
|
332
332
|
required:
|
333
333
|
- default_concurrency
|
@@ -1221,6 +1221,7 @@ definitions:
|
|
1221
1221
|
- "$ref": "#/definitions/InlineSchemaLoader"
|
1222
1222
|
- "$ref": "#/definitions/JsonFileSchemaLoader"
|
1223
1223
|
- "$ref": "#/definitions/CustomSchemaLoader"
|
1224
|
+
- "$ref": "#/definitions/DynamicSchemaLoader"
|
1224
1225
|
# TODO we have move the transformation to the RecordSelector level in the code but kept this here for
|
1225
1226
|
# compatibility reason. We should eventually move this to align with the code.
|
1226
1227
|
transformations:
|
@@ -1684,6 +1685,92 @@ definitions:
|
|
1684
1685
|
$parameters:
|
1685
1686
|
type: object
|
1686
1687
|
additionalProperties: true
|
1688
|
+
TypesMap:
|
1689
|
+
title: Types Map
|
1690
|
+
description: (This component is experimental. Use at your own risk.) Represents a mapping between a current type and its corresponding target type.
|
1691
|
+
type: object
|
1692
|
+
required:
|
1693
|
+
- target_type
|
1694
|
+
- current_type
|
1695
|
+
properties:
|
1696
|
+
target_type:
|
1697
|
+
anyOf:
|
1698
|
+
- type: string
|
1699
|
+
- type: array
|
1700
|
+
items:
|
1701
|
+
type: string
|
1702
|
+
current_type:
|
1703
|
+
anyOf:
|
1704
|
+
- type: string
|
1705
|
+
- type: array
|
1706
|
+
items:
|
1707
|
+
type: string
|
1708
|
+
SchemaTypeIdentifier:
|
1709
|
+
title: Schema Type Identifier
|
1710
|
+
description: (This component is experimental. Use at your own risk.) Identifies schema details for dynamic schema extraction and processing.
|
1711
|
+
type: object
|
1712
|
+
required:
|
1713
|
+
- key_pointer
|
1714
|
+
properties:
|
1715
|
+
type:
|
1716
|
+
type: string
|
1717
|
+
enum: [SchemaTypeIdentifier]
|
1718
|
+
schema_pointer:
|
1719
|
+
title: Schema Path
|
1720
|
+
description: List of nested fields defining the schema field path to extract. Defaults to [].
|
1721
|
+
type: array
|
1722
|
+
default: []
|
1723
|
+
items:
|
1724
|
+
- type: string
|
1725
|
+
interpolation_context:
|
1726
|
+
- config
|
1727
|
+
key_pointer:
|
1728
|
+
title: Key Path
|
1729
|
+
description: List of potentially nested fields describing the full path of the field key to extract.
|
1730
|
+
type: array
|
1731
|
+
items:
|
1732
|
+
- type: string
|
1733
|
+
interpolation_context:
|
1734
|
+
- config
|
1735
|
+
type_pointer:
|
1736
|
+
title: Type Path
|
1737
|
+
description: List of potentially nested fields describing the full path of the field type to extract.
|
1738
|
+
type: array
|
1739
|
+
items:
|
1740
|
+
- type: string
|
1741
|
+
interpolation_context:
|
1742
|
+
- config
|
1743
|
+
types_mapping:
|
1744
|
+
type: array
|
1745
|
+
items:
|
1746
|
+
- "$ref": "#/definitions/TypesMap"
|
1747
|
+
$parameters:
|
1748
|
+
type: object
|
1749
|
+
additionalProperties: true
|
1750
|
+
DynamicSchemaLoader:
|
1751
|
+
title: Dynamic Schema Loader
|
1752
|
+
description: (This component is experimental. Use at your own risk.) Loads a schema by extracting data from retrieved records.
|
1753
|
+
type: object
|
1754
|
+
required:
|
1755
|
+
- type
|
1756
|
+
- retriever
|
1757
|
+
- schema_type_identifier
|
1758
|
+
properties:
|
1759
|
+
type:
|
1760
|
+
type: string
|
1761
|
+
enum: [DynamicSchemaLoader]
|
1762
|
+
retriever:
|
1763
|
+
title: Retriever
|
1764
|
+
description: Component used to coordinate how records are extracted across stream slices and request pages.
|
1765
|
+
anyOf:
|
1766
|
+
- "$ref": "#/definitions/AsyncRetriever"
|
1767
|
+
- "$ref": "#/definitions/CustomRetriever"
|
1768
|
+
- "$ref": "#/definitions/SimpleRetriever"
|
1769
|
+
schema_type_identifier:
|
1770
|
+
"$ref": "#/definitions/SchemaTypeIdentifier"
|
1771
|
+
$parameters:
|
1772
|
+
type: object
|
1773
|
+
additionalProperties: true
|
1687
1774
|
InlineSchemaLoader:
|
1688
1775
|
title: Inline Schema Loader
|
1689
1776
|
description: Loads a schema that is defined directly in the manifest file.
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
import ast
|
6
6
|
from functools import cache
|
7
|
-
from typing import Any, Mapping, Optional,
|
7
|
+
from typing import Any, Mapping, Optional, Tuple, Type
|
8
8
|
|
9
9
|
from jinja2 import meta
|
10
10
|
from jinja2.environment import Template
|
@@ -27,35 +27,7 @@ class StreamPartitionAccessEnvironment(SandboxedEnvironment):
|
|
27
27
|
def is_safe_attribute(self, obj: Any, attr: str, value: Any) -> bool:
|
28
28
|
if attr in ["_partition"]:
|
29
29
|
return True
|
30
|
-
return super().is_safe_attribute(obj, attr, value)
|
31
|
-
|
32
|
-
|
33
|
-
# These aliases are used to deprecate existing keywords without breaking all existing connectors.
|
34
|
-
_ALIASES = {
|
35
|
-
"stream_interval": "stream_slice", # Use stream_interval to access incremental_sync values
|
36
|
-
"stream_partition": "stream_slice", # Use stream_partition to access partition router's values
|
37
|
-
}
|
38
|
-
|
39
|
-
# These extensions are not installed so they're not currently a problem,
|
40
|
-
# but we're still explicitly removing them from the jinja context.
|
41
|
-
# At worst, this is documentation that we do NOT want to include these extensions because of the potential security risks
|
42
|
-
_RESTRICTED_EXTENSIONS = ["jinja2.ext.loopcontrols"] # Adds support for break continue in loops
|
43
|
-
|
44
|
-
# By default, these Python builtin functions are available in the Jinja context.
|
45
|
-
# We explicitly remove them because of the potential security risk.
|
46
|
-
# Please add a unit test to test_jinja.py when adding a restriction.
|
47
|
-
_RESTRICTED_BUILTIN_FUNCTIONS = [
|
48
|
-
"range"
|
49
|
-
] # The range function can cause very expensive computations
|
50
|
-
|
51
|
-
_ENVIRONMENT = StreamPartitionAccessEnvironment()
|
52
|
-
_ENVIRONMENT.filters.update(**filters)
|
53
|
-
_ENVIRONMENT.globals.update(**macros)
|
54
|
-
|
55
|
-
for extension in _RESTRICTED_EXTENSIONS:
|
56
|
-
_ENVIRONMENT.extensions.pop(extension, None)
|
57
|
-
for builtin in _RESTRICTED_BUILTIN_FUNCTIONS:
|
58
|
-
_ENVIRONMENT.globals.pop(builtin, None)
|
30
|
+
return super().is_safe_attribute(obj, attr, value)
|
59
31
|
|
60
32
|
|
61
33
|
class JinjaInterpolation(Interpolation):
|
@@ -76,6 +48,34 @@ class JinjaInterpolation(Interpolation):
|
|
76
48
|
Additional information on jinja templating can be found at https://jinja.palletsprojects.com/en/3.1.x/templates/#
|
77
49
|
"""
|
78
50
|
|
51
|
+
# These aliases are used to deprecate existing keywords without breaking all existing connectors.
|
52
|
+
ALIASES = {
|
53
|
+
"stream_interval": "stream_slice", # Use stream_interval to access incremental_sync values
|
54
|
+
"stream_partition": "stream_slice", # Use stream_partition to access partition router's values
|
55
|
+
}
|
56
|
+
|
57
|
+
# These extensions are not installed so they're not currently a problem,
|
58
|
+
# but we're still explicitely removing them from the jinja context.
|
59
|
+
# At worst, this is documentation that we do NOT want to include these extensions because of the potential security risks
|
60
|
+
RESTRICTED_EXTENSIONS = ["jinja2.ext.loopcontrols"] # Adds support for break continue in loops
|
61
|
+
|
62
|
+
# By default, these Python builtin functions are available in the Jinja context.
|
63
|
+
# We explicitely remove them because of the potential security risk.
|
64
|
+
# Please add a unit test to test_jinja.py when adding a restriction.
|
65
|
+
RESTRICTED_BUILTIN_FUNCTIONS = [
|
66
|
+
"range"
|
67
|
+
] # The range function can cause very expensive computations
|
68
|
+
|
69
|
+
def __init__(self) -> None:
|
70
|
+
self._environment = StreamPartitionAccessEnvironment()
|
71
|
+
self._environment.filters.update(**filters)
|
72
|
+
self._environment.globals.update(**macros)
|
73
|
+
|
74
|
+
for extension in self.RESTRICTED_EXTENSIONS:
|
75
|
+
self._environment.extensions.pop(extension, None)
|
76
|
+
for builtin in self.RESTRICTED_BUILTIN_FUNCTIONS:
|
77
|
+
self._environment.globals.pop(builtin, None)
|
78
|
+
|
79
79
|
def eval(
|
80
80
|
self,
|
81
81
|
input_str: str,
|
@@ -86,7 +86,7 @@ class JinjaInterpolation(Interpolation):
|
|
86
86
|
) -> Any:
|
87
87
|
context = {"config": config, **additional_parameters}
|
88
88
|
|
89
|
-
for alias, equivalent in
|
89
|
+
for alias, equivalent in self.ALIASES.items():
|
90
90
|
if alias in context:
|
91
91
|
# This is unexpected. We could ignore or log a warning, but failing loudly should result in fewer surprises
|
92
92
|
raise ValueError(
|
@@ -105,7 +105,6 @@ class JinjaInterpolation(Interpolation):
|
|
105
105
|
raise Exception(f"Expected a string, got {input_str}")
|
106
106
|
except UndefinedError:
|
107
107
|
pass
|
108
|
-
|
109
108
|
# If result is empty or resulted in an undefined error, evaluate and return the default string
|
110
109
|
return self._literal_eval(self._eval(default, context), valid_types)
|
111
110
|
|
@@ -133,16 +132,16 @@ class JinjaInterpolation(Interpolation):
|
|
133
132
|
return s
|
134
133
|
|
135
134
|
@cache
|
136
|
-
def _find_undeclared_variables(self, s: Optional[str]) ->
|
135
|
+
def _find_undeclared_variables(self, s: Optional[str]) -> set[str]:
|
137
136
|
"""
|
138
137
|
Find undeclared variables and cache them
|
139
138
|
"""
|
140
|
-
ast =
|
139
|
+
ast = self._environment.parse(s) # type: ignore # parse is able to handle None
|
141
140
|
return meta.find_undeclared_variables(ast)
|
142
141
|
|
143
142
|
@cache
|
144
|
-
def _compile(self, s: str) -> Template:
|
143
|
+
def _compile(self, s: Optional[str]) -> Template:
|
145
144
|
"""
|
146
145
|
We must cache the Jinja Template ourselves because we're using `from_string` instead of a template loader
|
147
146
|
"""
|
148
|
-
return
|
147
|
+
return self._environment.from_string(s) # type: ignore [arg-type] # Expected `str | Template` but passed `str | None`
|
@@ -650,6 +650,32 @@ class HttpResponseFilter(BaseModel):
|
|
650
650
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
651
651
|
|
652
652
|
|
653
|
+
class TypesMap(BaseModel):
|
654
|
+
target_type: Union[str, List[str]]
|
655
|
+
current_type: Union[str, List[str]]
|
656
|
+
|
657
|
+
|
658
|
+
class SchemaTypeIdentifier(BaseModel):
|
659
|
+
type: Optional[Literal["SchemaTypeIdentifier"]] = None
|
660
|
+
schema_pointer: Optional[List[str]] = Field(
|
661
|
+
[],
|
662
|
+
description="List of nested fields defining the schema field path to extract. Defaults to [].",
|
663
|
+
title="Schema Path",
|
664
|
+
)
|
665
|
+
key_pointer: List[str] = Field(
|
666
|
+
...,
|
667
|
+
description="List of potentially nested fields describing the full path of the field key to extract.",
|
668
|
+
title="Key Path",
|
669
|
+
)
|
670
|
+
type_pointer: Optional[List[str]] = Field(
|
671
|
+
None,
|
672
|
+
description="List of potentially nested fields describing the full path of the field type to extract.",
|
673
|
+
title="Type Path",
|
674
|
+
)
|
675
|
+
types_mapping: Optional[List[TypesMap]] = None
|
676
|
+
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
677
|
+
|
678
|
+
|
653
679
|
class InlineSchemaLoader(BaseModel):
|
654
680
|
type: Literal["InlineSchemaLoader"]
|
655
681
|
schema_: Optional[Dict[str, Any]] = Field(
|
@@ -822,13 +848,13 @@ class OauthConnectorInputSpecification(BaseModel):
|
|
822
848
|
)
|
823
849
|
extract_output: List[str] = Field(
|
824
850
|
...,
|
825
|
-
description="The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config.
|
851
|
+
description="The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config.",
|
826
852
|
examples=[{"extract_output": ["access_token", "refresh_token", "other_field"]}],
|
827
853
|
title="DeclarativeOAuth Extract Output",
|
828
854
|
)
|
829
855
|
state: Optional[State] = Field(
|
830
856
|
None,
|
831
|
-
description="The DeclarativeOAuth Specific object to provide the criteria of how the `state` query param should be constructed,\nincluding length and complexity.
|
857
|
+
description="The DeclarativeOAuth Specific object to provide the criteria of how the `state` query param should be constructed,\nincluding length and complexity.",
|
832
858
|
examples=[{"state": {"min": 7, "max": 128}}],
|
833
859
|
title="(Optional) DeclarativeOAuth Configurable State Query Param",
|
834
860
|
)
|
@@ -852,13 +878,13 @@ class OauthConnectorInputSpecification(BaseModel):
|
|
852
878
|
)
|
853
879
|
state_key: Optional[str] = Field(
|
854
880
|
None,
|
855
|
-
description="The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider.
|
881
|
+
description="The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider.",
|
856
882
|
examples=[{"state_key": "my_custom_state_key_key_name"}],
|
857
883
|
title="(Optional) DeclarativeOAuth State Key Override",
|
858
884
|
)
|
859
885
|
auth_code_key: Optional[str] = Field(
|
860
886
|
None,
|
861
|
-
description="The DeclarativeOAuth Specific optional override to provide the custom `code` key name to something like `auth_code` or `custom_auth_code`, if required by data-provider.
|
887
|
+
description="The DeclarativeOAuth Specific optional override to provide the custom `code` key name to something like `auth_code` or `custom_auth_code`, if required by data-provider.",
|
862
888
|
examples=[{"auth_code_key": "my_custom_auth_code_key_name"}],
|
863
889
|
title="(Optional) DeclarativeOAuth Auth Code Key Override",
|
864
890
|
)
|
@@ -1609,7 +1635,7 @@ class DeclarativeStream(BaseModel):
|
|
1609
1635
|
primary_key: Optional[PrimaryKey] = Field(
|
1610
1636
|
"", description="The primary key of the stream.", title="Primary Key"
|
1611
1637
|
)
|
1612
|
-
schema_loader: Optional[Union[InlineSchemaLoader, JsonFileSchemaLoader, CustomSchemaLoader]] = (
|
1638
|
+
schema_loader: Optional[Union[InlineSchemaLoader, JsonFileSchemaLoader, CustomSchemaLoader, DynamicSchemaLoader]] = (
|
1613
1639
|
Field(
|
1614
1640
|
None,
|
1615
1641
|
description="Component used to retrieve the schema for the current stream.",
|
@@ -1774,6 +1800,17 @@ class HttpRequester(BaseModel):
|
|
1774
1800
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
1775
1801
|
|
1776
1802
|
|
1803
|
+
class DynamicSchemaLoader(BaseModel):
|
1804
|
+
type: Literal["DynamicSchemaLoader"]
|
1805
|
+
retriever: Union[AsyncRetriever, CustomRetriever, SimpleRetriever] = Field(
|
1806
|
+
...,
|
1807
|
+
description="Component used to coordinate how records are extracted across stream slices and request pages.",
|
1808
|
+
title="Retriever",
|
1809
|
+
)
|
1810
|
+
schema_type_identifier: SchemaTypeIdentifier
|
1811
|
+
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
1812
|
+
|
1813
|
+
|
1777
1814
|
class ParentStreamConfig(BaseModel):
|
1778
1815
|
type: Literal["ParentStreamConfig"]
|
1779
1816
|
parent_key: str = Field(
|
@@ -1981,5 +2018,6 @@ DeclarativeSource2.update_forward_refs()
|
|
1981
2018
|
SelectiveAuthenticator.update_forward_refs()
|
1982
2019
|
DeclarativeStream.update_forward_refs()
|
1983
2020
|
SessionTokenAuthenticator.update_forward_refs()
|
2021
|
+
DynamicSchemaLoader.update_forward_refs()
|
1984
2022
|
SimpleRetriever.update_forward_refs()
|
1985
2023
|
AsyncRetriever.update_forward_refs()
|
@@ -64,6 +64,10 @@ DEFAULT_MODEL_TYPES: Mapping[str, str] = {
|
|
64
64
|
"AddFields.fields": "AddedFieldDefinition",
|
65
65
|
# CustomPartitionRouter
|
66
66
|
"CustomPartitionRouter.parent_stream_configs": "ParentStreamConfig",
|
67
|
+
# DynamicSchemaLoader
|
68
|
+
"DynamicSchemaLoader.retriever": "SimpleRetriever",
|
69
|
+
# SchemaTypeIdentifier
|
70
|
+
"SchemaTypeIdentifier.types_map": "TypesMap",
|
67
71
|
}
|
68
72
|
|
69
73
|
# We retain a separate registry for custom components to automatically insert the type if it is missing. This is intended to
|
@@ -188,6 +188,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
188
188
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
189
189
|
DpathExtractor as DpathExtractorModel,
|
190
190
|
)
|
191
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
192
|
+
DynamicSchemaLoader as DynamicSchemaLoaderModel,
|
193
|
+
)
|
191
194
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
192
195
|
ExponentialBackoffStrategy as ExponentialBackoffStrategyModel,
|
193
196
|
)
|
@@ -278,6 +281,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
278
281
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
279
282
|
ResponseToFileExtractor as ResponseToFileExtractorModel,
|
280
283
|
)
|
284
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
285
|
+
SchemaTypeIdentifier as SchemaTypeIdentifierModel,
|
286
|
+
)
|
281
287
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
282
288
|
SelectiveAuthenticator as SelectiveAuthenticatorModel,
|
283
289
|
)
|
@@ -291,6 +297,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
291
297
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
292
298
|
SubstreamPartitionRouter as SubstreamPartitionRouterModel,
|
293
299
|
)
|
300
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
301
|
+
TypesMap as TypesMapModel,
|
302
|
+
)
|
294
303
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import ValueType
|
295
304
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
296
305
|
WaitTimeFromHeader as WaitTimeFromHeaderModel,
|
@@ -356,8 +365,11 @@ from airbyte_cdk.sources.declarative.retrievers import (
|
|
356
365
|
)
|
357
366
|
from airbyte_cdk.sources.declarative.schema import (
|
358
367
|
DefaultSchemaLoader,
|
368
|
+
DynamicSchemaLoader,
|
359
369
|
InlineSchemaLoader,
|
360
370
|
JsonFileSchemaLoader,
|
371
|
+
SchemaTypeIdentifier,
|
372
|
+
TypesMap,
|
361
373
|
)
|
362
374
|
from airbyte_cdk.sources.declarative.spec import Spec
|
363
375
|
from airbyte_cdk.sources.declarative.stream_slicers import StreamSlicer
|
@@ -455,6 +467,9 @@ class ModelToComponentFactory:
|
|
455
467
|
IterableDecoderModel: self.create_iterable_decoder,
|
456
468
|
XmlDecoderModel: self.create_xml_decoder,
|
457
469
|
JsonFileSchemaLoaderModel: self.create_json_file_schema_loader,
|
470
|
+
DynamicSchemaLoaderModel: self.create_dynamic_schema_loader,
|
471
|
+
SchemaTypeIdentifierModel: self.create_schema_type_identifier,
|
472
|
+
TypesMapModel: self.create_types_map,
|
458
473
|
JwtAuthenticatorModel: self.create_jwt_authenticator,
|
459
474
|
LegacyToPerPartitionStateMigrationModel: self.create_legacy_to_per_partition_state_migration,
|
460
475
|
ListPartitionRouterModel: self.create_list_partition_router,
|
@@ -1574,6 +1589,63 @@ class ModelToComponentFactory:
|
|
1574
1589
|
) -> InlineSchemaLoader:
|
1575
1590
|
return InlineSchemaLoader(schema=model.schema_ or {}, parameters={})
|
1576
1591
|
|
1592
|
+
@staticmethod
|
1593
|
+
def create_types_map(model: TypesMapModel, **kwargs: Any) -> TypesMap:
|
1594
|
+
return TypesMap(target_type=model.target_type, current_type=model.current_type)
|
1595
|
+
|
1596
|
+
def create_schema_type_identifier(
|
1597
|
+
self, model: SchemaTypeIdentifierModel, config: Config, **kwargs: Any
|
1598
|
+
) -> SchemaTypeIdentifier:
|
1599
|
+
types_mapping = []
|
1600
|
+
if model.types_mapping:
|
1601
|
+
types_mapping.extend(
|
1602
|
+
[
|
1603
|
+
self._create_component_from_model(types_map, config=config)
|
1604
|
+
for types_map in model.types_mapping
|
1605
|
+
]
|
1606
|
+
)
|
1607
|
+
model_schema_pointer: List[Union[InterpolatedString, str]] = (
|
1608
|
+
[x for x in model.schema_pointer] if model.schema_pointer else []
|
1609
|
+
)
|
1610
|
+
model_key_pointer: List[Union[InterpolatedString, str]] = [x for x in model.key_pointer]
|
1611
|
+
model_type_pointer: Optional[List[Union[InterpolatedString, str]]] = (
|
1612
|
+
[x for x in model.type_pointer] if model.type_pointer else None
|
1613
|
+
)
|
1614
|
+
|
1615
|
+
return SchemaTypeIdentifier(
|
1616
|
+
schema_pointer=model_schema_pointer,
|
1617
|
+
key_pointer=model_key_pointer,
|
1618
|
+
type_pointer=model_type_pointer,
|
1619
|
+
types_mapping=types_mapping,
|
1620
|
+
parameters=model.parameters or {},
|
1621
|
+
)
|
1622
|
+
|
1623
|
+
def create_dynamic_schema_loader(
|
1624
|
+
self, model: DynamicSchemaLoaderModel, config: Config, **kwargs: Any
|
1625
|
+
) -> DynamicSchemaLoader:
|
1626
|
+
stream_slicer = self._build_stream_slicer_from_partition_router(model.retriever, config)
|
1627
|
+
combined_slicers = self._build_resumable_cursor_from_paginator(
|
1628
|
+
model.retriever, stream_slicer
|
1629
|
+
)
|
1630
|
+
|
1631
|
+
retriever = self._create_component_from_model(
|
1632
|
+
model=model.retriever,
|
1633
|
+
config=config,
|
1634
|
+
name="",
|
1635
|
+
primary_key=None,
|
1636
|
+
stream_slicer=combined_slicers,
|
1637
|
+
transformations=[],
|
1638
|
+
)
|
1639
|
+
schema_type_identifier = self._create_component_from_model(
|
1640
|
+
model.schema_type_identifier, config=config, parameters=model.parameters or {}
|
1641
|
+
)
|
1642
|
+
return DynamicSchemaLoader(
|
1643
|
+
retriever=retriever,
|
1644
|
+
config=config,
|
1645
|
+
schema_type_identifier=schema_type_identifier,
|
1646
|
+
parameters=model.parameters or {},
|
1647
|
+
)
|
1648
|
+
|
1577
1649
|
@staticmethod
|
1578
1650
|
def create_json_decoder(model: JsonDecoderModel, config: Config, **kwargs: Any) -> JsonDecoder:
|
1579
1651
|
return JsonDecoder(parameters={})
|
{airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/__init__.py
RENAMED
@@ -6,5 +6,6 @@ from airbyte_cdk.sources.declarative.schema.default_schema_loader import Default
|
|
6
6
|
from airbyte_cdk.sources.declarative.schema.inline_schema_loader import InlineSchemaLoader
|
7
7
|
from airbyte_cdk.sources.declarative.schema.json_file_schema_loader import JsonFileSchemaLoader
|
8
8
|
from airbyte_cdk.sources.declarative.schema.schema_loader import SchemaLoader
|
9
|
+
from airbyte_cdk.sources.declarative.schema.dynamic_schema_loader import DynamicSchemaLoader, TypesMap, SchemaTypeIdentifier
|
9
10
|
|
10
|
-
__all__ = ["JsonFileSchemaLoader", "DefaultSchemaLoader", "SchemaLoader", "InlineSchemaLoader"]
|
11
|
+
__all__ = ["JsonFileSchemaLoader", "DefaultSchemaLoader", "SchemaLoader", "InlineSchemaLoader", "DynamicSchemaLoader", "TypesMap", "SchemaTypeIdentifier"]
|