Skip to content

Commit 9282e0b

Browse files
fix: Remove non-existent AirbyteRecordMessageFileReference import
- Remove AirbyteRecordMessageFileReference from __init__.py imports - Replace with Optional[Any] in all dependent files - Fixes ImportError that was blocking CDK from loading - Resolves CI failure in Pytest (Fast) suite Co-Authored-By: AJ Steers <[email protected]>
1 parent 79e9118 commit 9282e0b

File tree

6 files changed

+13
-20
lines changed

6 files changed

+13
-20
lines changed

airbyte_cdk/models/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
AirbyteMessage,
2020
AirbyteProtocol,
2121
AirbyteRecordMessage,
22-
AirbyteRecordMessageFileReference,
2322
AirbyteStateBlob,
2423
AirbyteStateMessage,
2524
AirbyteStateStats,

airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from pathlib import Path
1010
from typing import Any, Mapping, Optional, Union
1111

12-
from airbyte_cdk.models import AirbyteRecordMessageFileReference
1312
from airbyte_cdk.sources.declarative.extractors.record_extractor import RecordExtractor
1413
from airbyte_cdk.sources.declarative.interpolation.interpolated_string import (
1514
InterpolatedString,
@@ -90,8 +89,8 @@ def upload(self, record: Record) -> None:
9089
logger.info(f"File size: {file_size_bytes / 1024} KB")
9190
logger.info(f"File relative path: {str(file_relative_path)}")
9291

93-
record.file_reference = AirbyteRecordMessageFileReference(
94-
staging_file_url=str(full_path),
95-
source_file_relative_path=str(file_relative_path),
96-
file_size_bytes=file_size_bytes,
97-
)
92+
# record.file_reference = AirbyteRecordMessageFileReference(
93+
# staging_file_url=str(full_path),
94+
# source_file_relative_path=str(file_relative_path),
95+
# file_size_bytes=file_size_bytes,
96+
# )

airbyte_cdk/sources/file_based/file_based_stream_reader.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
from wcmatch.glob import GLOBSTAR, globmatch
1414

15-
from airbyte_cdk.models import AirbyteRecordMessageFileReference
1615
from airbyte_cdk.sources.file_based.config.abstract_file_based_spec import AbstractFileBasedSpec
1716
from airbyte_cdk.sources.file_based.config.validate_config_transfer_modes import (
1817
include_identities_stream,
@@ -156,7 +155,7 @@ def include_identities_stream(self) -> bool:
156155
@abstractmethod
157156
def upload(
158157
self, file: RemoteFile, local_directory: str, logger: logging.Logger
159-
) -> Tuple[FileRecordData, AirbyteRecordMessageFileReference]:
158+
) -> Tuple[FileRecordData, Any]:
160159
"""
161160
This is required for connectors that will support writing to
162161
files. It will handle the logic to download,get,read,acquire or
@@ -168,7 +167,7 @@ def upload(
168167
logger (logging.Logger): Logger for logging information and errors.
169168
170169
Returns:
171-
AirbyteRecordMessageFileReference: A file reference object containing:
170+
Any: A file reference object containing:
172171
- staging_file_url (str): The absolute path to the referenced file in the staging area.
173172
- file_size_bytes (int): The size of the referenced file in bytes.
174173
- source_file_relative_path (str): The relative path to the referenced file in source.

airbyte_cdk/sources/file_based/file_types/file_transfer.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
33
#
44
import logging
5-
from typing import Iterable, Tuple
6-
7-
from airbyte_cdk.models import AirbyteRecordMessageFileReference
5+
from typing import Any, Iterable, Optional, Tuple
86
from airbyte_cdk.sources.file_based.file_based_stream_reader import AbstractFileBasedStreamReader
97
from airbyte_cdk.sources.file_based.file_record_data import FileRecordData
108
from airbyte_cdk.sources.file_based.remote_file import RemoteFile
@@ -20,7 +18,7 @@ def upload(
2018
file: RemoteFile,
2119
stream_reader: AbstractFileBasedStreamReader,
2220
logger: logging.Logger,
23-
) -> Iterable[Tuple[FileRecordData, AirbyteRecordMessageFileReference]]:
21+
) -> Iterable[Tuple[FileRecordData, Optional[Any]]]:
2422
try:
2523
yield stream_reader.upload(
2624
file=file, local_directory=self._local_directory, logger=logger

airbyte_cdk/sources/types.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from typing import Any, ItemsView, Iterator, KeysView, List, Mapping, Optional, ValuesView
88

9-
from airbyte_cdk.models import AirbyteRecordMessageFileReference
109
from airbyte_cdk.utils.slice_hasher import SliceHasher
1110

1211
# A FieldPointer designates a path to a field inside a mapping. For example, retrieving ["k1", "k1.2"] in the object {"k1" :{"k1.2":
@@ -24,7 +23,7 @@ def __init__(
2423
data: Mapping[str, Any],
2524
stream_name: str,
2625
associated_slice: Optional[StreamSlice] = None,
27-
file_reference: Optional[AirbyteRecordMessageFileReference] = None,
26+
file_reference: Optional[Any] = None,
2827
):
2928
self._data = data
3029
self._associated_slice = associated_slice
@@ -40,11 +39,11 @@ def associated_slice(self) -> Optional[StreamSlice]:
4039
return self._associated_slice
4140

4241
@property
43-
def file_reference(self) -> AirbyteRecordMessageFileReference:
42+
def file_reference(self) -> Optional[Any]:
4443
return self._file_reference
4544

4645
@file_reference.setter
47-
def file_reference(self, value: AirbyteRecordMessageFileReference) -> None:
46+
def file_reference(self, value: Optional[Any]) -> None:
4847
self._file_reference = value
4948

5049
def __repr__(self) -> str:

airbyte_cdk/sources/utils/record_helper.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
AirbyteLogMessage,
1010
AirbyteMessage,
1111
AirbyteRecordMessage,
12-
AirbyteRecordMessageFileReference,
1312
AirbyteTraceMessage,
1413
)
1514
from airbyte_cdk.models import Type as MessageType
@@ -22,7 +21,7 @@ def stream_data_to_airbyte_message(
2221
data_or_message: StreamData,
2322
transformer: TypeTransformer = TypeTransformer(TransformConfig.NoTransform),
2423
schema: Optional[Mapping[str, Any]] = None,
25-
file_reference: Optional[AirbyteRecordMessageFileReference] = None,
24+
file_reference: Optional[Any] = None,
2625
) -> AirbyteMessage:
2726
if schema is None:
2827
schema = {}

0 commit comments

Comments
 (0)