Skip to content

Commit c40125a

Browse files
authored
chore: clean up ConcurrentDeclarativeSource only processing DefaultStream and streamline inheritance to Source interface (#743)
1 parent dd52cfe commit c40125a

File tree

47 files changed

+405
-1671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+405
-1671
lines changed

airbyte_cdk/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@
6565
from .connector import BaseConnector, Connector
6666
from .destinations import Destination
6767
from .entrypoint import AirbyteEntrypoint, launch
68+
from .legacy.sources.declarative.declarative_stream import DeclarativeStream
69+
from .legacy.sources.declarative.incremental import DatetimeBasedCursor
6870
from .logger import AirbyteLogFormatter, init_logger
6971
from .models import (
7072
AdvancedAuth,
@@ -99,13 +101,11 @@
99101
BearerAuthenticator,
100102
)
101103
from .sources.declarative.datetime.min_max_datetime import MinMaxDatetime
102-
from .sources.declarative.declarative_stream import DeclarativeStream
103104
from .sources.declarative.decoders import Decoder, JsonDecoder
104105
from .sources.declarative.exceptions import ReadException
105106
from .sources.declarative.extractors import DpathExtractor, RecordSelector
106107
from .sources.declarative.extractors.record_extractor import RecordExtractor
107108
from .sources.declarative.extractors.record_filter import RecordFilter
108-
from .sources.declarative.incremental import DatetimeBasedCursor
109109
from .sources.declarative.interpolation import InterpolatedBoolean, InterpolatedString
110110
from .sources.declarative.migrations.legacy_to_per_partition_state_migration import (
111111
LegacyToPerPartitionStateMigration,

airbyte_cdk/sources/declarative/declarative_stream.py renamed to airbyte_cdk/legacy/sources/declarative/declarative_stream.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
from dataclasses import InitVar, dataclass, field
66
from typing import Any, Iterable, List, Mapping, MutableMapping, Optional, Union
77

8-
from airbyte_cdk.models import SyncMode
9-
from airbyte_cdk.sources.declarative.incremental import (
8+
from airbyte_cdk.legacy.sources.declarative.incremental import (
109
GlobalSubstreamCursor,
1110
PerPartitionCursor,
1211
PerPartitionWithGlobalCursor,
1312
)
13+
from airbyte_cdk.models import SyncMode
1414
from airbyte_cdk.sources.declarative.interpolation import InterpolatedString
1515
from airbyte_cdk.sources.declarative.migrations.state_migration import StateMigration
1616
from airbyte_cdk.sources.declarative.retrievers import SimpleRetriever
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,31 @@
11
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2+
3+
from airbyte_cdk.legacy.sources.declarative.incremental.datetime_based_cursor import (
4+
DatetimeBasedCursor,
5+
)
6+
from airbyte_cdk.legacy.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
7+
from airbyte_cdk.legacy.sources.declarative.incremental.global_substream_cursor import (
8+
GlobalSubstreamCursor,
9+
)
10+
from airbyte_cdk.legacy.sources.declarative.incremental.per_partition_cursor import (
11+
CursorFactory,
12+
PerPartitionCursor,
13+
)
14+
from airbyte_cdk.legacy.sources.declarative.incremental.per_partition_with_global import (
15+
PerPartitionWithGlobalCursor,
16+
)
17+
from airbyte_cdk.legacy.sources.declarative.incremental.resumable_full_refresh_cursor import (
18+
ChildPartitionResumableFullRefreshCursor,
19+
ResumableFullRefreshCursor,
20+
)
21+
22+
__all__ = [
23+
"CursorFactory",
24+
"DatetimeBasedCursor",
25+
"DeclarativeCursor",
26+
"GlobalSubstreamCursor",
27+
"PerPartitionCursor",
28+
"PerPartitionWithGlobalCursor",
29+
"ResumableFullRefreshCursor",
30+
"ChildPartitionResumableFullRefreshCursor",
31+
]

airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py renamed to airbyte_cdk/legacy/sources/declarative/incremental/datetime_based_cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99

1010
from isodate import Duration, duration_isoformat, parse_duration
1111

12+
from airbyte_cdk.legacy.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
1213
from airbyte_cdk.models import AirbyteLogMessage, AirbyteMessage, Level, Type
1314
from airbyte_cdk.sources.declarative.datetime.datetime_parser import DatetimeParser
1415
from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
15-
from airbyte_cdk.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
1616
from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
1717
from airbyte_cdk.sources.declarative.interpolation.jinja import JinjaInterpolation
1818
from airbyte_cdk.sources.declarative.requesters.request_option import (

airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py renamed to airbyte_cdk/legacy/sources/declarative/incremental/global_substream_cursor.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
import time
77
from typing import Any, Callable, Iterable, Mapping, Optional, TypeVar, Union
88

9-
from airbyte_cdk.sources.declarative.incremental.datetime_based_cursor import DatetimeBasedCursor
10-
from airbyte_cdk.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
9+
from airbyte_cdk.legacy.sources.declarative.incremental.datetime_based_cursor import (
10+
DatetimeBasedCursor,
11+
)
12+
from airbyte_cdk.legacy.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
1113
from airbyte_cdk.sources.declarative.partition_routers.partition_router import PartitionRouter
1214
from airbyte_cdk.sources.types import Record, StreamSlice, StreamState
1315

airbyte_cdk/legacy/sources/declarative/incremental/per_partition_cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from collections import OrderedDict
77
from typing import Any, Callable, Iterable, Mapping, Optional, Union
88

9-
from airbyte_cdk.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
9+
from airbyte_cdk.legacy.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
1010
from airbyte_cdk.sources.declarative.partition_routers.partition_router import PartitionRouter
1111
from airbyte_cdk.sources.streams.checkpoint.per_partition_key_serializer import (
1212
PerPartitionKeySerializer,

airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py renamed to airbyte_cdk/legacy/sources/declarative/incremental/per_partition_with_global.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@
33
#
44
from typing import Any, Iterable, Mapping, MutableMapping, Optional, Union
55

6-
from airbyte_cdk.legacy.sources.declarative.incremental.per_partition_cursor import (
7-
CursorFactory,
8-
PerPartitionCursor,
6+
from airbyte_cdk.legacy.sources.declarative.incremental.datetime_based_cursor import (
7+
DatetimeBasedCursor,
98
)
10-
from airbyte_cdk.sources.declarative.incremental.datetime_based_cursor import DatetimeBasedCursor
11-
from airbyte_cdk.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
12-
from airbyte_cdk.sources.declarative.incremental.global_substream_cursor import (
9+
from airbyte_cdk.legacy.sources.declarative.incremental.declarative_cursor import DeclarativeCursor
10+
from airbyte_cdk.legacy.sources.declarative.incremental.global_substream_cursor import (
1311
GlobalSubstreamCursor,
1412
iterate_with_last_flag_and_state,
1513
)
14+
from airbyte_cdk.legacy.sources.declarative.incremental.per_partition_cursor import (
15+
CursorFactory,
16+
PerPartitionCursor,
17+
)
1618
from airbyte_cdk.sources.declarative.partition_routers.partition_router import PartitionRouter
1719
from airbyte_cdk.sources.types import Record, StreamSlice, StreamState
1820

airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py renamed to airbyte_cdk/legacy/sources/declarative/incremental/resumable_full_refresh_cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from dataclasses import InitVar, dataclass
44
from typing import Any, Iterable, Mapping, Optional
55

6-
from airbyte_cdk.sources.declarative.incremental import DeclarativeCursor
6+
from airbyte_cdk.legacy.sources.declarative.incremental import DeclarativeCursor
77
from airbyte_cdk.sources.declarative.types import Record, StreamSlice, StreamState
88
from airbyte_cdk.sources.streams.checkpoint.checkpoint_reader import FULL_REFRESH_COMPLETE_STATE
99

airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
from dataclasses import InitVar, dataclass
77
from typing import Any, List, Mapping, Tuple, Union
88

9-
from airbyte_cdk.sources.abstract_source import AbstractSource
9+
from airbyte_cdk.sources import Source
1010
from airbyte_cdk.sources.declarative.checks.check_stream import evaluate_availability
1111
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
12+
from airbyte_cdk.sources.streams import Stream
1213
from airbyte_cdk.sources.streams.concurrent.abstract_stream import AbstractStream
13-
from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
1414

1515

1616
@dataclass
@@ -33,7 +33,10 @@ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
3333
self._parameters = parameters
3434

3535
def check_connection(
36-
self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
36+
self,
37+
source: Source,
38+
logger: logging.Logger,
39+
config: Mapping[str, Any],
3740
) -> Tuple[bool, Any]:
3841
streams: List[Union[Stream, AbstractStream]] = source.streams(config=config) # type: ignore # this is a migration step and we expect the declarative CDK to migrate off of ConnectionChecker
3942

0 commit comments

Comments
 (0)