airbyte-cdk 6.11.2.dev1__tar.gz → 6.12.0rc1__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.11.2.dev1 → airbyte_cdk-6.12.0rc1}/PKG-INFO +1 -1
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +85 -31
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/__init__.py +2 -1
- airbyte_cdk-6.12.0rc1/airbyte_cdk/sources/declarative/decoders/parsers/__init__.py +7 -0
- airbyte_cdk-6.12.0rc1/airbyte_cdk/sources/declarative/decoders/parsers/parsers.py +49 -0
- airbyte_cdk-6.12.0rc1/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +54 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +76 -29
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +30 -15
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +1 -9
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +31 -8
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/pyproject.toml +1 -1
- airbyte_cdk-6.11.2.dev1/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -65
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/LICENSE.txt +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/README.md +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.11.2.dev1 → airbyte_cdk-6.12.0rc1}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -1897,6 +1897,56 @@ definitions:
|
|
1897
1897
|
$parameters:
|
1898
1898
|
type: object
|
1899
1899
|
additionalProperties: true
|
1900
|
+
ZipfileDecoder:
|
1901
|
+
title: Zipfile Decoder
|
1902
|
+
description: Decoder for response data that is returned as zipfile(s).
|
1903
|
+
type: object
|
1904
|
+
additionalProperties: true
|
1905
|
+
required:
|
1906
|
+
- type
|
1907
|
+
properties:
|
1908
|
+
type:
|
1909
|
+
type: string
|
1910
|
+
enum: [ZipfileDecoder]
|
1911
|
+
parser:
|
1912
|
+
title: Parser
|
1913
|
+
description: Parser to parse the decompressed data from the zipfile(s).
|
1914
|
+
anyOf:
|
1915
|
+
- "$ref": "#/definitions/JsonParser"
|
1916
|
+
- "$ref": "#/definitions/CustomParser"
|
1917
|
+
JsonParser:
|
1918
|
+
title: JsonParser
|
1919
|
+
description: Parser used for parsing str, bytes, or bytearray data and returning data in a dictionary format.
|
1920
|
+
type: object
|
1921
|
+
additionalProperties: true
|
1922
|
+
required:
|
1923
|
+
- type
|
1924
|
+
properties:
|
1925
|
+
type:
|
1926
|
+
type: string
|
1927
|
+
enum: [JsonParser]
|
1928
|
+
CustomParser:
|
1929
|
+
title: Custom Parser
|
1930
|
+
description: Use this to implement custom parser logic.
|
1931
|
+
type: object
|
1932
|
+
additionalProperties: true
|
1933
|
+
required:
|
1934
|
+
- type
|
1935
|
+
- class_name
|
1936
|
+
properties:
|
1937
|
+
type:
|
1938
|
+
type: string
|
1939
|
+
enum: [CustomParser]
|
1940
|
+
class_name:
|
1941
|
+
title: Class Name
|
1942
|
+
description: Fully-qualified name of the class that will be implementing the custom decoding. Has to be a sub class of Parser. The format is `source_<name>.<package>.<class_name>`.
|
1943
|
+
type: string
|
1944
|
+
additionalProperties: true
|
1945
|
+
examples:
|
1946
|
+
- "source_rivendell.components.ElvishParser"
|
1947
|
+
$parameters:
|
1948
|
+
type: object
|
1949
|
+
additionalProperties: true
|
1900
1950
|
ListPartitionRouter:
|
1901
1951
|
title: List Partition Router
|
1902
1952
|
description: A Partition router that specifies a list of attributes where each attribute describes a portion of the complete data set for a stream. During a sync, each value is iterated over and can be used as input to outbound API requests.
|
@@ -2130,61 +2180,65 @@ definitions:
|
|
2130
2180
|
- extract_output
|
2131
2181
|
properties:
|
2132
2182
|
consent_url:
|
2133
|
-
title: Consent URL
|
2183
|
+
title: DeclarativeOAuth Consent URL
|
2134
2184
|
type: string
|
2135
2185
|
description: |-
|
2136
2186
|
The DeclarativeOAuth Specific string URL string template to initiate the authentication.
|
2137
2187
|
The placeholders are replaced during the processing to provide neccessary values.
|
2138
2188
|
examples:
|
2139
|
-
- https://domain.host.com/marketing_api/auth?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{state_key}={{state_key}}
|
2140
|
-
- https://endpoint.host.com/oauth2/authorize?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{scope_key}={urlEncoder:{{scope_key}}}&{state_key}={{state_key}}&subdomain={subdomain}
|
2189
|
+
- consent_url: https://domain.host.com/marketing_api/auth?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{state_key}={{state_key}}
|
2190
|
+
- consent_url: https://endpoint.host.com/oauth2/authorize?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{scope_key}={urlEncoder:{{scope_key}}}&{state_key}={{state_key}}&subdomain={subdomain}
|
2141
2191
|
scope:
|
2142
|
-
title:
|
2192
|
+
title: (Optional) DeclarativeOAuth Scope
|
2143
2193
|
type: string
|
2144
2194
|
description: |-
|
2145
2195
|
The DeclarativeOAuth Specific string of the scopes needed to be grant for authenticated user.
|
2146
2196
|
examples:
|
2147
|
-
- user:read user:read_orders workspaces:read
|
2197
|
+
- scope: user:read user:read_orders workspaces:read
|
2148
2198
|
access_token_url:
|
2149
|
-
title: Access Token URL
|
2199
|
+
title: DeclarativeOAuth Access Token URL
|
2150
2200
|
type: string
|
2151
2201
|
description: |-
|
2152
2202
|
The DeclarativeOAuth Specific URL templated string to obtain the `access_token`, `refresh_token` etc.
|
2153
2203
|
The placeholders are replaced during the processing to provide neccessary values.
|
2154
2204
|
examples:
|
2155
|
-
- https://auth.host.com/oauth2/token?{client_id_key}={{client_id_key}}&{client_secret_key}={{client_secret_key}}&{auth_code_key}={{auth_code_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}
|
2205
|
+
- access_token_url: https://auth.host.com/oauth2/token?{client_id_key}={{client_id_key}}&{client_secret_key}={{client_secret_key}}&{auth_code_key}={{auth_code_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}
|
2156
2206
|
access_token_headers:
|
2157
|
-
title: Access Token Headers
|
2207
|
+
title: (Optional) DeclarativeOAuth Access Token Headers
|
2158
2208
|
type: object
|
2159
2209
|
additionalProperties: true
|
2160
2210
|
description: |-
|
2161
2211
|
The DeclarativeOAuth Specific optional headers to inject while exchanging the `auth_code` to `access_token` during `completeOAuthFlow` step.
|
2162
2212
|
examples:
|
2163
|
-
-
|
2213
|
+
- access_token_headers:
|
2214
|
+
{
|
2215
|
+
"Authorization": "Basic {base64Encoder:{client_id}:{client_secret}}",
|
2216
|
+
}
|
2164
2217
|
access_token_params:
|
2165
|
-
title: Access Token Query Params (Json Encoded)
|
2218
|
+
title: (Optional) DeclarativeOAuth Access Token Query Params (Json Encoded)
|
2166
2219
|
type: object
|
2167
2220
|
additionalProperties: true
|
2168
2221
|
description: |-
|
2169
2222
|
The DeclarativeOAuth Specific optional query parameters to inject while exchanging the `auth_code` to `access_token` during `completeOAuthFlow` step.
|
2170
2223
|
When this property is provided, the query params will be encoded as `Json` and included in the outgoing API request.
|
2171
2224
|
examples:
|
2172
|
-
-
|
2173
|
-
|
2174
|
-
|
2175
|
-
|
2176
|
-
|
2225
|
+
- access_token_params:
|
2226
|
+
{
|
2227
|
+
"{auth_code_key}": "{{auth_code_key}}",
|
2228
|
+
"{client_id_key}": "{{client_id_key}}",
|
2229
|
+
"{client_secret_key}": "{{client_secret_key}}",
|
2230
|
+
}
|
2177
2231
|
extract_output:
|
2178
|
-
title: Extract Output
|
2232
|
+
title: DeclarativeOAuth Extract Output
|
2179
2233
|
type: array
|
2180
2234
|
items:
|
2181
2235
|
type: string
|
2182
2236
|
description: |-
|
2183
2237
|
The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config.
|
2184
2238
|
examples:
|
2185
|
-
- ["access_token", "refresh_token", "other_field"]
|
2239
|
+
- extract_output: ["access_token", "refresh_token", "other_field"]
|
2186
2240
|
state:
|
2187
|
-
title: Configurable State Query Param
|
2241
|
+
title: (Optional) DeclarativeOAuth Configurable State Query Param
|
2188
2242
|
type: object
|
2189
2243
|
additionalProperties: true
|
2190
2244
|
required:
|
@@ -2199,49 +2253,49 @@ definitions:
|
|
2199
2253
|
max:
|
2200
2254
|
type: integer
|
2201
2255
|
examples:
|
2202
|
-
- { "min": 7, "max": 128 }
|
2256
|
+
- state: { "min": 7, "max": 128 }
|
2203
2257
|
client_id_key:
|
2204
|
-
title: Client ID Key Override
|
2258
|
+
title: (Optional) DeclarativeOAuth Client ID Key Override
|
2205
2259
|
type: string
|
2206
2260
|
description: |-
|
2207
2261
|
The DeclarativeOAuth Specific optional override to provide the custom `client_id` key name, if required by data-provider.
|
2208
2262
|
examples:
|
2209
|
-
- "my_custom_client_id_key_name"
|
2263
|
+
- client_id_key: "my_custom_client_id_key_name"
|
2210
2264
|
client_secret_key:
|
2211
|
-
title: Client Secret Key Override
|
2265
|
+
title: (Optional) DeclarativeOAuth Client Secret Key Override
|
2212
2266
|
type: string
|
2213
2267
|
description: |-
|
2214
2268
|
The DeclarativeOAuth Specific optional override to provide the custom `client_secret` key name, if required by data-provider.
|
2215
2269
|
examples:
|
2216
|
-
- "my_custom_client_secret_key_name"
|
2270
|
+
- client_secret_key: "my_custom_client_secret_key_name"
|
2217
2271
|
scope_key:
|
2218
|
-
title:
|
2272
|
+
title: (Optional) DeclarativeOAuth Scope Key Override
|
2219
2273
|
type: string
|
2220
2274
|
description: |-
|
2221
2275
|
The DeclarativeOAuth Specific optional override to provide the custom `scope` key name, if required by data-provider.
|
2222
2276
|
examples:
|
2223
|
-
- "my_custom_scope_key_key_name"
|
2277
|
+
- scope_key: "my_custom_scope_key_key_name"
|
2224
2278
|
state_key:
|
2225
|
-
title: State Key Override
|
2279
|
+
title: (Optional) DeclarativeOAuth State Key Override
|
2226
2280
|
type: string
|
2227
2281
|
description: |-
|
2228
2282
|
The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider.
|
2229
2283
|
examples:
|
2230
|
-
- "my_custom_state_key_key_name"
|
2284
|
+
- state_key: "my_custom_state_key_key_name"
|
2231
2285
|
auth_code_key:
|
2232
|
-
title: Auth Code Key Override
|
2286
|
+
title: (Optional) DeclarativeOAuth Auth Code Key Override
|
2233
2287
|
type: string
|
2234
2288
|
description: |-
|
2235
2289
|
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.
|
2236
2290
|
examples:
|
2237
|
-
- "my_custom_auth_code_key_name"
|
2291
|
+
- auth_code_key: "my_custom_auth_code_key_name"
|
2238
2292
|
redirect_uri_key:
|
2239
|
-
title: Redirect URI Key Override
|
2293
|
+
title: (Optional) DeclarativeOAuth Redirect URI Key Override
|
2240
2294
|
type: string
|
2241
2295
|
description: |-
|
2242
2296
|
The DeclarativeOAuth Specific optional override to provide the custom `redirect_uri` key name to something like `callback_uri`, if required by data-provider.
|
2243
2297
|
examples:
|
2244
|
-
- "my_custom_redirect_uri_key_name"
|
2298
|
+
- redirect_uri_key: "my_custom_redirect_uri_key_name"
|
2245
2299
|
complete_oauth_output_specification:
|
2246
2300
|
title: "OAuth output specification"
|
2247
2301
|
description: |-
|
@@ -7,5 +7,6 @@ from airbyte_cdk.sources.declarative.decoders.json_decoder import JsonDecoder, J
|
|
7
7
|
from airbyte_cdk.sources.declarative.decoders.noop_decoder import NoopDecoder
|
8
8
|
from airbyte_cdk.sources.declarative.decoders.pagination_decoder_decorator import PaginationDecoderDecorator
|
9
9
|
from airbyte_cdk.sources.declarative.decoders.xml_decoder import XmlDecoder
|
10
|
+
from airbyte_cdk.sources.declarative.decoders.zipfile_decoder import ZipfileDecoder
|
10
11
|
|
11
|
-
__all__ = ["Decoder", "JsonDecoder", "JsonlDecoder", "IterableDecoder", "GzipJsonDecoder", "NoopDecoder", "PaginationDecoderDecorator", "XmlDecoder"]
|
12
|
+
__all__ = ["Decoder", "JsonDecoder", "JsonlDecoder", "IterableDecoder", "GzipJsonDecoder", "NoopDecoder", "PaginationDecoderDecorator", "XmlDecoder", "ZipfileDecoder"]
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
|
3
|
+
#
|
4
|
+
|
5
|
+
import json
|
6
|
+
import logging
|
7
|
+
from abc import abstractmethod
|
8
|
+
from dataclasses import InitVar, dataclass
|
9
|
+
from typing import Any, Generator, Mapping, MutableMapping, Union
|
10
|
+
|
11
|
+
logger = logging.getLogger("airbyte")
|
12
|
+
|
13
|
+
|
14
|
+
@dataclass
|
15
|
+
class Parser:
|
16
|
+
"""
|
17
|
+
Parser strategy to convert str, bytes, or bytearray data into MutableMapping[str, Any].
|
18
|
+
"""
|
19
|
+
|
20
|
+
@abstractmethod
|
21
|
+
def parse(
|
22
|
+
self, data: Union[str, bytes, bytearray]
|
23
|
+
) -> Generator[MutableMapping[str, Any], None, None]:
|
24
|
+
pass
|
25
|
+
|
26
|
+
|
27
|
+
@dataclass
|
28
|
+
class JsonParser(Parser):
|
29
|
+
"""
|
30
|
+
Parser strategy for converting JSON-structure str, bytes, or bytearray data into MutableMapping[str, Any].
|
31
|
+
"""
|
32
|
+
|
33
|
+
parameters: InitVar[Mapping[str, Any]]
|
34
|
+
|
35
|
+
def parse(
|
36
|
+
self, data: Union[str, bytes, bytearray]
|
37
|
+
) -> Generator[MutableMapping[str, Any], None, None]:
|
38
|
+
try:
|
39
|
+
body_json = json.loads(data)
|
40
|
+
except json.JSONDecodeError:
|
41
|
+
logger.warning(f"Data cannot be parsed into json: {data=}")
|
42
|
+
yield {}
|
43
|
+
|
44
|
+
if not isinstance(body_json, list):
|
45
|
+
body_json = [body_json]
|
46
|
+
if len(body_json) == 0:
|
47
|
+
yield {}
|
48
|
+
else:
|
49
|
+
yield from body_json
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
|
3
|
+
#
|
4
|
+
|
5
|
+
import gzip
|
6
|
+
import io
|
7
|
+
import logging
|
8
|
+
import zipfile
|
9
|
+
from dataclasses import InitVar, dataclass
|
10
|
+
from typing import Any, Generator, Mapping, MutableMapping, Optional
|
11
|
+
|
12
|
+
import requests
|
13
|
+
|
14
|
+
from airbyte_cdk.sources.declarative.decoders import Decoder
|
15
|
+
from airbyte_cdk.sources.declarative.decoders.parsers import JsonParser, Parser
|
16
|
+
|
17
|
+
logger = logging.getLogger("airbyte")
|
18
|
+
|
19
|
+
|
20
|
+
@dataclass
|
21
|
+
class ZipfileDecoder(Decoder):
|
22
|
+
parameters: InitVar[Mapping[str, Any]]
|
23
|
+
parser: Optional[Parser] = None
|
24
|
+
|
25
|
+
def __post_init__(self, parameters: Mapping[str, Any]) -> None:
|
26
|
+
self._parser = (
|
27
|
+
self.parser(parameters=parameters) if self.parser else JsonParser(parameters=parameters)
|
28
|
+
)
|
29
|
+
|
30
|
+
def is_stream_response(self) -> bool:
|
31
|
+
return False
|
32
|
+
|
33
|
+
def decode(
|
34
|
+
self, response: requests.Response
|
35
|
+
) -> Generator[MutableMapping[str, Any], None, None]:
|
36
|
+
try:
|
37
|
+
zip_file = zipfile.ZipFile(io.BytesIO(response.content))
|
38
|
+
except zipfile.BadZipFile as e:
|
39
|
+
logger.exception(e)
|
40
|
+
logger.error(
|
41
|
+
f"Received an invalid zip file in response to URL: {response.request.url}. "
|
42
|
+
f"The size of the response body is: {len(response.content)}"
|
43
|
+
)
|
44
|
+
yield {}
|
45
|
+
|
46
|
+
for gzip_filename in zip_file.namelist():
|
47
|
+
with zip_file.open(gzip_filename) as file:
|
48
|
+
try:
|
49
|
+
for data in gzip.open(file):
|
50
|
+
yield from self._parser.parse(data)
|
51
|
+
except gzip.BadGzipFile as e:
|
52
|
+
logger.exception(e)
|
53
|
+
logger.error(f"Fail to read contents of zipped response: {e}")
|
54
|
+
yield {}
|
@@ -741,6 +741,27 @@ class GzipJsonDecoder(BaseModel):
|
|
741
741
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
742
742
|
|
743
743
|
|
744
|
+
class JsonParser(BaseModel):
|
745
|
+
class Config:
|
746
|
+
extra = Extra.allow
|
747
|
+
|
748
|
+
type: Literal["JsonParser"]
|
749
|
+
|
750
|
+
|
751
|
+
class CustomParser(BaseModel):
|
752
|
+
class Config:
|
753
|
+
extra = Extra.allow
|
754
|
+
|
755
|
+
type: Literal["CustomParser"]
|
756
|
+
class_name: str = Field(
|
757
|
+
...,
|
758
|
+
description="Fully-qualified name of the class that will be implementing the custom decoding. Has to be a sub class of Parser. The format is `source_<name>.<package>.<class_name>`.",
|
759
|
+
examples=["source_rivendell.components.ElvishParser"],
|
760
|
+
title="Class Name",
|
761
|
+
)
|
762
|
+
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
763
|
+
|
764
|
+
|
744
765
|
class MinMaxDatetime(BaseModel):
|
745
766
|
type: Literal["MinMaxDatetime"]
|
746
767
|
datetime: str = Field(
|
@@ -795,90 +816,104 @@ class OauthConnectorInputSpecification(BaseModel):
|
|
795
816
|
...,
|
796
817
|
description="The DeclarativeOAuth Specific string URL string template to initiate the authentication.\nThe placeholders are replaced during the processing to provide neccessary values.",
|
797
818
|
examples=[
|
798
|
-
|
799
|
-
|
819
|
+
{
|
820
|
+
"consent_url": "https://domain.host.com/marketing_api/auth?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{state_key}={{state_key}}"
|
821
|
+
},
|
822
|
+
{
|
823
|
+
"consent_url": "https://endpoint.host.com/oauth2/authorize?{client_id_key}={{client_id_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}&{scope_key}={urlEncoder:{{scope_key}}}&{state_key}={{state_key}}&subdomain={subdomain}"
|
824
|
+
},
|
800
825
|
],
|
801
|
-
title="Consent URL",
|
826
|
+
title="DeclarativeOAuth Consent URL",
|
802
827
|
)
|
803
828
|
scope: Optional[str] = Field(
|
804
829
|
None,
|
805
830
|
description="The DeclarativeOAuth Specific string of the scopes needed to be grant for authenticated user.",
|
806
|
-
examples=["user:read user:read_orders workspaces:read"],
|
807
|
-
title="
|
831
|
+
examples=[{"scope": "user:read user:read_orders workspaces:read"}],
|
832
|
+
title="(Optional) DeclarativeOAuth Scope",
|
808
833
|
)
|
809
834
|
access_token_url: str = Field(
|
810
835
|
...,
|
811
836
|
description="The DeclarativeOAuth Specific URL templated string to obtain the `access_token`, `refresh_token` etc.\nThe placeholders are replaced during the processing to provide neccessary values.",
|
812
837
|
examples=[
|
813
|
-
|
838
|
+
{
|
839
|
+
"access_token_url": "https://auth.host.com/oauth2/token?{client_id_key}={{client_id_key}}&{client_secret_key}={{client_secret_key}}&{auth_code_key}={{auth_code_key}}&{redirect_uri_key}={urlEncoder:{{redirect_uri_key}}}"
|
840
|
+
}
|
814
841
|
],
|
815
|
-
title="Access Token URL",
|
842
|
+
title="DeclarativeOAuth Access Token URL",
|
816
843
|
)
|
817
844
|
access_token_headers: Optional[Dict[str, Any]] = Field(
|
818
845
|
None,
|
819
846
|
description="The DeclarativeOAuth Specific optional headers to inject while exchanging the `auth_code` to `access_token` during `completeOAuthFlow` step.",
|
820
|
-
examples=[
|
821
|
-
|
847
|
+
examples=[
|
848
|
+
{
|
849
|
+
"access_token_headers": {
|
850
|
+
"Authorization": "Basic {base64Encoder:{client_id}:{client_secret}}"
|
851
|
+
}
|
852
|
+
}
|
853
|
+
],
|
854
|
+
title="(Optional) DeclarativeOAuth Access Token Headers",
|
822
855
|
)
|
823
856
|
access_token_params: Optional[Dict[str, Any]] = Field(
|
824
857
|
None,
|
825
858
|
description="The DeclarativeOAuth Specific optional query parameters to inject while exchanging the `auth_code` to `access_token` during `completeOAuthFlow` step.\nWhen this property is provided, the query params will be encoded as `Json` and included in the outgoing API request.",
|
826
859
|
examples=[
|
827
860
|
{
|
828
|
-
"
|
829
|
-
|
830
|
-
|
861
|
+
"access_token_params": {
|
862
|
+
"{auth_code_key}": "{{auth_code_key}}",
|
863
|
+
"{client_id_key}": "{{client_id_key}}",
|
864
|
+
"{client_secret_key}": "{{client_secret_key}}",
|
865
|
+
}
|
831
866
|
}
|
832
867
|
],
|
833
|
-
title="Access Token Query Params (Json Encoded)",
|
868
|
+
title="(Optional) DeclarativeOAuth Access Token Query Params (Json Encoded)",
|
834
869
|
)
|
835
870
|
extract_output: List[str] = Field(
|
836
871
|
...,
|
837
872
|
description="The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config.",
|
838
|
-
examples=[["access_token", "refresh_token", "other_field"]],
|
839
|
-
title="Extract Output",
|
873
|
+
examples=[{"extract_output": ["access_token", "refresh_token", "other_field"]}],
|
874
|
+
title="DeclarativeOAuth Extract Output",
|
840
875
|
)
|
841
876
|
state: Optional[State] = Field(
|
842
877
|
None,
|
843
878
|
description="The DeclarativeOAuth Specific object to provide the criteria of how the `state` query param should be constructed,\nincluding length and complexity.",
|
844
|
-
examples=[{"min": 7, "max": 128}],
|
845
|
-
title="Configurable State Query Param",
|
879
|
+
examples=[{"state": {"min": 7, "max": 128}}],
|
880
|
+
title="(Optional) DeclarativeOAuth Configurable State Query Param",
|
846
881
|
)
|
847
882
|
client_id_key: Optional[str] = Field(
|
848
883
|
None,
|
849
884
|
description="The DeclarativeOAuth Specific optional override to provide the custom `client_id` key name, if required by data-provider.",
|
850
|
-
examples=["my_custom_client_id_key_name"],
|
851
|
-
title="Client ID Key Override",
|
885
|
+
examples=[{"client_id_key": "my_custom_client_id_key_name"}],
|
886
|
+
title="(Optional) DeclarativeOAuth Client ID Key Override",
|
852
887
|
)
|
853
888
|
client_secret_key: Optional[str] = Field(
|
854
889
|
None,
|
855
890
|
description="The DeclarativeOAuth Specific optional override to provide the custom `client_secret` key name, if required by data-provider.",
|
856
|
-
examples=["my_custom_client_secret_key_name"],
|
857
|
-
title="Client Secret Key Override",
|
891
|
+
examples=[{"client_secret_key": "my_custom_client_secret_key_name"}],
|
892
|
+
title="(Optional) DeclarativeOAuth Client Secret Key Override",
|
858
893
|
)
|
859
894
|
scope_key: Optional[str] = Field(
|
860
895
|
None,
|
861
896
|
description="The DeclarativeOAuth Specific optional override to provide the custom `scope` key name, if required by data-provider.",
|
862
|
-
examples=["my_custom_scope_key_key_name"],
|
863
|
-
title="
|
897
|
+
examples=[{"scope_key": "my_custom_scope_key_key_name"}],
|
898
|
+
title="(Optional) DeclarativeOAuth Scope Key Override",
|
864
899
|
)
|
865
900
|
state_key: Optional[str] = Field(
|
866
901
|
None,
|
867
902
|
description="The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider.",
|
868
|
-
examples=["my_custom_state_key_key_name"],
|
869
|
-
title="State Key Override",
|
903
|
+
examples=[{"state_key": "my_custom_state_key_key_name"}],
|
904
|
+
title="(Optional) DeclarativeOAuth State Key Override",
|
870
905
|
)
|
871
906
|
auth_code_key: Optional[str] = Field(
|
872
907
|
None,
|
873
908
|
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.",
|
874
|
-
examples=["my_custom_auth_code_key_name"],
|
875
|
-
title="Auth Code Key Override",
|
909
|
+
examples=[{"auth_code_key": "my_custom_auth_code_key_name"}],
|
910
|
+
title="(Optional) DeclarativeOAuth Auth Code Key Override",
|
876
911
|
)
|
877
912
|
redirect_uri_key: Optional[str] = Field(
|
878
913
|
None,
|
879
914
|
description="The DeclarativeOAuth Specific optional override to provide the custom `redirect_uri` key name to something like `callback_uri`, if required by data-provider.",
|
880
|
-
examples=["my_custom_redirect_uri_key_name"],
|
881
|
-
title="Redirect URI Key Override",
|
915
|
+
examples=[{"redirect_uri_key": "my_custom_redirect_uri_key_name"}],
|
916
|
+
title="(Optional) DeclarativeOAuth Redirect URI Key Override",
|
882
917
|
)
|
883
918
|
|
884
919
|
|
@@ -1454,6 +1489,18 @@ class SessionTokenRequestApiKeyAuthenticator(BaseModel):
|
|
1454
1489
|
)
|
1455
1490
|
|
1456
1491
|
|
1492
|
+
class ZipfileDecoder(BaseModel):
|
1493
|
+
class Config:
|
1494
|
+
extra = Extra.allow
|
1495
|
+
|
1496
|
+
type: Literal["ZipfileDecoder"]
|
1497
|
+
parser: Optional[Union[JsonParser, CustomParser]] = Field(
|
1498
|
+
None,
|
1499
|
+
description="Parser to parse the decompressed data from the zipfile(s).",
|
1500
|
+
title="Parser",
|
1501
|
+
)
|
1502
|
+
|
1503
|
+
|
1457
1504
|
class ListPartitionRouter(BaseModel):
|
1458
1505
|
type: Literal["ListPartitionRouter"]
|
1459
1506
|
cursor_field: str = Field(
|
@@ -66,7 +66,9 @@ from airbyte_cdk.sources.declarative.decoders import (
|
|
66
66
|
JsonlDecoder,
|
67
67
|
PaginationDecoderDecorator,
|
68
68
|
XmlDecoder,
|
69
|
+
ZipfileDecoder,
|
69
70
|
)
|
71
|
+
from airbyte_cdk.sources.declarative.decoders.parsers import JsonParser
|
70
72
|
from airbyte_cdk.sources.declarative.extractors import (
|
71
73
|
DpathExtractor,
|
72
74
|
RecordFilter,
|
@@ -224,6 +226,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
224
226
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
225
227
|
JsonlDecoder as JsonlDecoderModel,
|
226
228
|
)
|
229
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
230
|
+
JsonParser as JsonParserModel,
|
231
|
+
)
|
227
232
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
228
233
|
JwtAuthenticator as JwtAuthenticatorModel,
|
229
234
|
)
|
@@ -316,6 +321,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
316
321
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
317
322
|
XmlDecoder as XmlDecoderModel,
|
318
323
|
)
|
324
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
325
|
+
ZipfileDecoder as ZipfileDecoderModel,
|
326
|
+
)
|
319
327
|
from airbyte_cdk.sources.declarative.partition_routers import (
|
320
328
|
CartesianProductStreamSlicer,
|
321
329
|
ListPartitionRouter,
|
@@ -323,9 +331,6 @@ from airbyte_cdk.sources.declarative.partition_routers import (
|
|
323
331
|
SinglePartitionRouter,
|
324
332
|
SubstreamPartitionRouter,
|
325
333
|
)
|
326
|
-
from airbyte_cdk.sources.declarative.partition_routers.async_job_partition_router import (
|
327
|
-
AsyncJobPartitionRouter,
|
328
|
-
)
|
329
334
|
from airbyte_cdk.sources.declarative.partition_routers.substream_partition_router import (
|
330
335
|
ParentStreamConfig,
|
331
336
|
)
|
@@ -473,6 +478,7 @@ class ModelToComponentFactory:
|
|
473
478
|
InlineSchemaLoaderModel: self.create_inline_schema_loader,
|
474
479
|
JsonDecoderModel: self.create_json_decoder,
|
475
480
|
JsonlDecoderModel: self.create_jsonl_decoder,
|
481
|
+
JsonParserModel: self.create_json_parser,
|
476
482
|
GzipJsonDecoderModel: self.create_gzipjson_decoder,
|
477
483
|
KeysToLowerModel: self.create_keys_to_lower_transformation,
|
478
484
|
IterableDecoderModel: self.create_iterable_decoder,
|
@@ -508,6 +514,7 @@ class ModelToComponentFactory:
|
|
508
514
|
ConfigComponentsResolverModel: self.create_config_components_resolver,
|
509
515
|
StreamConfigModel: self.create_stream_config,
|
510
516
|
ComponentMappingDefinitionModel: self.create_components_mapping_definition,
|
517
|
+
ZipfileDecoderModel: self.create_zipfile_decoder,
|
511
518
|
}
|
512
519
|
|
513
520
|
# Needed for the case where we need to perform a second parse on the fields of a custom component
|
@@ -1685,6 +1692,20 @@ class ModelToComponentFactory:
|
|
1685
1692
|
) -> GzipJsonDecoder:
|
1686
1693
|
return GzipJsonDecoder(parameters={}, encoding=model.encoding)
|
1687
1694
|
|
1695
|
+
def create_zipfile_decoder(
|
1696
|
+
self, model: ZipfileDecoderModel, config: Config, **kwargs: Any
|
1697
|
+
) -> ZipfileDecoder:
|
1698
|
+
parser = (
|
1699
|
+
self._create_component_from_model(model=model.parser, config=config)
|
1700
|
+
if model.parser
|
1701
|
+
else None
|
1702
|
+
)
|
1703
|
+
return ZipfileDecoder(parameters={}, parser=parser)
|
1704
|
+
|
1705
|
+
@staticmethod
|
1706
|
+
def create_json_parser(model: JsonParserModel, config: Config, **kwargs: Any) -> JsonParser:
|
1707
|
+
return JsonParser(parameters={})
|
1708
|
+
|
1688
1709
|
@staticmethod
|
1689
1710
|
def create_json_file_schema_loader(
|
1690
1711
|
model: JsonFileSchemaLoaderModel, config: Config, **kwargs: Any
|
@@ -2231,24 +2252,18 @@ class ModelToComponentFactory:
|
|
2231
2252
|
urls_extractor=urls_extractor,
|
2232
2253
|
)
|
2233
2254
|
|
2234
|
-
|
2255
|
+
return AsyncRetriever(
|
2235
2256
|
job_orchestrator_factory=lambda stream_slices: AsyncJobOrchestrator(
|
2236
2257
|
job_repository,
|
2237
2258
|
stream_slices,
|
2238
|
-
JobTracker(
|
2239
|
-
|
2259
|
+
JobTracker(
|
2260
|
+
1
|
2261
|
+
), # FIXME eventually make the number of concurrent jobs in the API configurable. Until then, we limit to 1
|
2240
2262
|
self._message_repository,
|
2241
|
-
has_bulk_parent=False,
|
2242
|
-
# FIXME work would need to be done here in order to detect if a stream as a parent stream that is bulk
|
2263
|
+
has_bulk_parent=False, # FIXME work would need to be done here in order to detect if a stream as a parent stream that is bulk
|
2243
2264
|
),
|
2244
|
-
stream_slicer=stream_slicer,
|
2245
|
-
config=config,
|
2246
|
-
parameters=model.parameters or {},
|
2247
|
-
)
|
2248
|
-
|
2249
|
-
return AsyncRetriever(
|
2250
2265
|
record_selector=record_selector,
|
2251
|
-
stream_slicer=
|
2266
|
+
stream_slicer=stream_slicer,
|
2252
2267
|
config=config,
|
2253
2268
|
parameters=model.parameters or {},
|
2254
2269
|
)
|
@@ -2,18 +2,10 @@
|
|
2
2
|
# Copyright (c) 2022 Airbyte, Inc., all rights reserved.
|
3
3
|
#
|
4
4
|
|
5
|
-
from airbyte_cdk.sources.declarative.partition_routers.async_job_partition_router import AsyncJobPartitionRouter
|
6
5
|
from airbyte_cdk.sources.declarative.partition_routers.cartesian_product_stream_slicer import CartesianProductStreamSlicer
|
7
6
|
from airbyte_cdk.sources.declarative.partition_routers.list_partition_router import ListPartitionRouter
|
8
7
|
from airbyte_cdk.sources.declarative.partition_routers.single_partition_router import SinglePartitionRouter
|
9
8
|
from airbyte_cdk.sources.declarative.partition_routers.substream_partition_router import SubstreamPartitionRouter
|
10
9
|
from airbyte_cdk.sources.declarative.partition_routers.partition_router import PartitionRouter
|
11
10
|
|
12
|
-
__all__ = [
|
13
|
-
"AsyncJobPartitionRouter",
|
14
|
-
"CartesianProductStreamSlicer",
|
15
|
-
"ListPartitionRouter",
|
16
|
-
"SinglePartitionRouter",
|
17
|
-
"SubstreamPartitionRouter",
|
18
|
-
"PartitionRouter"
|
19
|
-
]
|
11
|
+
__all__ = ["CartesianProductStreamSlicer", "ListPartitionRouter", "SinglePartitionRouter", "SubstreamPartitionRouter", "PartitionRouter"]
|