airbyte-cdk 0.69.1__py3-none-any.whl → 0.70.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -319,7 +319,7 @@ class ModelToComponentFactory:
319
319
  )
320
320
  if model.request_authentication.type == "Bearer":
321
321
  return ModelToComponentFactory.create_bearer_authenticator(
322
- BearerAuthenticatorModel(type="BearerAuthenticator", api_token=""),
322
+ BearerAuthenticatorModel(type="BearerAuthenticator", api_token=""), # type: ignore # $parameters has a default value
323
323
  config,
324
324
  token_provider=token_provider, # type: ignore # $parameters defaults to None
325
325
  )
@@ -431,11 +431,14 @@ class ModelToComponentFactory:
431
431
  return custom_component_class(**kwargs)
432
432
 
433
433
  @staticmethod
434
- def _get_class_from_fully_qualified_class_name(class_name: str) -> Any:
435
- split = class_name.split(".")
434
+ def _get_class_from_fully_qualified_class_name(full_qualified_class_name: str) -> Any:
435
+ split = full_qualified_class_name.split(".")
436
436
  module = ".".join(split[:-1])
437
437
  class_name = split[-1]
438
- return getattr(importlib.import_module(module), class_name)
438
+ try:
439
+ return getattr(importlib.import_module(module), class_name)
440
+ except AttributeError:
441
+ raise ValueError(f"Could not load class {full_qualified_class_name}.")
439
442
 
440
443
  @staticmethod
441
444
  def _derive_component_type_from_type_hints(field_type: Any) -> Optional[str]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 0.69.1
3
+ Version: 0.70.0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://github.com/airbytehq/airbyte
6
6
  Author: Airbyte
@@ -87,7 +87,7 @@ airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=y7_G5mM07zxT
87
87
  airbyte_cdk/sources/declarative/parsers/default_implementation_registry.py,sha256=W8BcK4KOg4ifNXgsdeIoV4oneHjXBKcPHEZHIC4r-hM,3801
88
88
  airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py,sha256=i2yUdrdlPUHI0dSQX0zBT8WSg912SMiCF8qkQ8VvlA4,8287
89
89
  airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py,sha256=6ukHx0bBrCJm9rek1l_MEfS3U_gdJcM4pJRyifJEOp0,6412
90
- airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=zKhclxenhHM5lq1-dap4eL4sTaaHnat1XvzPAo9iiqU,59105
90
+ airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py,sha256=_jX1sPW5SA51nHoxpoVktC3jdO8PR4cGrQfZftcVSLo,59316
91
91
  airbyte_cdk/sources/declarative/partition_routers/__init__.py,sha256=27sOWhw2LBQs62HchURakHQ2M_mtnOatNgU6q8RUtpU,476
92
92
  airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py,sha256=L22D-up7W2HahZZo2dA-IbRSs7qJEahU6O6bU0eiIt8,4324
93
93
  airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py,sha256=cl-TQdu_m6_IF20gdD1jll0SpejIyMZHvyGXx2NafuI,1611
@@ -329,7 +329,7 @@ unit_tests/sources/declarative/interpolation/test_macros.py,sha256=vEZmHQ0KsfQUz
329
329
  unit_tests/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
330
330
  unit_tests/sources/declarative/parsers/test_manifest_component_transformer.py,sha256=egePHWYcXprfPtoHhiquWAXuJkDr-DB_RakKhdyaoHs,14316
331
331
  unit_tests/sources/declarative/parsers/test_manifest_reference_resolver.py,sha256=K3q9eyx-sJFQ8nGYjAgS7fxau4sX_FlNreEAjiCYOeE,5306
332
- unit_tests/sources/declarative/parsers/test_model_to_component_factory.py,sha256=A9xe7CPavPfvSSY_ngbKbdNW4LbE2i6Ahj0ZVhpOd-8,75128
332
+ unit_tests/sources/declarative/parsers/test_model_to_component_factory.py,sha256=WIUygDJvNGEIzNdlarkYymTTgRtiXlR6IOjwnsqlC3E,75683
333
333
  unit_tests/sources/declarative/parsers/testing_components.py,sha256=_yUijmYRM-yYHPGDB2JsfEiOuVrgexGW9QwHf1xxNW8,1326
334
334
  unit_tests/sources/declarative/partition_routers/__init__.py,sha256=O8MZg4Bv_DghdRy9BoJCPIqdV75VtiUrhEkExQgb2nE,61
335
335
  unit_tests/sources/declarative/partition_routers/test_list_partition_router.py,sha256=WKdbAQCHfCVOyoAFM_kbHsbqAF_e5FX5Zvou5ARsJZ4,6572
@@ -459,8 +459,8 @@ unit_tests/utils/test_schema_inferrer.py,sha256=Z2jHBZ540wnYkylIdV_2xr75Vtwlxuyg
459
459
  unit_tests/utils/test_secret_utils.py,sha256=CdKK8A2-5XVxbXVtX22FK9dwwMeP5KNqDH6luWRXSNw,5256
460
460
  unit_tests/utils/test_stream_status_utils.py,sha256=Xr8MZ2HWgTVIyMbywDvuYkRaUF4RZLQOT8-JjvcfR24,2970
461
461
  unit_tests/utils/test_traced_exception.py,sha256=bDFP5zMBizFenz6V2WvEZTRCKGB5ijh3DBezjbfoYIs,4198
462
- airbyte_cdk-0.69.1.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
463
- airbyte_cdk-0.69.1.dist-info/METADATA,sha256=E5q4NBAl0Aq4UO700Bg2PYQcW-YH7ED4P7yUSPbhNWs,11074
464
- airbyte_cdk-0.69.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
465
- airbyte_cdk-0.69.1.dist-info/top_level.txt,sha256=edvsDKTnE6sD2wfCUaeTfKf5gQIL6CPVMwVL2sWZzqo,51
466
- airbyte_cdk-0.69.1.dist-info/RECORD,,
462
+ airbyte_cdk-0.70.0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
463
+ airbyte_cdk-0.70.0.dist-info/METADATA,sha256=r3OK-V8U2kvqRNc_71_xGrna-8yFaNyLubYUW3pn06U,11074
464
+ airbyte_cdk-0.70.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
465
+ airbyte_cdk-0.70.0.dist-info/top_level.txt,sha256=edvsDKTnE6sD2wfCUaeTfKf5gQIL6CPVMwVL2sWZzqo,51
466
+ airbyte_cdk-0.70.0.dist-info/RECORD,,
@@ -1239,6 +1239,20 @@ def test_create_default_paginator():
1239
1239
  ValueError,
1240
1240
  id="test_create_custom_component_missing_required_field_emits_error",
1241
1241
  ),
1242
+ pytest.param(
1243
+ {
1244
+ "type": "CustomErrorHandler",
1245
+ "class_name": "unit_tests.sources.declarative.parsers.testing_components.NonExistingClass",
1246
+ "paginator": {
1247
+ "type": "DefaultPaginator",
1248
+ "pagination_strategy": {"type": "OffsetIncrement", "page_size": 10},
1249
+ },
1250
+ },
1251
+ "paginator",
1252
+ None,
1253
+ ValueError,
1254
+ id="test_create_custom_component_non_existing_class_raises_value_error",
1255
+ ),
1242
1256
  ],
1243
1257
  )
1244
1258
  def test_create_custom_components(manifest, field_name, expected_value, expected_error):