airbyte-cdk 6.29.1__tar.gz → 6.30.0.dev0__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.29.1 → airbyte_cdk-6.30.0.dev0}/PKG-INFO +1 -1
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/jwt.py +17 -11
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/datetime_helpers.py +48 -66
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/pyproject.toml +1 -1
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/LICENSE.txt +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -3,6 +3,7 @@
|
|
3
3
|
#
|
4
4
|
|
5
5
|
import base64
|
6
|
+
import json
|
6
7
|
from dataclasses import InitVar, dataclass
|
7
8
|
from datetime import datetime
|
8
9
|
from typing import Any, Mapping, Optional, Union
|
@@ -104,21 +105,21 @@ class JwtAuthenticator(DeclarativeAuthenticator):
|
|
104
105
|
)
|
105
106
|
|
106
107
|
def _get_jwt_headers(self) -> dict[str, Any]:
|
107
|
-
"""
|
108
|
+
"""
|
108
109
|
Builds and returns the headers used when signing the JWT.
|
109
110
|
"""
|
110
|
-
headers = self._additional_jwt_headers.eval(self.config)
|
111
|
+
headers = self._additional_jwt_headers.eval(self.config, json_loads=json.loads)
|
111
112
|
if any(prop in headers for prop in ["kid", "alg", "typ", "cty"]):
|
112
113
|
raise ValueError(
|
113
114
|
"'kid', 'alg', 'typ', 'cty' are reserved headers and should not be set as part of 'additional_jwt_headers'"
|
114
115
|
)
|
115
116
|
|
116
117
|
if self._kid:
|
117
|
-
headers["kid"] = self._kid.eval(self.config)
|
118
|
+
headers["kid"] = self._kid.eval(self.config, json_loads=json.loads)
|
118
119
|
if self._typ:
|
119
|
-
headers["typ"] = self._typ.eval(self.config)
|
120
|
+
headers["typ"] = self._typ.eval(self.config, json_loads=json.loads)
|
120
121
|
if self._cty:
|
121
|
-
headers["cty"] = self._cty.eval(self.config)
|
122
|
+
headers["cty"] = self._cty.eval(self.config, json_loads=json.loads)
|
122
123
|
headers["alg"] = self._algorithm
|
123
124
|
return headers
|
124
125
|
|
@@ -130,18 +131,19 @@ class JwtAuthenticator(DeclarativeAuthenticator):
|
|
130
131
|
exp = now + self._token_duration if isinstance(self._token_duration, int) else now
|
131
132
|
nbf = now
|
132
133
|
|
133
|
-
payload = self._additional_jwt_payload.eval(self.config)
|
134
|
+
payload = self._additional_jwt_payload.eval(self.config, json_loads=json.loads)
|
134
135
|
if any(prop in payload for prop in ["iss", "sub", "aud", "iat", "exp", "nbf"]):
|
135
136
|
raise ValueError(
|
136
137
|
"'iss', 'sub', 'aud', 'iat', 'exp', 'nbf' are reserved properties and should not be set as part of 'additional_jwt_payload'"
|
137
138
|
)
|
138
139
|
|
139
140
|
if self._iss:
|
140
|
-
payload["iss"] = self._iss.eval(self.config)
|
141
|
+
payload["iss"] = self._iss.eval(self.config, json_loads=json.loads)
|
141
142
|
if self._sub:
|
142
|
-
payload["sub"] = self._sub.eval(self.config)
|
143
|
+
payload["sub"] = self._sub.eval(self.config, json_loads=json.loads)
|
143
144
|
if self._aud:
|
144
|
-
payload["aud"] = self._aud.eval(self.config)
|
145
|
+
payload["aud"] = self._aud.eval(self.config, json_loads=json.loads)
|
146
|
+
|
145
147
|
payload["iat"] = now
|
146
148
|
payload["exp"] = exp
|
147
149
|
payload["nbf"] = nbf
|
@@ -151,7 +153,7 @@ class JwtAuthenticator(DeclarativeAuthenticator):
|
|
151
153
|
"""
|
152
154
|
Returns the secret key used to sign the JWT.
|
153
155
|
"""
|
154
|
-
secret_key: str = self._secret_key.eval(self.config)
|
156
|
+
secret_key: str = self._secret_key.eval(self.config, json_loads=json.loads)
|
155
157
|
return (
|
156
158
|
base64.b64encode(secret_key.encode()).decode()
|
157
159
|
if self._base64_encode_secret_key
|
@@ -176,7 +178,11 @@ class JwtAuthenticator(DeclarativeAuthenticator):
|
|
176
178
|
"""
|
177
179
|
Returns the header prefix to be used when attaching the token to the request.
|
178
180
|
"""
|
179
|
-
return
|
181
|
+
return (
|
182
|
+
self._header_prefix.eval(self.config, json_loads=json.loads)
|
183
|
+
if self._header_prefix
|
184
|
+
else None
|
185
|
+
)
|
180
186
|
|
181
187
|
@property
|
182
188
|
def auth_header(self) -> str:
|
@@ -76,8 +76,8 @@ from airbyte_cdk.utils.datetime_helpers import ab_datetime_try_parse
|
|
76
76
|
assert ab_datetime_try_parse("2023-03-14T15:09:26Z") # Basic UTC format
|
77
77
|
assert ab_datetime_try_parse("2023-03-14T15:09:26-04:00") # With timezone offset
|
78
78
|
assert ab_datetime_try_parse("2023-03-14T15:09:26+00:00") # With explicit UTC offset
|
79
|
-
assert
|
80
|
-
assert not ab_datetime_try_parse("foo")
|
79
|
+
assert ab_datetime_try_parse("2023-03-14 15:09:26Z") # Missing T delimiter but still parsable
|
80
|
+
assert not ab_datetime_try_parse("foo") # Invalid: not parsable, returns `None`
|
81
81
|
```
|
82
82
|
"""
|
83
83
|
|
@@ -138,6 +138,14 @@ class AirbyteDateTime(datetime):
|
|
138
138
|
dt.tzinfo or timezone.utc,
|
139
139
|
)
|
140
140
|
|
141
|
+
def to_datetime(self) -> datetime:
|
142
|
+
"""Converts this AirbyteDateTime to a standard datetime object.
|
143
|
+
|
144
|
+
Today, this just returns `self` because AirbyteDateTime is a subclass of `datetime`.
|
145
|
+
In the future, we may modify our internal representation to use a different base class.
|
146
|
+
"""
|
147
|
+
return self
|
148
|
+
|
141
149
|
def __str__(self) -> str:
|
142
150
|
"""Returns the datetime in ISO8601/RFC3339 format with 'T' delimiter.
|
143
151
|
|
@@ -148,12 +156,7 @@ class AirbyteDateTime(datetime):
|
|
148
156
|
str: ISO8601/RFC3339 formatted string.
|
149
157
|
"""
|
150
158
|
aware_self = self if self.tzinfo else self.replace(tzinfo=timezone.utc)
|
151
|
-
|
152
|
-
if self.microsecond:
|
153
|
-
base = f"{base}.{self.microsecond:06d}"
|
154
|
-
# Format timezone as ±HH:MM
|
155
|
-
offset = aware_self.strftime("%z")
|
156
|
-
return f"{base}{offset[:3]}:{offset[3:]}"
|
159
|
+
return aware_self.isoformat(sep="T", timespec="auto")
|
157
160
|
|
158
161
|
def __repr__(self) -> str:
|
159
162
|
"""Returns the same string representation as __str__ for consistency.
|
@@ -358,15 +361,15 @@ def ab_datetime_now() -> AirbyteDateTime:
|
|
358
361
|
def ab_datetime_parse(dt_str: str | int) -> AirbyteDateTime:
|
359
362
|
"""Parses a datetime string or timestamp into an AirbyteDateTime with timezone awareness.
|
360
363
|
|
361
|
-
|
364
|
+
This implementation is as flexible as possible to handle various datetime formats.
|
365
|
+
Always returns a timezone-aware datetime (defaults to UTC if no timezone specified).
|
362
366
|
|
363
367
|
Handles:
|
364
|
-
- ISO8601/RFC3339 format strings (with 'T' delimiter)
|
368
|
+
- ISO8601/RFC3339 format strings (with ' ' or 'T' delimiter)
|
365
369
|
- Unix timestamps (as integers or strings)
|
366
370
|
- Date-only strings (YYYY-MM-DD)
|
367
371
|
- Timezone-aware formats (+00:00 for UTC, or ±HH:MM offset)
|
368
|
-
|
369
|
-
Always returns a timezone-aware datetime (defaults to UTC if no timezone specified).
|
372
|
+
- Anything that can be parsed by `dateutil.parser.parse()`
|
370
373
|
|
371
374
|
Args:
|
372
375
|
dt_str: A datetime string in ISO8601/RFC3339 format, Unix timestamp (int/str),
|
@@ -416,15 +419,16 @@ def ab_datetime_parse(dt_str: str | int) -> AirbyteDateTime:
|
|
416
419
|
except (ValueError, TypeError):
|
417
420
|
raise ValueError(f"Invalid date format: {dt_str}")
|
418
421
|
|
419
|
-
#
|
420
|
-
if "
|
421
|
-
raise ValueError(f"
|
422
|
+
# Reject time-only strings without date
|
423
|
+
if ":" in dt_str and dt_str.count("-") < 2 and dt_str.count("/") < 2:
|
424
|
+
raise ValueError(f"Missing date part in datetime string: {dt_str}")
|
422
425
|
|
423
426
|
# Try parsing with dateutil for timezone handling
|
424
427
|
try:
|
425
428
|
parsed = parser.parse(dt_str)
|
426
429
|
if parsed.tzinfo is None:
|
427
430
|
parsed = parsed.replace(tzinfo=timezone.utc)
|
431
|
+
|
428
432
|
return AirbyteDateTime.from_datetime(parsed)
|
429
433
|
except (ValueError, TypeError):
|
430
434
|
raise ValueError(f"Could not parse datetime string: {dt_str}")
|
@@ -438,7 +442,29 @@ def ab_datetime_parse(dt_str: str | int) -> AirbyteDateTime:
|
|
438
442
|
raise ValueError(f"Could not parse datetime string: {dt_str}")
|
439
443
|
|
440
444
|
|
441
|
-
def
|
445
|
+
def ab_datetime_try_parse(dt_str: str) -> AirbyteDateTime | None:
|
446
|
+
"""Try to parse the input as a datetime, failing gracefully instead of raising an exception.
|
447
|
+
|
448
|
+
This is a thin wrapper around `ab_datetime_parse()` that catches parsing errors and
|
449
|
+
returns `None` instead of raising an exception.
|
450
|
+
The implementation is as flexible as possible to handle various datetime formats.
|
451
|
+
Always returns a timezone-aware datetime (defaults to `UTC` if no timezone specified).
|
452
|
+
|
453
|
+
Example:
|
454
|
+
>>> ab_datetime_try_parse("2023-03-14T15:09:26Z") # Returns AirbyteDateTime
|
455
|
+
>>> ab_datetime_try_parse("2023-03-14 15:09:26Z") # Missing 'T' delimiter still parsable
|
456
|
+
>>> ab_datetime_try_parse("2023-03-14") # Returns midnight UTC time
|
457
|
+
"""
|
458
|
+
try:
|
459
|
+
return ab_datetime_parse(dt_str)
|
460
|
+
except (ValueError, TypeError):
|
461
|
+
return None
|
462
|
+
|
463
|
+
|
464
|
+
def ab_datetime_format(
|
465
|
+
dt: Union[datetime, AirbyteDateTime],
|
466
|
+
format: str | None = None,
|
467
|
+
) -> str:
|
442
468
|
"""Formats a datetime object as an ISO8601/RFC3339 string with 'T' delimiter and timezone.
|
443
469
|
|
444
470
|
Previously named: format()
|
@@ -449,6 +475,8 @@ def ab_datetime_format(dt: Union[datetime, AirbyteDateTime]) -> str:
|
|
449
475
|
|
450
476
|
Args:
|
451
477
|
dt: Any datetime object to format.
|
478
|
+
format: Optional format string. If provided, calls `strftime()` with this format.
|
479
|
+
Otherwise, uses the default ISO8601/RFC3339 format, adapted for available precision.
|
452
480
|
|
453
481
|
Returns:
|
454
482
|
str: ISO8601/RFC3339 formatted datetime string.
|
@@ -464,54 +492,8 @@ def ab_datetime_format(dt: Union[datetime, AirbyteDateTime]) -> str:
|
|
464
492
|
if dt.tzinfo is None:
|
465
493
|
dt = dt.replace(tzinfo=timezone.utc)
|
466
494
|
|
467
|
-
|
468
|
-
|
469
|
-
if dt.microsecond:
|
470
|
-
base = f"{base}.{dt.microsecond:06d}"
|
471
|
-
offset = dt.strftime("%z")
|
472
|
-
return f"{base}{offset[:3]}:{offset[3:]}"
|
473
|
-
|
474
|
-
|
475
|
-
def ab_datetime_try_parse(dt_str: str) -> AirbyteDateTime | None:
|
476
|
-
"""Try to parse the input string as an ISO8601/RFC3339 datetime, failing gracefully instead of raising an exception.
|
477
|
-
|
478
|
-
Requires strict ISO8601/RFC3339 format with:
|
479
|
-
- 'T' delimiter between date and time components
|
480
|
-
- Valid timezone (Z for UTC or ±HH:MM offset)
|
481
|
-
- Complete datetime representation (date and time)
|
495
|
+
if format:
|
496
|
+
return dt.strftime(format)
|
482
497
|
|
483
|
-
|
484
|
-
|
485
|
-
- Date-only strings
|
486
|
-
- Missing timezone
|
487
|
-
- Invalid timezone format
|
488
|
-
- Wrong date/time separators
|
489
|
-
|
490
|
-
Example:
|
491
|
-
>>> ab_datetime_try_parse("2023-03-14T15:09:26Z") # Returns AirbyteDateTime
|
492
|
-
>>> ab_datetime_try_parse("2023-03-14 15:09:26Z") # Returns None (invalid format)
|
493
|
-
>>> ab_datetime_try_parse("2023-03-14") # Returns None (missing time and timezone)
|
494
|
-
"""
|
495
|
-
if not isinstance(dt_str, str):
|
496
|
-
return None
|
497
|
-
try:
|
498
|
-
# Validate format before parsing
|
499
|
-
if "T" not in dt_str:
|
500
|
-
return None
|
501
|
-
if not any(x in dt_str for x in ["Z", "+", "-"]):
|
502
|
-
return None
|
503
|
-
if "/" in dt_str or " " in dt_str or "GMT" in dt_str:
|
504
|
-
return None
|
505
|
-
|
506
|
-
# Try parsing with dateutil
|
507
|
-
parsed = parser.parse(dt_str)
|
508
|
-
if parsed.tzinfo is None:
|
509
|
-
return None
|
510
|
-
|
511
|
-
# Validate time components
|
512
|
-
if not (0 <= parsed.hour <= 23 and 0 <= parsed.minute <= 59 and 0 <= parsed.second <= 59):
|
513
|
-
return None
|
514
|
-
|
515
|
-
return AirbyteDateTime.from_datetime(parsed)
|
516
|
-
except (ValueError, TypeError):
|
517
|
-
return None
|
498
|
+
# Format with consistent timezone representation and "T" delimiter
|
499
|
+
return dt.isoformat(sep="T", timespec="auto")
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
23
23
|
keywords = ["airbyte", "connector-development-kit", "cdk"]
|
24
24
|
|
25
25
|
# Python CDK uses dynamic versioning: https://github.com/mtkennerly/poetry-dynamic-versioning
|
26
|
-
version = "6.
|
26
|
+
version = "6.30.0dev0" # Version will be calculated dynamically.
|
27
27
|
|
28
28
|
[tool.poetry-dynamic-versioning]
|
29
29
|
enable = false
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/connector_builder/message_grouper.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/README.md
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/config.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/models/file_transfer_record_message.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/connector_state_manager.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/job.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/status.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/auth/token.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/declarative_source.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py
RENAMED
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/exceptions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/models/__init__.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.29.1 → airbyte_cdk-6.30.0.dev0}/airbyte_cdk/sources/declarative/requesters/README.md
RENAMED
File without changes
|