airbyte-cdk 6.38.3.dev4100__py3-none-any.whl → 6.38.3.dev4101__py3-none-any.whl

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.
@@ -239,6 +239,8 @@ class FileBasedSource(ConcurrentSourceAdapter, ABC):
239
239
  try:
240
240
  parsed_config = self._get_parsed_config(config)
241
241
  self.stream_reader.config = parsed_config
242
+ if self.stream_permissions_reader:
243
+ self.stream_permissions_reader.config = parsed_config
242
244
  streams: List[Stream] = []
243
245
  for stream_config in parsed_config.streams:
244
246
  # Like state_manager, `catalog_stream` may be None during `check`
@@ -4,8 +4,9 @@
4
4
 
5
5
  import logging
6
6
  from abc import ABC, abstractmethod
7
- from typing import Any, Dict, Iterable
7
+ from typing import Any, Dict, Iterable, Optional
8
8
 
9
+ from airbyte_cdk.sources.file_based import AbstractFileBasedSpec
9
10
  from airbyte_cdk.sources.file_based.remote_file import RemoteFile
10
11
 
11
12
 
@@ -14,6 +15,27 @@ class AbstractFileBasedStreamPermissionsReader(ABC):
14
15
  This class is responsible for reading file permissions and Identities from a source.
15
16
  """
16
17
 
18
+ def __init__(self) -> None:
19
+ self._config = None
20
+
21
+ @property
22
+ def config(self) -> Optional[AbstractFileBasedSpec]:
23
+ return self._config
24
+
25
+ @config.setter
26
+ @abstractmethod
27
+ def config(self, value: AbstractFileBasedSpec) -> None:
28
+ """
29
+ FileBasedSource reads the config from disk and parses it, and once parsed, the source sets the config on its StreamReader.
30
+
31
+ Note: FileBasedSource only requires the keys defined in the abstract config, whereas concrete implementations of StreamReader
32
+ will require keys that (for example) allow it to authenticate with the 3rd party.
33
+
34
+ Therefore, concrete implementations of AbstractFileBasedStreamReader's config setter should assert that `value` is of the correct
35
+ config type for that type of StreamReader.
36
+ """
37
+ ...
38
+
17
39
  @abstractmethod
18
40
  def get_file_acl_permissions(self, file: RemoteFile, logger: logging.Logger) -> Dict[str, Any]:
19
41
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.38.3.dev4100
3
+ Version: 6.38.3.dev4101
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -214,8 +214,8 @@ airbyte_cdk/sources/file_based/discovery_policy/__init__.py,sha256=gl3ey6mZbyfra
214
214
  airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py,sha256=dCfXX529Rd5rtopg4VeEgTPJjFtqjtjzPq6LCw18Wt0,605
215
215
  airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py,sha256=-xujTidtrq6HC00WKbjQh1CZdT5LMuzkp5BLjqDmfTY,1007
216
216
  airbyte_cdk/sources/file_based/exceptions.py,sha256=WP0qkG6fpWoBpOyyicgp5YNE393VWyegq5qSy0v4QtM,7362
217
- airbyte_cdk/sources/file_based/file_based_source.py,sha256=HG4wok4kTEQYzoMxa3u_JwkgdUp_eHkqFMEx5Is7jOM,19934
218
- airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py,sha256=hwwVTi5Ue5cPCzVM8jWOVbsTdjVRW4eDyVv8JMWFnyc,4846
217
+ airbyte_cdk/sources/file_based/file_based_source.py,sha256=bIsut7ivHcl7YPO9cygDn0to23MRLu1Sym7jSr0Iy9A,20051
218
+ airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py,sha256=Vdllp5TsYxaFFsk8NKb_MS9vnbaCmmjLDJszT4tyY0M,5764
219
219
  airbyte_cdk/sources/file_based/file_based_stream_reader.py,sha256=0cmppYO3pZlFiJrs5oorF4JXv4ErhOeEMrdLG7P-Gdk,6742
220
220
  airbyte_cdk/sources/file_based/file_types/__init__.py,sha256=blCLn0-2LC-ZdgcNyDEhqM2RiUvEjEBh-G4-t32ZtuM,1268
221
221
  airbyte_cdk/sources/file_based/file_types/avro_parser.py,sha256=XNx-JC-sgzH9u3nOJ2M59FxBXvtig8LN6BIkeDOavZA,10858
@@ -358,9 +358,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
358
358
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
359
359
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
360
360
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
361
- airbyte_cdk-6.38.3.dev4100.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
362
- airbyte_cdk-6.38.3.dev4100.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
363
- airbyte_cdk-6.38.3.dev4100.dist-info/METADATA,sha256=w60PKl3DfFjzvG3uKUtLCCEf0s83i-osbdqy2doggrc,6021
364
- airbyte_cdk-6.38.3.dev4100.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
365
- airbyte_cdk-6.38.3.dev4100.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
366
- airbyte_cdk-6.38.3.dev4100.dist-info/RECORD,,
361
+ airbyte_cdk-6.38.3.dev4101.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
362
+ airbyte_cdk-6.38.3.dev4101.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
363
+ airbyte_cdk-6.38.3.dev4101.dist-info/METADATA,sha256=gO6mN-JTuoinV4QRS-EVjl8S5YUuV9V_yaCFO1gyDoo,6021
364
+ airbyte_cdk-6.38.3.dev4101.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
365
+ airbyte_cdk-6.38.3.dev4101.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
366
+ airbyte_cdk-6.38.3.dev4101.dist-info/RECORD,,