airbyte-cdk 6.55.0__py3-none-any.whl → 6.55.1.post11.dev15684355943__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.
- airbyte_cdk/cli/airbyte_cdk/_connector.py +32 -8
- airbyte_cdk/cli/airbyte_cdk/_image.py +76 -0
- airbyte_cdk/cli/airbyte_cdk/_secrets.py +13 -12
- airbyte_cdk/models/airbyte_protocol_serializers.py +4 -0
- airbyte_cdk/models/connector_metadata.py +14 -0
- airbyte_cdk/sources/declarative/declarative_component_schema.yaml +41 -0
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py +28 -1
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +29 -0
- airbyte_cdk/sources/declarative/resolvers/__init__.py +10 -0
- airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +125 -0
- airbyte_cdk/test/entrypoint_wrapper.py +163 -26
- airbyte_cdk/test/models/scenario.py +49 -10
- airbyte_cdk/test/standard_tests/__init__.py +2 -4
- airbyte_cdk/test/standard_tests/connector_base.py +12 -80
- airbyte_cdk/test/standard_tests/docker_base.py +388 -0
- airbyte_cdk/test/standard_tests/pytest_hooks.py +115 -2
- airbyte_cdk/test/standard_tests/source_base.py +13 -7
- airbyte_cdk/test/standard_tests/util.py +4 -3
- airbyte_cdk/utils/connector_paths.py +3 -3
- airbyte_cdk/utils/docker.py +83 -34
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/METADATA +2 -1
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/RECORD +26 -24
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/entry_points.txt +0 -0
airbyte_cdk/utils/docker.py
CHANGED
@@ -4,11 +4,13 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
import json
|
6
6
|
import logging
|
7
|
-
import
|
7
|
+
import platform
|
8
8
|
import subprocess
|
9
9
|
import sys
|
10
|
+
from contextlib import ExitStack
|
10
11
|
from dataclasses import dataclass
|
11
12
|
from enum import Enum
|
13
|
+
from io import TextIOWrapper
|
12
14
|
from pathlib import Path
|
13
15
|
|
14
16
|
import click
|
@@ -56,11 +58,13 @@ def _build_image(
|
|
56
58
|
"""Build a Docker image for the specified architecture.
|
57
59
|
|
58
60
|
Returns the tag of the built image.
|
61
|
+
We use buildx to ensure we can build multi-platform images.
|
59
62
|
|
60
63
|
Raises: ConnectorImageBuildError if the build fails.
|
61
64
|
"""
|
62
65
|
docker_args: list[str] = [
|
63
66
|
"docker",
|
67
|
+
"buildx",
|
64
68
|
"build",
|
65
69
|
"--platform",
|
66
70
|
f"linux/{arch.value}",
|
@@ -74,9 +78,10 @@ def _build_image(
|
|
74
78
|
if build_args:
|
75
79
|
for key, value in build_args.items():
|
76
80
|
if value is not None:
|
77
|
-
docker_args.
|
81
|
+
docker_args.extend(["--build-arg", f"{key}={value}"])
|
78
82
|
else:
|
79
|
-
docker_args.
|
83
|
+
docker_args.extend(["--build-arg", key])
|
84
|
+
|
80
85
|
docker_args.extend(
|
81
86
|
[
|
82
87
|
"-t",
|
@@ -90,6 +95,7 @@ def _build_image(
|
|
90
95
|
run_docker_command(
|
91
96
|
docker_args,
|
92
97
|
check=True,
|
98
|
+
capture_stderr=True,
|
93
99
|
)
|
94
100
|
except subprocess.CalledProcessError as e:
|
95
101
|
raise ConnectorImageBuildError(
|
@@ -126,6 +132,7 @@ def _tag_image(
|
|
126
132
|
run_docker_command(
|
127
133
|
docker_args,
|
128
134
|
check=True,
|
135
|
+
capture_stderr=True,
|
129
136
|
)
|
130
137
|
except subprocess.CalledProcessError as e:
|
131
138
|
raise ConnectorImageBuildError(
|
@@ -137,12 +144,12 @@ def _tag_image(
|
|
137
144
|
def build_connector_image(
|
138
145
|
connector_name: str,
|
139
146
|
connector_directory: Path,
|
147
|
+
*,
|
140
148
|
metadata: MetadataFile,
|
141
149
|
tag: str,
|
142
|
-
primary_arch: ArchEnum = ArchEnum.ARM64, # Assume MacBook M series by default
|
143
150
|
no_verify: bool = False,
|
144
151
|
dockerfile_override: Path | None = None,
|
145
|
-
) ->
|
152
|
+
) -> str:
|
146
153
|
"""Build a connector Docker image.
|
147
154
|
|
148
155
|
This command builds a Docker image for a connector, using either
|
@@ -154,22 +161,33 @@ def build_connector_image(
|
|
154
161
|
connector_directory: The directory containing the connector code.
|
155
162
|
metadata: The metadata of the connector.
|
156
163
|
tag: The tag to apply to the built image.
|
157
|
-
primary_arch: The primary architecture for the build (default: arm64). This
|
158
|
-
architecture will be used for the same-named tag. Both AMD64 and ARM64
|
159
|
-
images will be built, with the suffixes '-amd64' and '-arm64'.
|
160
164
|
no_verify: If True, skip verification of the built image.
|
161
165
|
|
162
166
|
Raises:
|
163
167
|
ValueError: If the connector build options are not defined in metadata.yaml.
|
164
168
|
ConnectorImageBuildError: If the image build or tag operation fails.
|
165
169
|
"""
|
170
|
+
# Detect primary architecture based on the machine type.
|
171
|
+
primary_arch: ArchEnum = (
|
172
|
+
ArchEnum.ARM64
|
173
|
+
if platform.machine().lower().startswith(("arm", "aarch"))
|
174
|
+
else ArchEnum.AMD64
|
175
|
+
)
|
176
|
+
if not connector_name:
|
177
|
+
raise ValueError("Connector name must be provided.")
|
178
|
+
if not connector_directory:
|
179
|
+
raise ValueError("Connector directory must be provided.")
|
180
|
+
if not connector_directory.exists():
|
181
|
+
raise ValueError(f"Connector directory does not exist: {connector_directory}")
|
182
|
+
|
166
183
|
connector_kebab_name = connector_name
|
184
|
+
connector_dockerfile_dir = connector_directory / "build" / "docker"
|
167
185
|
|
168
186
|
if dockerfile_override:
|
169
187
|
dockerfile_path = dockerfile_override
|
170
188
|
else:
|
171
|
-
dockerfile_path =
|
172
|
-
dockerignore_path =
|
189
|
+
dockerfile_path = connector_dockerfile_dir / "Dockerfile"
|
190
|
+
dockerignore_path = connector_dockerfile_dir / "Dockerfile.dockerignore"
|
173
191
|
try:
|
174
192
|
dockerfile_text, dockerignore_text = get_dockerfile_templates(
|
175
193
|
metadata=metadata,
|
@@ -192,6 +210,8 @@ def build_connector_image(
|
|
192
210
|
),
|
193
211
|
) from e
|
194
212
|
|
213
|
+
# ensure the directory exists
|
214
|
+
connector_dockerfile_dir.mkdir(parents=True, exist_ok=True)
|
195
215
|
dockerfile_path.write_text(dockerfile_text)
|
196
216
|
dockerignore_path.write_text(dockerignore_text)
|
197
217
|
|
@@ -215,7 +235,6 @@ def build_connector_image(
|
|
215
235
|
}
|
216
236
|
|
217
237
|
base_tag = f"{metadata.data.dockerRepository}:{tag}"
|
218
|
-
arch_images: list[str] = []
|
219
238
|
|
220
239
|
if metadata.data.language == ConnectorLanguage.JAVA:
|
221
240
|
# This assumes that the repo root ('airbyte') is three levels above the
|
@@ -232,12 +251,18 @@ def build_connector_image(
|
|
232
251
|
check=True,
|
233
252
|
)
|
234
253
|
|
235
|
-
|
254
|
+
# Always build for AMD64, and optionally for ARM64 if needed locally.
|
255
|
+
architectures = [ArchEnum.AMD64]
|
256
|
+
if primary_arch == ArchEnum.ARM64:
|
257
|
+
architectures += [ArchEnum.ARM64]
|
258
|
+
|
259
|
+
built_images: list[str] = []
|
260
|
+
for arch in architectures:
|
236
261
|
docker_tag = f"{base_tag}-{arch.value}"
|
237
262
|
docker_tag_parts = docker_tag.split("/")
|
238
263
|
if len(docker_tag_parts) > 2:
|
239
264
|
docker_tag = "/".join(docker_tag_parts[-1:])
|
240
|
-
|
265
|
+
built_images.append(
|
241
266
|
_build_image(
|
242
267
|
context_dir=connector_directory,
|
243
268
|
dockerfile=dockerfile_path,
|
@@ -254,14 +279,14 @@ def build_connector_image(
|
|
254
279
|
)
|
255
280
|
if not no_verify:
|
256
281
|
if verify_connector_image(base_tag):
|
257
|
-
click.echo(f"Build completed successfully: {base_tag}")
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
282
|
+
click.echo(f"Build and verification completed successfully: {base_tag}")
|
283
|
+
return base_tag
|
284
|
+
|
285
|
+
click.echo(f"Built image failed verification: {base_tag}", err=True)
|
286
|
+
sys.exit(1)
|
287
|
+
|
288
|
+
click.echo(f"Build completed successfully: {base_tag}")
|
289
|
+
return base_tag
|
265
290
|
|
266
291
|
|
267
292
|
def _download_dockerfile_defs(
|
@@ -364,7 +389,8 @@ def run_docker_command(
|
|
364
389
|
cmd: list[str],
|
365
390
|
*,
|
366
391
|
check: bool = True,
|
367
|
-
|
392
|
+
capture_stdout: bool | Path = False,
|
393
|
+
capture_stderr: bool | Path = False,
|
368
394
|
) -> subprocess.CompletedProcess[str]:
|
369
395
|
"""Run a Docker command as a subprocess.
|
370
396
|
|
@@ -372,23 +398,45 @@ def run_docker_command(
|
|
372
398
|
cmd: The command to run as a list of strings.
|
373
399
|
check: If True, raises an exception if the command fails. If False, the caller is
|
374
400
|
responsible for checking the return code.
|
375
|
-
|
376
|
-
|
401
|
+
capture_stdout: How to process stdout.
|
402
|
+
capture_stderr: If True, captures stderr in memory and returns to the caller.
|
403
|
+
If a Path is provided, the output is written to the specified file.
|
404
|
+
|
405
|
+
For stdout and stderr process:
|
406
|
+
- If False (the default), stdout is not captured.
|
407
|
+
- If True, output is captured in memory and returned within the `CompletedProcess` object.
|
408
|
+
- If a Path is provided, the output is written to the specified file. (Recommended for large syncs.)
|
377
409
|
|
378
410
|
Raises:
|
379
411
|
subprocess.CalledProcessError: If the command fails and check is True.
|
380
412
|
"""
|
381
413
|
print(f"Running command: {' '.join(cmd)}")
|
382
414
|
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
415
|
+
with ExitStack() as stack:
|
416
|
+
# Shared context manager to handle file closing, if needed.
|
417
|
+
stderr: TextIOWrapper | int | None
|
418
|
+
stdout: TextIOWrapper | int | None
|
419
|
+
|
420
|
+
# If capture_stderr or capture_stdout is a Path, we open the file in write mode.
|
421
|
+
# If it's a boolean, we set it to either subprocess.PIPE or None.
|
422
|
+
if isinstance(capture_stderr, Path):
|
423
|
+
stderr = stack.enter_context(capture_stderr.open("w", encoding="utf-8"))
|
424
|
+
elif isinstance(capture_stderr, bool):
|
425
|
+
stderr = subprocess.PIPE if capture_stderr is True else None
|
426
|
+
|
427
|
+
if isinstance(capture_stdout, Path):
|
428
|
+
stdout = stack.enter_context(capture_stdout.open("w", encoding="utf-8"))
|
429
|
+
elif isinstance(capture_stdout, bool):
|
430
|
+
stdout = subprocess.PIPE if capture_stdout is True else None
|
431
|
+
|
432
|
+
completed_process: subprocess.CompletedProcess[str] = subprocess.run(
|
433
|
+
cmd,
|
434
|
+
text=True,
|
435
|
+
check=check,
|
436
|
+
stderr=stderr,
|
437
|
+
stdout=stdout,
|
438
|
+
)
|
439
|
+
return completed_process
|
392
440
|
|
393
441
|
|
394
442
|
def verify_docker_installation() -> bool:
|
@@ -419,7 +467,8 @@ def verify_connector_image(
|
|
419
467
|
result = run_docker_command(
|
420
468
|
cmd,
|
421
469
|
check=True,
|
422
|
-
|
470
|
+
capture_stderr=True,
|
471
|
+
capture_stdout=True,
|
423
472
|
)
|
424
473
|
# check that the output is valid JSON
|
425
474
|
if result.stdout:
|
{airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: airbyte-cdk
|
3
|
-
Version: 6.55.
|
3
|
+
Version: 6.55.1.post11.dev15684355943
|
4
4
|
Summary: A framework for writing Airbyte Connectors.
|
5
5
|
Home-page: https://airbyte.com
|
6
6
|
License: MIT
|
@@ -69,6 +69,7 @@ Requires-Dist: requests_cache
|
|
69
69
|
Requires-Dist: rich
|
70
70
|
Requires-Dist: rich-click (>=1.8.8,<2.0.0)
|
71
71
|
Requires-Dist: serpyco-rs (>=1.10.2,<2.0.0)
|
72
|
+
Requires-Dist: setuptools (>=80.9.0,<81.0.0)
|
72
73
|
Requires-Dist: sqlalchemy (>=2.0,<3.0,!=2.0.36) ; extra == "sql"
|
73
74
|
Requires-Dist: tiktoken (==0.8.0) ; extra == "vector-db-based"
|
74
75
|
Requires-Dist: typing-extensions
|
@@ -1,10 +1,10 @@
|
|
1
1
|
airbyte_cdk/__init__.py,sha256=52uncJvDQNHvwKxaqzXgnMYTptIl65LDJr2fvlk8-DU,11707
|
2
2
|
airbyte_cdk/cli/__init__.py,sha256=CXsai3MYMLZ_sqi2vPAIVcKDun8VRqlv0cKffBI0iSY,346
|
3
3
|
airbyte_cdk/cli/airbyte_cdk/__init__.py,sha256=8IoEcbdYr7CMAh97Xut5__uHH9vV4LKUtSBNTk3qEWY,2031
|
4
|
-
airbyte_cdk/cli/airbyte_cdk/_connector.py,sha256=
|
5
|
-
airbyte_cdk/cli/airbyte_cdk/_image.py,sha256=
|
4
|
+
airbyte_cdk/cli/airbyte_cdk/_connector.py,sha256=u5T_puPDVIsI-jdaQRsPI-Hd4AGoaVY8no2zgMFVOXQ,6164
|
5
|
+
airbyte_cdk/cli/airbyte_cdk/_image.py,sha256=Uc7gpWHr9JPX2qLXP7jn4Va5W4Ruc8E2m9M2Yv8jwRA,5490
|
6
6
|
airbyte_cdk/cli/airbyte_cdk/_manifest.py,sha256=aFdeeWgek7oXR3YfZPxk7kBZ64Blmsr0dAXN6BVGiIA,482
|
7
|
-
airbyte_cdk/cli/airbyte_cdk/_secrets.py,sha256=
|
7
|
+
airbyte_cdk/cli/airbyte_cdk/_secrets.py,sha256=zkO9bO5pfOA-EJb0HRdEdSiybMFkyiqiQ6MWXldAg0s,17630
|
8
8
|
airbyte_cdk/cli/airbyte_cdk/_version.py,sha256=ohZNIktLFk91sdzqFW5idaNrZAPX2dIRnz---_fcKOE,352
|
9
9
|
airbyte_cdk/cli/airbyte_cdk/exceptions.py,sha256=bsGmlWN6cXL2jCD1WYAZMqFmK1OLg2xLrcC_60KHSeA,803
|
10
10
|
airbyte_cdk/cli/source_declarative_manifest/__init__.py,sha256=-0ST722Nj65bgRokzpzPkD1NBBW5CytEHFUe38cB86Q,91
|
@@ -49,8 +49,8 @@ airbyte_cdk/manifest_migrations/migrations/registry.yaml,sha256=SITcsFFf0avFYZzE
|
|
49
49
|
airbyte_cdk/manifest_migrations/migrations_registry.py,sha256=zly2fwaOxDukqC7eowzrDlvhA2v71FjW74kDzvRXhSY,2619
|
50
50
|
airbyte_cdk/models/__init__.py,sha256=Et9wJWs5VOWynGbb-3aJRhsdAHAiLkNNLxdwqJAuqkw,2114
|
51
51
|
airbyte_cdk/models/airbyte_protocol.py,sha256=oZdKsZ7yPjUt9hvxdWNpxCtgjSV2RWhf4R9Np03sqyY,3613
|
52
|
-
airbyte_cdk/models/airbyte_protocol_serializers.py,sha256=
|
53
|
-
airbyte_cdk/models/connector_metadata.py,sha256=
|
52
|
+
airbyte_cdk/models/airbyte_protocol_serializers.py,sha256=Dq4ry_Wwvzsos6neDiaOZkY6riQYC33ZlPNWpfIIB1E,1926
|
53
|
+
airbyte_cdk/models/connector_metadata.py,sha256=BD6CO8c3mHavxRJAcwP29sHtNNVLVSNFNQLgHOVxrwA,3229
|
54
54
|
airbyte_cdk/models/well_known_types.py,sha256=EquepbisGPuCSrs_D7YVVnMR9-ShhUr21wnFz3COiJs,156
|
55
55
|
airbyte_cdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
56
|
airbyte_cdk/sources/__init__.py,sha256=45J83QsFH3Wky3sVapZWg4C58R_i1thm61M06t2c1AQ,1156
|
@@ -89,7 +89,7 @@ airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=rQz9gXp3
|
|
89
89
|
airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
|
90
90
|
airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=_zGNGq31RNy_0QBLt_EcTvgPyhj7urPdx6oA3M5-r3o,3150
|
91
91
|
airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
|
92
|
-
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=
|
92
|
+
airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=JwWxM_QAIC7jAOYQMpo9fWa1aULtGhMn9Tg0bntoM58,180321
|
93
93
|
airbyte_cdk/sources/declarative/declarative_source.py,sha256=qmyMnnet92eGc3C22yBtpvD5UZjqdhsAafP_zxI5wp8,1814
|
94
94
|
airbyte_cdk/sources/declarative/declarative_stream.py,sha256=dCRlddBUSaJmBNBz1pSO1r2rTw8AP5d2_vlmIeGs2gg,10767
|
95
95
|
airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=JHb_0d3SE6kNY10mxA5YBEKPeSbsWYjByq1gUQxepoE,953
|
@@ -133,14 +133,14 @@ airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migrati
|
|
133
133
|
airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
|
134
134
|
airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
|
135
135
|
airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py,sha256=Imnj3yef0aqRdLfaUxkIYISUb8YkiPrRH_wBd-x8HjM,5999
|
136
|
-
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=
|
136
|
+
airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=jipvV9xV_BB4-IGjdUolbY3IoaB0VPubWoCtnr1Ick0,127459
|
137
137
|
airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
|
138
138
|
airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=nlVvHC511NUyDEEIRBkoeDTAvLqKNp-hRy8D19z8tdk,5941
|
139
139
|
airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=wnRUP0Xeru9Rbu5OexXSDN9QWDo8YU4tT9M2LDVOgGA,802
|
140
140
|
airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=2UdpCz3yi7ISZTyqkQXSSy3dMxeyOWqV7OlAS5b9GVg,11568
|
141
141
|
airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py,sha256=laBy7ebjA-PiNwc-50U4FHvMqS_mmHvnabxgFs4CjGw,17069
|
142
142
|
airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=pJmg78vqE5VfUrF_KJnWjucQ4k9IWFULeAxHCowrHXE,6806
|
143
|
-
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=
|
143
|
+
airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=Sr8LrlLl61eQTsJ5b8eWt3ESCPDEpJRd6DXS4P53hVE,176635
|
144
144
|
airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=TBC9AkGaUqHm2IKHMPN6punBIcY5tWGULowcLoAVkfw,1109
|
145
145
|
airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py,sha256=VelO7zKqKtzMJ35jyFeg0ypJLQC0plqqIBNXoBW1G2E,3001
|
146
146
|
airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py,sha256=c5cuVFM6NFkuQqG8Z5IwkBuwDrvXZN1CunUOM_L0ezg,6892
|
@@ -193,10 +193,11 @@ airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_
|
|
193
193
|
airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py,sha256=8YRiDzjYvqJ-aMmKFcjqzv_-e8OZ5QG_TbpZ-nuCu6s,2590
|
194
194
|
airbyte_cdk/sources/declarative/requesters/request_path.py,sha256=S3MeFvcaQrMbOkSY2W2VbXLNomqt_3eXqVd9ZhgNwUs,299
|
195
195
|
airbyte_cdk/sources/declarative/requesters/requester.py,sha256=T6tMx_Bx4iT-0YVjY7IzgRil-gaIu9n01b1iwpTh3Ek,5516
|
196
|
-
airbyte_cdk/sources/declarative/resolvers/__init__.py,sha256=
|
196
|
+
airbyte_cdk/sources/declarative/resolvers/__init__.py,sha256=xVhOWLQW0wFBTAtRYu3GdFebPqKCDSt1uoP2TiBGrvs,1643
|
197
197
|
airbyte_cdk/sources/declarative/resolvers/components_resolver.py,sha256=oJIpy66ep8n-QOc8GwpllApTRcl4QtQhkTw5fWWra2w,2026
|
198
198
|
airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py,sha256=sD3N7nmqDjLsau8P2DE7DYOHdFTYjC_2nIB6454BNYk,7556
|
199
199
|
airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py,sha256=AiojNs8wItJFrENZBFUaDvau3sgwudO6Wkra36upSPo,4639
|
200
|
+
airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py,sha256=BUmvbsMeIGusZSCd80NiTFcwcosq-uhXHGNheAFs-10,5147
|
200
201
|
airbyte_cdk/sources/declarative/retrievers/__init__.py,sha256=LQQspOQS9oyOx9cGnRIz1mq-8DZCBysyDJDPqjy1HvM,449
|
201
202
|
airbyte_cdk/sources/declarative/retrievers/async_retriever.py,sha256=6oZtnCHm9NdDvjTSrVwPQOXGSdETSIR7eWH2vFjM7jI,4855
|
202
203
|
airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py,sha256=ovs0oZGPEEw-V4asqr0D1Xty2u7tR8ADhRuHNgXGuWQ,490
|
@@ -378,7 +379,7 @@ airbyte_cdk/sql/shared/sql_processor.py,sha256=1CwfC3fp9dWnHBpKtly7vGduf9ho_Mahi
|
|
378
379
|
airbyte_cdk/sql/types.py,sha256=XEIhRAo_ASd0kVLBkdLf5bHiRhNple-IJrC9TibcDdY,5880
|
379
380
|
airbyte_cdk/test/__init__.py,sha256=f_XdkOg4_63QT2k3BbKY34209lppwgw-svzfZstQEq4,199
|
380
381
|
airbyte_cdk/test/catalog_builder.py,sha256=-y05Cz1x0Dlk6oE9LSKhCozssV2gYBNtMdV5YYOPOtk,3015
|
381
|
-
airbyte_cdk/test/entrypoint_wrapper.py,sha256=
|
382
|
+
airbyte_cdk/test/entrypoint_wrapper.py,sha256=Lj1E00iTen1PZKLQ63mLCK5cLKFLmm65lqahNJDXxK4,16197
|
382
383
|
airbyte_cdk/test/mock_http/__init__.py,sha256=jE5kC6CQ0OXkTqKhciDnNVZHesBFVIA2YvkdFGwva7k,322
|
383
384
|
airbyte_cdk/test/mock_http/matcher.py,sha256=4Qj8UnJKZIs-eodshryce3SN1Ayc8GZpBETmP6hTEyc,1446
|
384
385
|
airbyte_cdk/test/mock_http/mocker.py,sha256=XgsjMtVoeMpRELPyALgrkHFauH9H5irxrz1Kcxh2yFY,8013
|
@@ -387,15 +388,16 @@ airbyte_cdk/test/mock_http/response.py,sha256=s4-cQQqTtmeej0pQDWqmG0vUWpHS-93lIW
|
|
387
388
|
airbyte_cdk/test/mock_http/response_builder.py,sha256=F-v7ebftqGj7YVIMLKdodmU9U8Dq8aIyllWGo2NGwHc,8331
|
388
389
|
airbyte_cdk/test/models/__init__.py,sha256=5f5oFcuUA3dyNTfvvTWav2pTD8WX4nznObKgMTmvdus,290
|
389
390
|
airbyte_cdk/test/models/outcome.py,sha256=TdLEnRZv1QjlbI0xdsJqA2rfIvSVRJWXS4TNS9NbKZQ,2135
|
390
|
-
airbyte_cdk/test/models/scenario.py,sha256=
|
391
|
-
airbyte_cdk/test/standard_tests/__init__.py,sha256=
|
391
|
+
airbyte_cdk/test/models/scenario.py,sha256=vteWvKdinrrDurSnG5Xk478edgJJ9-hvdll0Ufoouu4,5940
|
392
|
+
airbyte_cdk/test/standard_tests/__init__.py,sha256=TGCSc9bqfiEhdfyz7SVqwBog2CsCY1unCXocSXswtV0,1369
|
392
393
|
airbyte_cdk/test/standard_tests/_job_runner.py,sha256=vTuLJiJv-LBqXLfcr7RaTm0HBH4y7L8U6tDv3qYdTkg,6195
|
393
|
-
airbyte_cdk/test/standard_tests/connector_base.py,sha256=
|
394
|
+
airbyte_cdk/test/standard_tests/connector_base.py,sha256=x_6T4Jj9La7pv5sq1EAi_vXvnuKtIBRilS8e-MEj6f8,4529
|
394
395
|
airbyte_cdk/test/standard_tests/declarative_sources.py,sha256=4lmXKVJEhYeZAYaaXODwkn-DoJt_V--Thbea0kzOqdc,3502
|
395
396
|
airbyte_cdk/test/standard_tests/destination_base.py,sha256=MARZip2mdo_PzGvzf2VBTAfrP4tbjrJYgeJUApnAArA,731
|
396
|
-
airbyte_cdk/test/standard_tests/
|
397
|
-
airbyte_cdk/test/standard_tests/
|
398
|
-
airbyte_cdk/test/standard_tests/
|
397
|
+
airbyte_cdk/test/standard_tests/docker_base.py,sha256=7AGADbUTwqJrBK1pRuiYZ5Kgu5U1Rx3mOQnhrCwA4x4,15082
|
398
|
+
airbyte_cdk/test/standard_tests/pytest_hooks.py,sha256=qUrRN36PVHdaGQXLnb3y4CzQhkktq7qnRQppnOfSQh4,5773
|
399
|
+
airbyte_cdk/test/standard_tests/source_base.py,sha256=09P2Ii3cb789GzHz1AhLQma01Dzlablua_QEey3fJxo,6719
|
400
|
+
airbyte_cdk/test/standard_tests/util.py,sha256=8Gl0vINunzcfsuULgAQ7Ny4SGl66abBcF9Zw9Y2O1T8,2921
|
399
401
|
airbyte_cdk/test/state_builder.py,sha256=kLPql9lNzUJaBg5YYRLJlY_Hy5JLHJDVyKPMZMoYM44,946
|
400
402
|
airbyte_cdk/test/utils/__init__.py,sha256=Hu-1XT2KDoYjDF7-_ziDwv5bY3PueGjANOCbzeOegDg,57
|
401
403
|
airbyte_cdk/test/utils/data.py,sha256=CkCR1_-rujWNmPXFR1IXTMwx1rAl06wAyIKWpDcN02w,820
|
@@ -405,11 +407,11 @@ airbyte_cdk/test/utils/reading.py,sha256=9ReW2uoITE7NCpVBKn6EfM9yi9_SvqhsNLb-5LO
|
|
405
407
|
airbyte_cdk/utils/__init__.py,sha256=qhnC02DbS35OY8oB_tkYHwZzHed2FZeBM__G8IOgckY,347
|
406
408
|
airbyte_cdk/utils/airbyte_secrets_utils.py,sha256=wEtRnl5KRhN6eLJwrDrC4FJjyqt_4vkA1F65mdl8c24,3142
|
407
409
|
airbyte_cdk/utils/analytics_message.py,sha256=bi3uugQ2NjecnwTnz63iD5D1M8ZR8mXPbdtt6w5cC4s,653
|
408
|
-
airbyte_cdk/utils/connector_paths.py,sha256=
|
410
|
+
airbyte_cdk/utils/connector_paths.py,sha256=ptb1ENNX7m7QkBdLzDWmD6m55WpPhOr9glN0RTUO7Ac,8708
|
409
411
|
airbyte_cdk/utils/constants.py,sha256=QzCi7j5SqpI5I06uRvQ8FC73JVJi7rXaRnR3E_gro5c,108
|
410
412
|
airbyte_cdk/utils/datetime_format_inferrer.py,sha256=Ne2cpk7Tx3eZDEW2Q3O7jnNOY9g-w-AUMt3Ltvwg1tY,3989
|
411
413
|
airbyte_cdk/utils/datetime_helpers.py,sha256=8mqzZ67Or2PBp7tLtrhh6XFv4wFzYsjCL_DOQJRaftI,17751
|
412
|
-
airbyte_cdk/utils/docker.py,sha256=
|
414
|
+
airbyte_cdk/utils/docker.py,sha256=aU1xT9znmbWSe0AT-Puk31LawAdxFHwEENdGFrre-WA,16549
|
413
415
|
airbyte_cdk/utils/event_timing.py,sha256=aiuFmPU80buLlNdKq4fDTEqqhEIelHPF6AalFGwY8as,2557
|
414
416
|
airbyte_cdk/utils/is_cloud_environment.py,sha256=DayV32Irh-SdnJ0MnjvstwCJ66_l5oEsd8l85rZtHoc,574
|
415
417
|
airbyte_cdk/utils/mapping_helpers.py,sha256=nWjOpnz_5QE9tY9-GtSWMPvYQL95kDD6k8KwwjUmrh0,6526
|
@@ -421,9 +423,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
421
423
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
422
424
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
423
425
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
424
|
-
airbyte_cdk-6.55.
|
425
|
-
airbyte_cdk-6.55.
|
426
|
-
airbyte_cdk-6.55.
|
427
|
-
airbyte_cdk-6.55.
|
428
|
-
airbyte_cdk-6.55.
|
429
|
-
airbyte_cdk-6.55.
|
426
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
427
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
428
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/METADATA,sha256=xKp1ZcyutxyE1WspUNEnsaxdHSqgG34rKP0OiWa1mmk,6410
|
429
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
430
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
|
431
|
+
airbyte_cdk-6.55.1.post11.dev15684355943.dist-info/RECORD,,
|
{airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/LICENSE.txt
RENAMED
File without changes
|
{airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/LICENSE_SHORT
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.55.0.dist-info → airbyte_cdk-6.55.1.post11.dev15684355943.dist-info}/entry_points.txt
RENAMED
File without changes
|