airbyte-cdk 6.45.4.post48.dev14477787653__tar.gz → 6.45.4.post72.dev14497997772__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.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/PKG-INFO +3 -2
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/models/__init__.py +0 -1
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/models/airbyte_protocol.py +3 -1
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/models/file_transfer_record_message.py +13 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +1 -1
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -8
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -36
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/record_selector.py +1 -6
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -31
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +1 -39
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +4 -9
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +16 -38
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +15 -8
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/schema_helpers.py +1 -10
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +12 -3
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +38 -15
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +3 -1
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -3
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/types.py +2 -11
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/record_helper.py +8 -8
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/declarative/__init__.py +6 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/declarative/models/__init__.py +7 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/declarative/models/scenario.py +74 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/declarative/utils/__init__.py +0 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/declarative/utils/job_runner.py +159 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/entrypoint_wrapper.py +4 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/response_builder.py +0 -8
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/__init__.py +46 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/connector_base.py +148 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/declarative_sources.py +92 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/destination_base.py +16 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/pytest_hooks.py +61 -0
- airbyte_cdk-6.45.4.post72.dev14497997772/airbyte_cdk/test/standard_tests/source_base.py +140 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/pyproject.toml +6 -3
- airbyte_cdk-6.45.4.post48.dev14477787653/airbyte_cdk/sources/declarative/retrievers/file_uploader.py +0 -89
- airbyte_cdk-6.45.4.post48.dev14477787653/airbyte_cdk/sources/file_based/file_record_data.py +0 -22
- airbyte_cdk-6.45.4.post48.dev14477787653/airbyte_cdk/sources/utils/files_directory.py +0 -15
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/LICENSE.txt +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/airbyte_cdk/utils/traced_exception.py +0 -0
{airbyte_cdk-6.45.4.post48.dev14477787653 → airbyte_cdk-6.45.4.post72.dev14497997772}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: airbyte-cdk
|
3
|
-
Version: 6.45.4.
|
3
|
+
Version: 6.45.4.post72.dev14497997772
|
4
4
|
Summary: A framework for writing Airbyte Connectors.
|
5
5
|
Home-page: https://airbyte.com
|
6
6
|
License: MIT
|
@@ -22,10 +22,11 @@ Provides-Extra: sql
|
|
22
22
|
Provides-Extra: vector-db-based
|
23
23
|
Requires-Dist: Jinja2 (>=3.1.2,<3.2.0)
|
24
24
|
Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
|
25
|
-
Requires-Dist: airbyte-protocol-models-dataclasses (>=0.
|
25
|
+
Requires-Dist: airbyte-protocol-models-dataclasses (>=0.14,<0.15)
|
26
26
|
Requires-Dist: anyascii (>=0.3.2,<0.4.0)
|
27
27
|
Requires-Dist: avro (>=1.11.2,<1.13.0) ; extra == "file-based"
|
28
28
|
Requires-Dist: backoff
|
29
|
+
Requires-Dist: boltons (>=25.0.0,<26.0.0)
|
29
30
|
Requires-Dist: cachetools
|
30
31
|
Requires-Dist: cohere (==4.21) ; extra == "vector-db-based"
|
31
32
|
Requires-Dist: cryptography (>=44.0.0,<45.0.0)
|
@@ -8,6 +8,8 @@ from typing import Annotated, Any, Dict, List, Mapping, Optional, Union
|
|
8
8
|
from airbyte_protocol_dataclasses.models import * # noqa: F403 # Allow '*'
|
9
9
|
from serpyco_rs.metadata import Alias
|
10
10
|
|
11
|
+
from airbyte_cdk.models.file_transfer_record_message import AirbyteFileTransferRecordMessage
|
12
|
+
|
11
13
|
# ruff: noqa: F405 # ignore fuzzy import issues with 'import *'
|
12
14
|
|
13
15
|
|
@@ -82,7 +84,7 @@ class AirbyteMessage:
|
|
82
84
|
spec: Optional[ConnectorSpecification] = None # type: ignore [name-defined]
|
83
85
|
connectionStatus: Optional[AirbyteConnectionStatus] = None # type: ignore [name-defined]
|
84
86
|
catalog: Optional[AirbyteCatalog] = None # type: ignore [name-defined]
|
85
|
-
record: Optional[AirbyteRecordMessage] = None # type: ignore [name-defined]
|
87
|
+
record: Optional[Union[AirbyteFileTransferRecordMessage, AirbyteRecordMessage]] = None # type: ignore [name-defined]
|
86
88
|
state: Optional[AirbyteStateMessage] = None
|
87
89
|
trace: Optional[AirbyteTraceMessage] = None # type: ignore [name-defined]
|
88
90
|
control: Optional[AirbyteControlMessage] = None # type: ignore [name-defined]
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
|
2
|
+
|
3
|
+
from dataclasses import dataclass
|
4
|
+
from typing import Any, Dict, Optional
|
5
|
+
|
6
|
+
|
7
|
+
@dataclass
|
8
|
+
class AirbyteFileTransferRecordMessage:
|
9
|
+
stream: str
|
10
|
+
file: Dict[str, Any]
|
11
|
+
emitted_at: int
|
12
|
+
namespace: Optional[str] = None
|
13
|
+
data: Optional[Dict[str, Any]] = None
|
@@ -149,7 +149,7 @@ class ConcurrentReadProcessor:
|
|
149
149
|
message = stream_data_to_airbyte_message(
|
150
150
|
stream_name=record.stream_name,
|
151
151
|
data_or_message=record.data,
|
152
|
-
|
152
|
+
is_file_transfer_message=record.is_file_transfer_message,
|
153
153
|
)
|
154
154
|
stream = self._stream_name_to_instance[record.stream_name]
|
155
155
|
|
@@ -25,7 +25,6 @@ from airbyte_cdk.sources.declarative.incremental.per_partition_with_global impor
|
|
25
25
|
PerPartitionWithGlobalCursor,
|
26
26
|
)
|
27
27
|
from airbyte_cdk.sources.declarative.manifest_declarative_source import ManifestDeclarativeSource
|
28
|
-
from airbyte_cdk.sources.declarative.models import FileUploader
|
29
28
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
30
29
|
ConcurrencyLevel as ConcurrencyLevelModel,
|
31
30
|
)
|
@@ -207,10 +206,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
207
206
|
# these legacy Python streams the way we do low-code streams to determine if they are concurrent compatible,
|
208
207
|
# so we need to treat them as synchronous
|
209
208
|
|
210
|
-
supports_file_transfer = (
|
211
|
-
"file_uploader" in name_to_stream_mapping[declarative_stream.name]
|
212
|
-
)
|
213
|
-
|
214
209
|
if (
|
215
210
|
isinstance(declarative_stream, DeclarativeStream)
|
216
211
|
and name_to_stream_mapping[declarative_stream.name]["type"]
|
@@ -327,7 +322,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
327
322
|
else None,
|
328
323
|
logger=self.logger,
|
329
324
|
cursor=cursor,
|
330
|
-
supports_file_transfer=supports_file_transfer,
|
331
325
|
)
|
332
326
|
)
|
333
327
|
elif (
|
@@ -359,7 +353,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
359
353
|
cursor_field=None,
|
360
354
|
logger=self.logger,
|
361
355
|
cursor=final_state_cursor,
|
362
|
-
supports_file_transfer=supports_file_transfer,
|
363
356
|
)
|
364
357
|
)
|
365
358
|
elif (
|
@@ -413,7 +406,6 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
413
406
|
cursor_field=perpartition_cursor.cursor_field.cursor_field_key,
|
414
407
|
logger=self.logger,
|
415
408
|
cursor=perpartition_cursor,
|
416
|
-
supports_file_transfer=supports_file_transfer,
|
417
409
|
)
|
418
410
|
)
|
419
411
|
else:
|
@@ -1448,42 +1448,6 @@ definitions:
|
|
1448
1448
|
- "$ref": "#/definitions/LegacyToPerPartitionStateMigration"
|
1449
1449
|
- "$ref": "#/definitions/CustomStateMigration"
|
1450
1450
|
default: []
|
1451
|
-
file_uploader:
|
1452
|
-
title: File Uploader
|
1453
|
-
description: (experimental) Describes how to fetch a file
|
1454
|
-
type: object
|
1455
|
-
required:
|
1456
|
-
- type
|
1457
|
-
- requester
|
1458
|
-
- download_target_extractor
|
1459
|
-
properties:
|
1460
|
-
type:
|
1461
|
-
type: string
|
1462
|
-
enum: [ FileUploader ]
|
1463
|
-
requester:
|
1464
|
-
description: Requester component that describes how to prepare HTTP requests to send to the source API.
|
1465
|
-
anyOf:
|
1466
|
-
- "$ref": "#/definitions/CustomRequester"
|
1467
|
-
- "$ref": "#/definitions/HttpRequester"
|
1468
|
-
download_target_extractor:
|
1469
|
-
description: Responsible for fetching the url where the file is located. This is applied on each records and not on the HTTP response
|
1470
|
-
anyOf:
|
1471
|
-
- "$ref": "#/definitions/CustomRecordExtractor"
|
1472
|
-
- "$ref": "#/definitions/DpathExtractor"
|
1473
|
-
file_extractor:
|
1474
|
-
description: Responsible for fetching the content of the file. If not defined, the assumption is that the whole response body is the file content
|
1475
|
-
anyOf:
|
1476
|
-
- "$ref": "#/definitions/CustomRecordExtractor"
|
1477
|
-
- "$ref": "#/definitions/DpathExtractor"
|
1478
|
-
filename_extractor:
|
1479
|
-
description: Defines the name to store the file. Stream name is automatically added to the file path. File unique ID can be used to avoid overwriting files. Random UUID will be used if the extractor is not provided.
|
1480
|
-
type: string
|
1481
|
-
interpolation_context:
|
1482
|
-
- config
|
1483
|
-
- record
|
1484
|
-
examples:
|
1485
|
-
- "{{ record.id }}/{{ record.file_name }}/"
|
1486
|
-
- "{{ record.id }}_{{ record.file_name }}/"
|
1487
1451
|
$parameters:
|
1488
1452
|
type: object
|
1489
1453
|
additional_properties: true
|
@@ -15,7 +15,6 @@ from airbyte_cdk.sources.declarative.extractors.type_transformer import (
|
|
15
15
|
)
|
16
16
|
from airbyte_cdk.sources.declarative.interpolation import InterpolatedString
|
17
17
|
from airbyte_cdk.sources.declarative.models import SchemaNormalization
|
18
|
-
from airbyte_cdk.sources.declarative.retrievers.file_uploader import FileUploader
|
19
18
|
from airbyte_cdk.sources.declarative.transformations import RecordTransformation
|
20
19
|
from airbyte_cdk.sources.types import Config, Record, StreamSlice, StreamState
|
21
20
|
from airbyte_cdk.sources.utils.transform import TypeTransformer
|
@@ -43,7 +42,6 @@ class RecordSelector(HttpSelector):
|
|
43
42
|
record_filter: Optional[RecordFilter] = None
|
44
43
|
transformations: List[RecordTransformation] = field(default_factory=lambda: [])
|
45
44
|
transform_before_filtering: bool = False
|
46
|
-
file_uploader: Optional[FileUploader] = None
|
47
45
|
|
48
46
|
def __post_init__(self, parameters: Mapping[str, Any]) -> None:
|
49
47
|
self._parameters = parameters
|
@@ -119,10 +117,7 @@ class RecordSelector(HttpSelector):
|
|
119
117
|
transformed_filtered_data, schema=records_schema
|
120
118
|
)
|
121
119
|
for data in normalized_data:
|
122
|
-
|
123
|
-
if self.file_uploader:
|
124
|
-
self.file_uploader.upload(record)
|
125
|
-
yield record
|
120
|
+
yield Record(data=data, stream_name=self.name, associated_slice=stream_slice)
|
126
121
|
|
127
122
|
def _normalize_by_schema(
|
128
123
|
self, records: Iterable[Mapping[str, Any]], schema: Optional[Mapping[str, Any]]
|
@@ -2066,31 +2066,6 @@ class SelectiveAuthenticator(BaseModel):
|
|
2066
2066
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2067
2067
|
|
2068
2068
|
|
2069
|
-
class FileUploader(BaseModel):
|
2070
|
-
type: Literal["FileUploader"]
|
2071
|
-
requester: Union[CustomRequester, HttpRequester] = Field(
|
2072
|
-
...,
|
2073
|
-
description="Requester component that describes how to prepare HTTP requests to send to the source API.",
|
2074
|
-
)
|
2075
|
-
download_target_extractor: Union[CustomRecordExtractor, DpathExtractor] = Field(
|
2076
|
-
...,
|
2077
|
-
description="Responsible for fetching the url where the file is located. This is applied on each records and not on the HTTP response",
|
2078
|
-
)
|
2079
|
-
file_extractor: Optional[Union[CustomRecordExtractor, DpathExtractor]] = Field(
|
2080
|
-
None,
|
2081
|
-
description="Responsible for fetching the content of the file. If not defined, the assumption is that the whole response body is the file content",
|
2082
|
-
)
|
2083
|
-
filename_extractor: Optional[str] = Field(
|
2084
|
-
None,
|
2085
|
-
description="Defines the name to store the file. Stream name is automatically added to the file path. File unique ID can be used to avoid overwriting files. Random UUID will be used if the extractor is not provided.",
|
2086
|
-
examples=[
|
2087
|
-
"{{ record.id }}/{{ record.file_name }}/",
|
2088
|
-
"{{ record.id }}_{{ record.file_name }}/",
|
2089
|
-
],
|
2090
|
-
)
|
2091
|
-
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2092
|
-
|
2093
|
-
|
2094
2069
|
class DeclarativeStream(BaseModel):
|
2095
2070
|
class Config:
|
2096
2071
|
extra = Extra.allow
|
@@ -2149,11 +2124,6 @@ class DeclarativeStream(BaseModel):
|
|
2149
2124
|
description="Array of state migrations to be applied on the input state",
|
2150
2125
|
title="State Migrations",
|
2151
2126
|
)
|
2152
|
-
file_uploader: Optional[FileUploader] = Field(
|
2153
|
-
None,
|
2154
|
-
description="(experimental) Describes how to fetch a file",
|
2155
|
-
title="File Uploader",
|
2156
|
-
)
|
2157
2127
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2158
2128
|
|
2159
2129
|
|
@@ -2647,7 +2617,6 @@ CompositeErrorHandler.update_forward_refs()
|
|
2647
2617
|
DeclarativeSource1.update_forward_refs()
|
2648
2618
|
DeclarativeSource2.update_forward_refs()
|
2649
2619
|
SelectiveAuthenticator.update_forward_refs()
|
2650
|
-
FileUploader.update_forward_refs()
|
2651
2620
|
DeclarativeStream.update_forward_refs()
|
2652
2621
|
SessionTokenAuthenticator.update_forward_refs()
|
2653
2622
|
DynamicSchemaLoader.update_forward_refs()
|
@@ -106,6 +106,7 @@ from airbyte_cdk.sources.declarative.migrations.legacy_to_per_partition_state_mi
|
|
106
106
|
)
|
107
107
|
from airbyte_cdk.sources.declarative.models import (
|
108
108
|
CustomStateMigration,
|
109
|
+
GzipDecoder,
|
109
110
|
)
|
110
111
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
111
112
|
AddedFieldDefinition as AddedFieldDefinitionModel,
|
@@ -227,9 +228,6 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
227
228
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
228
229
|
ExponentialBackoffStrategy as ExponentialBackoffStrategyModel,
|
229
230
|
)
|
230
|
-
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
231
|
-
FileUploader as FileUploaderModel,
|
232
|
-
)
|
233
231
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
234
232
|
FixedWindowCallRatePolicy as FixedWindowCallRatePolicyModel,
|
235
233
|
)
|
@@ -481,7 +479,6 @@ from airbyte_cdk.sources.declarative.retrievers import (
|
|
481
479
|
SimpleRetriever,
|
482
480
|
SimpleRetrieverTestReadDecorator,
|
483
481
|
)
|
484
|
-
from airbyte_cdk.sources.declarative.retrievers.file_uploader import FileUploader
|
485
482
|
from airbyte_cdk.sources.declarative.schema import (
|
486
483
|
ComplexFieldType,
|
487
484
|
DefaultSchemaLoader,
|
@@ -679,7 +676,6 @@ class ModelToComponentFactory:
|
|
679
676
|
ComponentMappingDefinitionModel: self.create_components_mapping_definition,
|
680
677
|
ZipfileDecoderModel: self.create_zipfile_decoder,
|
681
678
|
HTTPAPIBudgetModel: self.create_http_api_budget,
|
682
|
-
FileUploaderModel: self.create_file_uploader,
|
683
679
|
FixedWindowCallRatePolicyModel: self.create_fixed_window_call_rate_policy,
|
684
680
|
MovingWindowCallRatePolicyModel: self.create_moving_window_call_rate_policy,
|
685
681
|
UnlimitedCallRatePolicyModel: self.create_unlimited_call_rate_policy,
|
@@ -1842,11 +1838,6 @@ class ModelToComponentFactory:
|
|
1842
1838
|
transformations.append(
|
1843
1839
|
self._create_component_from_model(model=transformation_model, config=config)
|
1844
1840
|
)
|
1845
|
-
file_uploader = None
|
1846
|
-
if model.file_uploader:
|
1847
|
-
file_uploader = self._create_component_from_model(
|
1848
|
-
model=model.file_uploader, config=config
|
1849
|
-
)
|
1850
1841
|
|
1851
1842
|
retriever = self._create_component_from_model(
|
1852
1843
|
model=model.retriever,
|
@@ -1858,7 +1849,6 @@ class ModelToComponentFactory:
|
|
1858
1849
|
stop_condition_on_cursor=stop_condition_on_cursor,
|
1859
1850
|
client_side_incremental_sync=client_side_incremental_sync,
|
1860
1851
|
transformations=transformations,
|
1861
|
-
file_uploader=file_uploader,
|
1862
1852
|
incremental_sync=model.incremental_sync,
|
1863
1853
|
)
|
1864
1854
|
cursor_field = model.incremental_sync.cursor_field if model.incremental_sync else None
|
@@ -2804,7 +2794,6 @@ class ModelToComponentFactory:
|
|
2804
2794
|
transformations: List[RecordTransformation] | None = None,
|
2805
2795
|
decoder: Decoder | None = None,
|
2806
2796
|
client_side_incremental_sync: Dict[str, Any] | None = None,
|
2807
|
-
file_uploader: Optional[FileUploader] = None,
|
2808
2797
|
**kwargs: Any,
|
2809
2798
|
) -> RecordSelector:
|
2810
2799
|
extractor = self._create_component_from_model(
|
@@ -2842,7 +2831,6 @@ class ModelToComponentFactory:
|
|
2842
2831
|
config=config,
|
2843
2832
|
record_filter=record_filter,
|
2844
2833
|
transformations=transformations or [],
|
2845
|
-
file_uploader=file_uploader,
|
2846
2834
|
schema_normalization=schema_normalization,
|
2847
2835
|
parameters=model.parameters or {},
|
2848
2836
|
transform_before_filtering=transform_before_filtering,
|
@@ -2900,7 +2888,6 @@ class ModelToComponentFactory:
|
|
2900
2888
|
stop_condition_on_cursor: bool = False,
|
2901
2889
|
client_side_incremental_sync: Optional[Dict[str, Any]] = None,
|
2902
2890
|
transformations: List[RecordTransformation],
|
2903
|
-
file_uploader: Optional[FileUploader] = None,
|
2904
2891
|
incremental_sync: Optional[
|
2905
2892
|
Union[
|
2906
2893
|
IncrementingCountCursorModel, DatetimeBasedCursorModel, CustomIncrementalSyncModel
|
@@ -2921,7 +2908,6 @@ class ModelToComponentFactory:
|
|
2921
2908
|
decoder=decoder,
|
2922
2909
|
transformations=transformations,
|
2923
2910
|
client_side_incremental_sync=client_side_incremental_sync,
|
2924
|
-
file_uploader=file_uploader,
|
2925
2911
|
)
|
2926
2912
|
|
2927
2913
|
query_properties: Optional[QueryProperties] = None
|
@@ -3588,30 +3574,6 @@ class ModelToComponentFactory:
|
|
3588
3574
|
matchers=matchers,
|
3589
3575
|
)
|
3590
3576
|
|
3591
|
-
def create_file_uploader(
|
3592
|
-
self, model: FileUploaderModel, config: Config, **kwargs: Any
|
3593
|
-
) -> FileUploader:
|
3594
|
-
name = "File Uploader"
|
3595
|
-
requester = self._create_component_from_model(
|
3596
|
-
model=model.requester,
|
3597
|
-
config=config,
|
3598
|
-
name=name,
|
3599
|
-
**kwargs,
|
3600
|
-
)
|
3601
|
-
download_target_extractor = self._create_component_from_model(
|
3602
|
-
model=model.download_target_extractor,
|
3603
|
-
config=config,
|
3604
|
-
name=name,
|
3605
|
-
**kwargs,
|
3606
|
-
)
|
3607
|
-
return FileUploader(
|
3608
|
-
requester=requester,
|
3609
|
-
download_target_extractor=download_target_extractor,
|
3610
|
-
config=config,
|
3611
|
-
parameters=model.parameters or {},
|
3612
|
-
filename_extractor=model.filename_extractor if model.filename_extractor else None,
|
3613
|
-
)
|
3614
|
-
|
3615
3577
|
def create_moving_window_call_rate_policy(
|
3616
3578
|
self, model: MovingWindowCallRatePolicyModel, config: Config, **kwargs: Any
|
3617
3579
|
) -> MovingWindowCallRatePolicy:
|
@@ -58,16 +58,11 @@ class DeclarativePartition(Partition):
|
|
58
58
|
def read(self) -> Iterable[Record]:
|
59
59
|
for stream_data in self._retriever.read_records(self._json_schema, self._stream_slice):
|
60
60
|
if isinstance(stream_data, Mapping):
|
61
|
-
|
62
|
-
stream_data
|
63
|
-
|
64
|
-
|
65
|
-
data=stream_data,
|
66
|
-
stream_name=self.stream_name(),
|
67
|
-
associated_slice=self._stream_slice,
|
68
|
-
)
|
61
|
+
yield Record(
|
62
|
+
data=stream_data,
|
63
|
+
stream_name=self.stream_name(),
|
64
|
+
associated_slice=self._stream_slice,
|
69
65
|
)
|
70
|
-
yield record
|
71
66
|
else:
|
72
67
|
self._message_repository.emit_message(stream_data)
|
73
68
|
|
@@ -8,18 +8,16 @@ from datetime import datetime
|
|
8
8
|
from enum import Enum
|
9
9
|
from io import IOBase
|
10
10
|
from os import makedirs, path
|
11
|
-
from typing import Any,
|
11
|
+
from typing import Any, Dict, Iterable, List, Optional, Set
|
12
12
|
|
13
13
|
from wcmatch.glob import GLOBSTAR, globmatch
|
14
14
|
|
15
|
-
from airbyte_cdk.models import AirbyteRecordMessageFileReference
|
16
15
|
from airbyte_cdk.sources.file_based.config.abstract_file_based_spec import AbstractFileBasedSpec
|
17
16
|
from airbyte_cdk.sources.file_based.config.validate_config_transfer_modes import (
|
18
17
|
include_identities_stream,
|
19
18
|
preserve_directory_structure,
|
20
19
|
use_file_transfer,
|
21
20
|
)
|
22
|
-
from airbyte_cdk.sources.file_based.file_record_data import FileRecordData
|
23
21
|
from airbyte_cdk.sources.file_based.remote_file import RemoteFile
|
24
22
|
|
25
23
|
|
@@ -30,10 +28,6 @@ class FileReadMode(Enum):
|
|
30
28
|
|
31
29
|
class AbstractFileBasedStreamReader(ABC):
|
32
30
|
DATE_TIME_FORMAT = "%Y-%m-%dT%H:%M:%S.%fZ"
|
33
|
-
FILE_RELATIVE_PATH = "file_relative_path"
|
34
|
-
FILE_NAME = "file_name"
|
35
|
-
LOCAL_FILE_PATH = "local_file_path"
|
36
|
-
FILE_FOLDER = "file_folder"
|
37
31
|
|
38
32
|
def __init__(self) -> None:
|
39
33
|
self._config = None
|
@@ -154,9 +148,9 @@ class AbstractFileBasedStreamReader(ABC):
|
|
154
148
|
return False
|
155
149
|
|
156
150
|
@abstractmethod
|
157
|
-
def
|
151
|
+
def get_file(
|
158
152
|
self, file: RemoteFile, local_directory: str, logger: logging.Logger
|
159
|
-
) ->
|
153
|
+
) -> Dict[str, Any]:
|
160
154
|
"""
|
161
155
|
This is required for connectors that will support writing to
|
162
156
|
files. It will handle the logic to download,get,read,acquire or
|
@@ -168,41 +162,25 @@ class AbstractFileBasedStreamReader(ABC):
|
|
168
162
|
logger (logging.Logger): Logger for logging information and errors.
|
169
163
|
|
170
164
|
Returns:
|
171
|
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
-
|
165
|
+
dict: A dictionary containing the following:
|
166
|
+
- "file_url" (str): The absolute path of the downloaded file.
|
167
|
+
- "bytes" (int): The file size in bytes.
|
168
|
+
- "file_relative_path" (str): The relative path of the file for local storage. Is relative to local_directory as
|
169
|
+
this a mounted volume in the pod container.
|
170
|
+
|
175
171
|
"""
|
176
172
|
...
|
177
173
|
|
178
|
-
def _get_file_transfer_paths(
|
179
|
-
self, source_file_relative_path: str, staging_directory: str
|
180
|
-
) -> MutableMapping[str, Any]:
|
181
|
-
"""
|
182
|
-
This method is used to get the file transfer paths for a given source file relative path and local directory.
|
183
|
-
It returns a dictionary with the following keys:
|
184
|
-
- FILE_RELATIVE_PATH: The relative path to file in reference to the staging directory.
|
185
|
-
- LOCAL_FILE_PATH: The absolute path to the file.
|
186
|
-
- FILE_NAME: The name of the referenced file.
|
187
|
-
- FILE_FOLDER: The folder of the referenced file.
|
188
|
-
"""
|
174
|
+
def _get_file_transfer_paths(self, file: RemoteFile, local_directory: str) -> List[str]:
|
189
175
|
preserve_directory_structure = self.preserve_directory_structure()
|
190
|
-
|
191
|
-
file_name = path.basename(source_file_relative_path)
|
192
|
-
file_folder = path.dirname(source_file_relative_path)
|
193
176
|
if preserve_directory_structure:
|
194
177
|
# Remove left slashes from source path format to make relative path for writing locally
|
195
|
-
file_relative_path =
|
178
|
+
file_relative_path = file.uri.lstrip("/")
|
196
179
|
else:
|
197
|
-
file_relative_path =
|
198
|
-
local_file_path = path.join(
|
180
|
+
file_relative_path = path.basename(file.uri)
|
181
|
+
local_file_path = path.join(local_directory, file_relative_path)
|
182
|
+
|
199
183
|
# Ensure the local directory exists
|
200
184
|
makedirs(path.dirname(local_file_path), exist_ok=True)
|
201
|
-
|
202
|
-
|
203
|
-
self.FILE_RELATIVE_PATH: file_relative_path,
|
204
|
-
self.LOCAL_FILE_PATH: local_file_path,
|
205
|
-
self.FILE_NAME: file_name,
|
206
|
-
self.FILE_FOLDER: file_folder,
|
207
|
-
}
|
208
|
-
return file_paths
|
185
|
+
absolute_file_path = path.abspath(local_file_path)
|
186
|
+
return [file_relative_path, local_file_path, absolute_file_path]
|
@@ -2,27 +2,34 @@
|
|
2
2
|
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
|
3
3
|
#
|
4
4
|
import logging
|
5
|
-
|
5
|
+
import os
|
6
|
+
from typing import Any, Dict, Iterable
|
6
7
|
|
7
|
-
from airbyte_cdk.
|
8
|
+
from airbyte_cdk.sources.file_based.config.file_based_stream_config import FileBasedStreamConfig
|
8
9
|
from airbyte_cdk.sources.file_based.file_based_stream_reader import AbstractFileBasedStreamReader
|
9
|
-
from airbyte_cdk.sources.file_based.file_record_data import FileRecordData
|
10
10
|
from airbyte_cdk.sources.file_based.remote_file import RemoteFile
|
11
|
-
|
11
|
+
|
12
|
+
AIRBYTE_STAGING_DIRECTORY = os.getenv("AIRBYTE_STAGING_DIRECTORY", "/staging/files")
|
13
|
+
DEFAULT_LOCAL_DIRECTORY = "/tmp/airbyte-file-transfer"
|
12
14
|
|
13
15
|
|
14
16
|
class FileTransfer:
|
15
17
|
def __init__(self) -> None:
|
16
|
-
self._local_directory =
|
18
|
+
self._local_directory = (
|
19
|
+
AIRBYTE_STAGING_DIRECTORY
|
20
|
+
if os.path.exists(AIRBYTE_STAGING_DIRECTORY)
|
21
|
+
else DEFAULT_LOCAL_DIRECTORY
|
22
|
+
)
|
17
23
|
|
18
|
-
def
|
24
|
+
def get_file(
|
19
25
|
self,
|
26
|
+
config: FileBasedStreamConfig,
|
20
27
|
file: RemoteFile,
|
21
28
|
stream_reader: AbstractFileBasedStreamReader,
|
22
29
|
logger: logging.Logger,
|
23
|
-
) -> Iterable[
|
30
|
+
) -> Iterable[Dict[str, Any]]:
|
24
31
|
try:
|
25
|
-
yield stream_reader.
|
32
|
+
yield stream_reader.get_file(
|
26
33
|
file=file, local_directory=self._local_directory, logger=logger
|
27
34
|
)
|
28
35
|
except Exception as ex:
|
@@ -18,18 +18,9 @@ JsonSchemaSupportedType = Union[List[str], Literal["string"], str]
|
|
18
18
|
SchemaType = Mapping[str, Mapping[str, JsonSchemaSupportedType]]
|
19
19
|
|
20
20
|
schemaless_schema = {"type": "object", "properties": {"data": {"type": "object"}}}
|
21
|
-
|
22
21
|
file_transfer_schema = {
|
23
22
|
"type": "object",
|
24
|
-
"properties": {
|
25
|
-
"folder": {"type": "string"},
|
26
|
-
"file_name": {"type": "string"},
|
27
|
-
"source_uri": {"type": "string"},
|
28
|
-
"bytes": {"type": "integer"},
|
29
|
-
"id": {"type": ["null", "string"]},
|
30
|
-
"updated_at": {"type": ["null", "string"]},
|
31
|
-
"mime_type": {"type": ["null", "string"]},
|
32
|
-
},
|
23
|
+
"properties": {"data": {"type": "object"}, "file": {"type": "object"}},
|
33
24
|
}
|
34
25
|
|
35
26
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
import copy
|
6
6
|
import logging
|
7
|
-
from functools import lru_cache
|
7
|
+
from functools import cache, lru_cache
|
8
8
|
from typing import TYPE_CHECKING, Any, Iterable, List, Mapping, MutableMapping, Optional, Union
|
9
9
|
|
10
10
|
from typing_extensions import deprecated
|
@@ -258,14 +258,19 @@ class FileBasedStreamPartition(Partition):
|
|
258
258
|
and record_data.record is not None
|
259
259
|
):
|
260
260
|
# `AirbyteMessage`s of type `Record` should also be yielded so they are enqueued
|
261
|
-
|
261
|
+
# If stream is flagged for file_transfer the record should data in file key
|
262
|
+
record_message_data = (
|
263
|
+
record_data.record.file
|
264
|
+
if self._use_file_transfer()
|
265
|
+
else record_data.record.data
|
266
|
+
)
|
262
267
|
if not record_message_data:
|
263
268
|
raise ExceptionWithDisplayMessage("A record without data was found")
|
264
269
|
else:
|
265
270
|
yield Record(
|
266
271
|
data=record_message_data,
|
267
272
|
stream_name=self.stream_name(),
|
268
|
-
|
273
|
+
is_file_transfer_message=self._use_file_transfer(),
|
269
274
|
)
|
270
275
|
else:
|
271
276
|
self._message_repository.emit_message(record_data)
|
@@ -301,6 +306,10 @@ class FileBasedStreamPartition(Partition):
|
|
301
306
|
def stream_name(self) -> str:
|
302
307
|
return self._stream.name
|
303
308
|
|
309
|
+
@cache
|
310
|
+
def _use_file_transfer(self) -> bool:
|
311
|
+
return hasattr(self._stream, "use_file_transfer") and self._stream.use_file_transfer
|
312
|
+
|
304
313
|
def __repr__(self) -> str:
|
305
314
|
return f"FileBasedStreamPartition({self._stream.name}, {self._slice})"
|
306
315
|
|