airbyte-cdk 6.37.0.dev0__tar.gz → 6.37.0.dev1__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.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/PKG-INFO +1 -1
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/models.py +14 -16
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/test_reader/helpers.py +22 -120
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +3 -16
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/test_reader/types.py +1 -9
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/entrypoint.py +7 -7
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -1
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -15
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +43 -5
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +2 -13
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +17 -83
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +42 -3
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +63 -52
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +4 -0
- airbyte_cdk-6.37.0.dev1/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +136 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/http_logger.py +0 -3
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -1
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/pyproject.toml +1 -1
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/LICENSE.txt +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.37.0.dev0 → airbyte_cdk-6.37.0.dev1}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -21,6 +21,20 @@ class HttpRequest:
|
|
21
21
|
body: Optional[str] = None
|
22
22
|
|
23
23
|
|
24
|
+
@dataclass
|
25
|
+
class StreamReadPages:
|
26
|
+
records: List[object]
|
27
|
+
request: Optional[HttpRequest] = None
|
28
|
+
response: Optional[HttpResponse] = None
|
29
|
+
|
30
|
+
|
31
|
+
@dataclass
|
32
|
+
class StreamReadSlices:
|
33
|
+
pages: List[StreamReadPages]
|
34
|
+
slice_descriptor: Optional[Dict[str, Any]]
|
35
|
+
state: Optional[List[Dict[str, Any]]] = None
|
36
|
+
|
37
|
+
|
24
38
|
@dataclass
|
25
39
|
class LogMessage:
|
26
40
|
message: str
|
@@ -32,27 +46,11 @@ class LogMessage:
|
|
32
46
|
@dataclass
|
33
47
|
class AuxiliaryRequest:
|
34
48
|
title: str
|
35
|
-
type: str
|
36
49
|
description: str
|
37
50
|
request: HttpRequest
|
38
51
|
response: HttpResponse
|
39
52
|
|
40
53
|
|
41
|
-
@dataclass
|
42
|
-
class StreamReadPages:
|
43
|
-
records: List[object]
|
44
|
-
request: Optional[HttpRequest] = None
|
45
|
-
response: Optional[HttpResponse] = None
|
46
|
-
|
47
|
-
|
48
|
-
@dataclass
|
49
|
-
class StreamReadSlices:
|
50
|
-
pages: List[StreamReadPages]
|
51
|
-
slice_descriptor: Optional[Dict[str, Any]]
|
52
|
-
state: Optional[List[Dict[str, Any]]] = None
|
53
|
-
auxiliary_requests: Optional[List[AuxiliaryRequest]] = None
|
54
|
-
|
55
|
-
|
56
54
|
@dataclass
|
57
55
|
class StreamRead(object):
|
58
56
|
logs: List[LogMessage]
|
@@ -28,7 +28,7 @@ from airbyte_cdk.utils.schema_inferrer import (
|
|
28
28
|
SchemaInferrer,
|
29
29
|
)
|
30
30
|
|
31
|
-
from .types import
|
31
|
+
from .types import LOG_MESSAGES_OUTPUT_TYPE
|
32
32
|
|
33
33
|
# -------
|
34
34
|
# Parsers
|
@@ -226,8 +226,7 @@ def should_close_page(
|
|
226
226
|
at_least_one_page_in_group
|
227
227
|
and is_log_message(message)
|
228
228
|
and (
|
229
|
-
is_page_http_request(json_message)
|
230
|
-
or message.log.message.startswith(SliceLogger.SLICE_LOG_PREFIX) # type: ignore[union-attr] # AirbyteMessage with MessageType.LOG has log.message
|
229
|
+
is_page_http_request(json_message) or message.log.message.startswith("slice:") # type: ignore[union-attr] # AirbyteMessage with MessageType.LOG has log.message
|
231
230
|
)
|
232
231
|
)
|
233
232
|
|
@@ -331,10 +330,6 @@ def is_auxiliary_http_request(message: Optional[Dict[str, Any]]) -> bool:
|
|
331
330
|
return is_http_log(message) and message.get("http", {}).get("is_auxiliary", False)
|
332
331
|
|
333
332
|
|
334
|
-
def is_async_auxiliary_request(message: AuxiliaryRequest) -> bool:
|
335
|
-
return message.type in ASYNC_AUXILIARY_REQUEST_TYPES
|
336
|
-
|
337
|
-
|
338
333
|
def is_log_message(message: AirbyteMessage) -> bool:
|
339
334
|
"""
|
340
335
|
Determines whether the provided message is of type LOG.
|
@@ -418,7 +413,6 @@ def handle_current_slice(
|
|
418
413
|
current_slice_pages: List[StreamReadPages],
|
419
414
|
current_slice_descriptor: Optional[Dict[str, Any]] = None,
|
420
415
|
latest_state_message: Optional[Dict[str, Any]] = None,
|
421
|
-
auxiliary_requests: Optional[List[AuxiliaryRequest]] = None,
|
422
416
|
) -> StreamReadSlices:
|
423
417
|
"""
|
424
418
|
Handles the current slice by packaging its pages, descriptor, and state into a StreamReadSlices instance.
|
@@ -427,7 +421,6 @@ def handle_current_slice(
|
|
427
421
|
current_slice_pages (List[StreamReadPages]): The pages to be included in the slice.
|
428
422
|
current_slice_descriptor (Optional[Dict[str, Any]]): Descriptor for the current slice, optional.
|
429
423
|
latest_state_message (Optional[Dict[str, Any]]): The latest state message, optional.
|
430
|
-
auxiliary_requests (Optional[List[AuxiliaryRequest]]): The auxiliary requests to include, optional.
|
431
424
|
|
432
425
|
Returns:
|
433
426
|
StreamReadSlices: An object containing the current slice's pages, descriptor, and state.
|
@@ -436,7 +429,6 @@ def handle_current_slice(
|
|
436
429
|
pages=current_slice_pages,
|
437
430
|
slice_descriptor=current_slice_descriptor,
|
438
431
|
state=[latest_state_message] if latest_state_message else [],
|
439
|
-
auxiliary_requests=auxiliary_requests if auxiliary_requests else [],
|
440
432
|
)
|
441
433
|
|
442
434
|
|
@@ -494,24 +486,29 @@ def handle_auxiliary_request(json_message: Dict[str, JsonType]) -> AuxiliaryRequ
|
|
494
486
|
Raises:
|
495
487
|
ValueError: If any of the "airbyte_cdk", "stream", or "http" fields is not a dictionary.
|
496
488
|
"""
|
489
|
+
airbyte_cdk = json_message.get("airbyte_cdk", {})
|
490
|
+
|
491
|
+
if not isinstance(airbyte_cdk, dict):
|
492
|
+
raise ValueError(
|
493
|
+
f"Expected airbyte_cdk to be a dict, got {airbyte_cdk} of type {type(airbyte_cdk)}"
|
494
|
+
)
|
495
|
+
|
496
|
+
stream = airbyte_cdk.get("stream", {})
|
497
497
|
|
498
|
-
|
499
|
-
|
500
|
-
title_prefix = get_auxiliary_request_title_prefix(stream)
|
501
|
-
http = get_http_property_from_message(json_message)
|
502
|
-
request_type = get_auxiliary_request_type(stream, http)
|
498
|
+
if not isinstance(stream, dict):
|
499
|
+
raise ValueError(f"Expected stream to be a dict, got {stream} of type {type(stream)}")
|
503
500
|
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
501
|
+
title_prefix = "Parent stream: " if stream.get("is_substream", False) else ""
|
502
|
+
http = json_message.get("http", {})
|
503
|
+
|
504
|
+
if not isinstance(http, dict):
|
505
|
+
raise ValueError(f"Expected http to be a dict, got {http} of type {type(http)}")
|
508
506
|
|
509
507
|
return AuxiliaryRequest(
|
510
|
-
title=title,
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
response=response,
|
508
|
+
title=title_prefix + str(http.get("title", None)),
|
509
|
+
description=str(http.get("description", None)),
|
510
|
+
request=create_request_from_log_message(json_message),
|
511
|
+
response=create_response_from_log_message(json_message),
|
515
512
|
)
|
516
513
|
|
517
514
|
|
@@ -561,8 +558,7 @@ def handle_log_message(
|
|
561
558
|
at_least_one_page_in_group,
|
562
559
|
current_page_request,
|
563
560
|
current_page_response,
|
564
|
-
auxiliary_request,
|
565
|
-
log_message,
|
561
|
+
auxiliary_request or log_message,
|
566
562
|
)
|
567
563
|
|
568
564
|
|
@@ -593,97 +589,3 @@ def handle_record_message(
|
|
593
589
|
datetime_format_inferrer.accumulate(message.record) # type: ignore
|
594
590
|
|
595
591
|
return records_count
|
596
|
-
|
597
|
-
|
598
|
-
# -------
|
599
|
-
# Reusable Getters
|
600
|
-
# -------
|
601
|
-
|
602
|
-
|
603
|
-
def get_airbyte_cdk_from_message(json_message: Dict[str, JsonType]) -> dict: # type: ignore
|
604
|
-
"""
|
605
|
-
Retrieves the "airbyte_cdk" dictionary from the provided JSON message.
|
606
|
-
|
607
|
-
This function validates that the extracted "airbyte_cdk" is of type dict,
|
608
|
-
raising a ValueError if the validation fails.
|
609
|
-
|
610
|
-
Parameters:
|
611
|
-
json_message (Dict[str, JsonType]): A dictionary representing the JSON message.
|
612
|
-
|
613
|
-
Returns:
|
614
|
-
dict: The "airbyte_cdk" dictionary extracted from the JSON message.
|
615
|
-
|
616
|
-
Raises:
|
617
|
-
ValueError: If the "airbyte_cdk" field is not a dictionary.
|
618
|
-
"""
|
619
|
-
airbyte_cdk = json_message.get("airbyte_cdk", {})
|
620
|
-
|
621
|
-
if not isinstance(airbyte_cdk, dict):
|
622
|
-
raise ValueError(
|
623
|
-
f"Expected airbyte_cdk to be a dict, got {airbyte_cdk} of type {type(airbyte_cdk)}"
|
624
|
-
)
|
625
|
-
|
626
|
-
return airbyte_cdk
|
627
|
-
|
628
|
-
|
629
|
-
def get_stream_from_airbyte_cdk(airbyte_cdk: dict) -> dict: # type: ignore
|
630
|
-
"""
|
631
|
-
Retrieves the "stream" dictionary from the provided "airbyte_cdk" dictionary.
|
632
|
-
|
633
|
-
This function ensures that the extracted "stream" is of type dict,
|
634
|
-
raising a ValueError if the validation fails.
|
635
|
-
|
636
|
-
Parameters:
|
637
|
-
airbyte_cdk (dict): The dictionary representing the Airbyte CDK data.
|
638
|
-
|
639
|
-
Returns:
|
640
|
-
dict: The "stream" dictionary extracted from the Airbyte CDK data.
|
641
|
-
|
642
|
-
Raises:
|
643
|
-
ValueError: If the "stream" field is not a dictionary.
|
644
|
-
"""
|
645
|
-
|
646
|
-
stream = airbyte_cdk.get("stream", {})
|
647
|
-
|
648
|
-
if not isinstance(stream, dict):
|
649
|
-
raise ValueError(f"Expected stream to be a dict, got {stream} of type {type(stream)}")
|
650
|
-
|
651
|
-
return stream
|
652
|
-
|
653
|
-
|
654
|
-
def get_auxiliary_request_title_prefix(stream: dict) -> str: # type: ignore
|
655
|
-
"""
|
656
|
-
Generates a title prefix based on the stream type.
|
657
|
-
"""
|
658
|
-
return "Parent stream: " if stream.get("is_substream", False) else ""
|
659
|
-
|
660
|
-
|
661
|
-
def get_http_property_from_message(json_message: Dict[str, JsonType]) -> dict: # type: ignore
|
662
|
-
"""
|
663
|
-
Retrieves the "http" dictionary from the provided JSON message.
|
664
|
-
|
665
|
-
This function validates that the extracted "http" is of type dict,
|
666
|
-
raising a ValueError if the validation fails.
|
667
|
-
|
668
|
-
Parameters:
|
669
|
-
json_message (Dict[str, JsonType]): A dictionary representing the JSON message.
|
670
|
-
|
671
|
-
Returns:
|
672
|
-
dict: The "http" dictionary extracted from the JSON message.
|
673
|
-
|
674
|
-
Raises:
|
675
|
-
ValueError: If the "http" field is not a dictionary.
|
676
|
-
"""
|
677
|
-
http = json_message.get("http", {})
|
678
|
-
|
679
|
-
if not isinstance(http, dict):
|
680
|
-
raise ValueError(f"Expected http to be a dict, got {http} of type {type(http)}")
|
681
|
-
|
682
|
-
return http
|
683
|
-
|
684
|
-
|
685
|
-
def get_auxiliary_request_type(stream: dict, http: dict) -> str: # type: ignore
|
686
|
-
"""
|
687
|
-
Determines the type of the auxiliary request based on the stream and HTTP properties.
|
688
|
-
"""
|
689
|
-
return "PARENT_STREAM" if stream.get("is_substream", False) else str(http.get("type", None))
|
@@ -6,7 +6,6 @@
|
|
6
6
|
from typing import Any, Dict, Iterator, List, Mapping, Optional
|
7
7
|
|
8
8
|
from airbyte_cdk.connector_builder.models import (
|
9
|
-
AuxiliaryRequest,
|
10
9
|
HttpRequest,
|
11
10
|
HttpResponse,
|
12
11
|
StreamReadPages,
|
@@ -25,7 +24,6 @@ from .helpers import (
|
|
25
24
|
handle_current_slice,
|
26
25
|
handle_log_message,
|
27
26
|
handle_record_message,
|
28
|
-
is_async_auxiliary_request,
|
29
27
|
is_config_update_message,
|
30
28
|
is_log_message,
|
31
29
|
is_record_message,
|
@@ -91,7 +89,6 @@ def get_message_groups(
|
|
91
89
|
current_page_request: Optional[HttpRequest] = None
|
92
90
|
current_page_response: Optional[HttpResponse] = None
|
93
91
|
latest_state_message: Optional[Dict[str, Any]] = None
|
94
|
-
slice_auxiliary_requests: List[AuxiliaryRequest] = []
|
95
92
|
|
96
93
|
while records_count < limit and (message := next(messages, None)):
|
97
94
|
json_message = airbyte_message_to_json(message)
|
@@ -109,7 +106,6 @@ def get_message_groups(
|
|
109
106
|
current_slice_pages,
|
110
107
|
current_slice_descriptor,
|
111
108
|
latest_state_message,
|
112
|
-
slice_auxiliary_requests,
|
113
109
|
)
|
114
110
|
current_slice_descriptor = parse_slice_description(message.log.message) # type: ignore
|
115
111
|
current_slice_pages = []
|
@@ -122,8 +118,7 @@ def get_message_groups(
|
|
122
118
|
at_least_one_page_in_group,
|
123
119
|
current_page_request,
|
124
120
|
current_page_response,
|
125
|
-
|
126
|
-
log_message,
|
121
|
+
log_or_auxiliary_request,
|
127
122
|
) = handle_log_message(
|
128
123
|
message,
|
129
124
|
json_message,
|
@@ -131,15 +126,8 @@ def get_message_groups(
|
|
131
126
|
current_page_request,
|
132
127
|
current_page_response,
|
133
128
|
)
|
134
|
-
|
135
|
-
|
136
|
-
if is_async_auxiliary_request(auxiliary_request):
|
137
|
-
slice_auxiliary_requests.append(auxiliary_request)
|
138
|
-
else:
|
139
|
-
yield auxiliary_request
|
140
|
-
|
141
|
-
if log_message:
|
142
|
-
yield log_message
|
129
|
+
if log_or_auxiliary_request:
|
130
|
+
yield log_or_auxiliary_request
|
143
131
|
elif is_trace_with_error(message):
|
144
132
|
if message.trace is not None:
|
145
133
|
yield message.trace
|
@@ -169,5 +157,4 @@ def get_message_groups(
|
|
169
157
|
current_slice_pages,
|
170
158
|
current_slice_descriptor,
|
171
159
|
latest_state_message,
|
172
|
-
slice_auxiliary_requests,
|
173
160
|
)
|
@@ -71,13 +71,5 @@ LOG_MESSAGES_OUTPUT_TYPE = tuple[
|
|
71
71
|
bool,
|
72
72
|
HttpRequest | None,
|
73
73
|
HttpResponse | None,
|
74
|
-
AuxiliaryRequest | None,
|
75
|
-
AirbyteLogMessage | None,
|
76
|
-
]
|
77
|
-
|
78
|
-
ASYNC_AUXILIARY_REQUEST_TYPES = [
|
79
|
-
"ASYNC_CREATE",
|
80
|
-
"ASYNC_POLL",
|
81
|
-
"ASYNC_ABORT",
|
82
|
-
"ASYNC_DELETE",
|
74
|
+
AuxiliaryRequest | AirbyteLogMessage | None,
|
83
75
|
]
|
@@ -37,8 +37,8 @@ from airbyte_cdk.sources import Source
|
|
37
37
|
from airbyte_cdk.sources.connector_state_manager import HashableStreamDescriptor
|
38
38
|
from airbyte_cdk.sources.utils.schema_helpers import check_config_against_spec_or_exit, split_config
|
39
39
|
|
40
|
-
from airbyte_cdk.utils import PrintBuffer, is_cloud_environment, message_utils # add PrintBuffer back once fixed
|
41
|
-
|
40
|
+
# from airbyte_cdk.utils import PrintBuffer, is_cloud_environment, message_utils # add PrintBuffer back once fixed
|
41
|
+
from airbyte_cdk.utils import is_cloud_environment, message_utils
|
42
42
|
from airbyte_cdk.utils.airbyte_secrets_utils import get_secrets, update_secrets
|
43
43
|
from airbyte_cdk.utils.constants import ENV_REQUEST_CACHE_PATH
|
44
44
|
from airbyte_cdk.utils.traced_exception import AirbyteTracedException
|
@@ -337,11 +337,11 @@ def launch(source: Source, args: List[str]) -> None:
|
|
337
337
|
parsed_args = source_entrypoint.parse_args(args)
|
338
338
|
# temporarily removes the PrintBuffer because we're seeing weird print behavior for concurrent syncs
|
339
339
|
# Refer to: https://github.com/airbytehq/oncall/issues/6235
|
340
|
-
with PrintBuffer():
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
340
|
+
# with PrintBuffer():
|
341
|
+
for message in source_entrypoint.run(parsed_args):
|
342
|
+
# simply printing is creating issues for concurrent CDK as Python uses different two instructions to print: one for the message and
|
343
|
+
# the other for the break line. Adding `\n` to the message ensure that both are printed at the same time
|
344
|
+
print(f"{message}\n", end="", flush=True)
|
345
345
|
|
346
346
|
|
347
347
|
def _init_internal_request_filter() -> None:
|
@@ -44,7 +44,6 @@ from airbyte_cdk.sources.declarative.types import ConnectionDefinition
|
|
44
44
|
from airbyte_cdk.sources.source import TState
|
45
45
|
from airbyte_cdk.sources.streams import Stream
|
46
46
|
from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
|
47
|
-
from airbyte_cdk.sources.streams.concurrent.abstract_stream_facade import AbstractStreamFacade
|
48
47
|
from airbyte_cdk.sources.streams.concurrent.availability_strategy import (
|
49
48
|
AlwaysAvailableAvailabilityStrategy,
|
50
49
|
)
|
@@ -119,12 +118,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
119
118
|
message_repository=self.message_repository,
|
120
119
|
)
|
121
120
|
|
122
|
-
# TODO: Remove this. This property is necessary to safely migrate Stripe during the transition state.
|
123
|
-
@property
|
124
|
-
def is_partially_declarative(self) -> bool:
|
125
|
-
"""This flag used to avoid unexpected AbstractStreamFacade processing as concurrent streams."""
|
126
|
-
return False
|
127
|
-
|
128
121
|
def read(
|
129
122
|
self,
|
130
123
|
logger: logging.Logger,
|
@@ -376,14 +369,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
376
369
|
)
|
377
370
|
else:
|
378
371
|
synchronous_streams.append(declarative_stream)
|
379
|
-
# TODO: Remove this. This check is necessary to safely migrate Stripe during the transition state.
|
380
|
-
# Condition below needs to ensure that concurrent support is not lost for sources that already support
|
381
|
-
# it before migration, but now are only partially migrated to declarative implementation (e.g., Stripe).
|
382
|
-
elif (
|
383
|
-
isinstance(declarative_stream, AbstractStreamFacade)
|
384
|
-
and self.is_partially_declarative
|
385
|
-
):
|
386
|
-
concurrent_streams.append(declarative_stream.get_underlying_stream())
|
387
372
|
else:
|
388
373
|
synchronous_streams.append(declarative_stream)
|
389
374
|
|
@@ -1490,11 +1490,7 @@ definitions:
|
|
1490
1490
|
limit:
|
1491
1491
|
title: Limit
|
1492
1492
|
description: The maximum number of calls allowed within the interval.
|
1493
|
-
|
1494
|
-
- type: integer
|
1495
|
-
- type: string
|
1496
|
-
interpolation_context:
|
1497
|
-
- config
|
1493
|
+
type: integer
|
1498
1494
|
interval:
|
1499
1495
|
title: Interval
|
1500
1496
|
description: The time interval for the rate limit.
|
@@ -3134,12 +3130,14 @@ definitions:
|
|
3134
3130
|
- "$ref": "#/definitions/CustomPartitionRouter"
|
3135
3131
|
- "$ref": "#/definitions/ListPartitionRouter"
|
3136
3132
|
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3133
|
+
- "$ref": "#/definitions/GroupingPartitionRouter"
|
3137
3134
|
- type: array
|
3138
3135
|
items:
|
3139
3136
|
anyOf:
|
3140
3137
|
- "$ref": "#/definitions/CustomPartitionRouter"
|
3141
3138
|
- "$ref": "#/definitions/ListPartitionRouter"
|
3142
3139
|
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3140
|
+
- "$ref": "#/definitions/GroupingPartitionRouter"
|
3143
3141
|
decoder:
|
3144
3142
|
title: Decoder
|
3145
3143
|
description: Component decoding the response so records can be extracted.
|
@@ -3294,12 +3292,14 @@ definitions:
|
|
3294
3292
|
- "$ref": "#/definitions/CustomPartitionRouter"
|
3295
3293
|
- "$ref": "#/definitions/ListPartitionRouter"
|
3296
3294
|
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3295
|
+
- "$ref": "#/definitions/GroupingPartitionRouter"
|
3297
3296
|
- type: array
|
3298
3297
|
items:
|
3299
3298
|
anyOf:
|
3300
3299
|
- "$ref": "#/definitions/CustomPartitionRouter"
|
3301
3300
|
- "$ref": "#/definitions/ListPartitionRouter"
|
3302
3301
|
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3302
|
+
- "$ref": "#/definitions/GroupingPartitionRouter"
|
3303
3303
|
decoder:
|
3304
3304
|
title: Decoder
|
3305
3305
|
description: Component decoding the response so records can be extracted.
|
@@ -3416,6 +3416,44 @@ definitions:
|
|
3416
3416
|
$parameters:
|
3417
3417
|
type: object
|
3418
3418
|
additionalProperties: true
|
3419
|
+
GroupingPartitionRouter:
|
3420
|
+
title: Grouping Partition Router
|
3421
|
+
description: >
|
3422
|
+
A decorator on top of a partition router that groups partitions into batches of a specified size.
|
3423
|
+
This is useful for APIs that support filtering by multiple partition keys in a single request.
|
3424
|
+
Note that per-partition incremental syncs may not work as expected because the grouping
|
3425
|
+
of partitions might change between syncs, potentially leading to inconsistent state tracking.
|
3426
|
+
type: object
|
3427
|
+
required:
|
3428
|
+
- type
|
3429
|
+
- group_size
|
3430
|
+
- underlying_partition_router
|
3431
|
+
properties:
|
3432
|
+
type:
|
3433
|
+
type: string
|
3434
|
+
enum: [GroupingPartitionRouter]
|
3435
|
+
group_size:
|
3436
|
+
title: Group Size
|
3437
|
+
description: The number of partitions to include in each group. This determines how many partition values are batched together in a single slice.
|
3438
|
+
type: integer
|
3439
|
+
examples:
|
3440
|
+
- 10
|
3441
|
+
- 50
|
3442
|
+
underlying_partition_router:
|
3443
|
+
title: Underlying Partition Router
|
3444
|
+
description: The partition router whose output will be grouped. This can be any valid partition router component.
|
3445
|
+
anyOf:
|
3446
|
+
- "$ref": "#/definitions/CustomPartitionRouter"
|
3447
|
+
- "$ref": "#/definitions/ListPartitionRouter"
|
3448
|
+
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3449
|
+
deduplicate:
|
3450
|
+
title: Deduplicate Partitions
|
3451
|
+
description: If true, ensures that partitions are unique within each group by removing duplicates based on the partition key.
|
3452
|
+
type: boolean
|
3453
|
+
default: true
|
3454
|
+
$parameters:
|
3455
|
+
type: object
|
3456
|
+
additionalProperties: true
|
3419
3457
|
WaitUntilTimeFromHeader:
|
3420
3458
|
title: Wait Until Time Defined In Response Header
|
3421
3459
|
description: Extract time at which we can retry the request from response header and wait for the difference between now and that time.
|
@@ -107,16 +107,6 @@ class CsvParser(Parser):
|
|
107
107
|
encoding: Optional[str] = "utf-8"
|
108
108
|
delimiter: Optional[str] = ","
|
109
109
|
|
110
|
-
def _get_delimiter(self) -> Optional[str]:
|
111
|
-
"""
|
112
|
-
Get delimiter from the configuration. Check for the escape character and decode it.
|
113
|
-
"""
|
114
|
-
if self.delimiter is not None:
|
115
|
-
if self.delimiter.startswith("\\"):
|
116
|
-
self.delimiter = self.delimiter.encode("utf-8").decode("unicode_escape")
|
117
|
-
|
118
|
-
return self.delimiter
|
119
|
-
|
120
110
|
def parse(
|
121
111
|
self,
|
122
112
|
data: BufferedIOBase,
|
@@ -125,9 +115,8 @@ class CsvParser(Parser):
|
|
125
115
|
Parse CSV data from decompressed bytes.
|
126
116
|
"""
|
127
117
|
text_data = TextIOWrapper(data, encoding=self.encoding) # type: ignore
|
128
|
-
reader = csv.DictReader(text_data, delimiter=self.
|
129
|
-
|
130
|
-
yield row
|
118
|
+
reader = csv.DictReader(text_data, delimiter=self.delimiter or ",")
|
119
|
+
yield from reader
|
131
120
|
|
132
121
|
|
133
122
|
@dataclass
|