Vladislav Lezhnin
01/24/2025, 3:25 PMWilliam Babcock
01/29/2025, 8:44 PMKy
01/31/2025, 10:32 PMWilliam Babcock
02/04/2025, 9:32 PMCarolina Buckler
02/10/2025, 5:46 PMHolger Lange
02/11/2025, 7:01 AMOwen
02/11/2025, 4:31 PMJames Huvenaars
02/14/2025, 10:51 PMCarolina Buckler
02/17/2025, 7:25 PMDan Fitch
02/26/2025, 3:04 PMWilliam Whelan
03/04/2025, 11:06 PMMichael Gardiner
03/08/2025, 10:45 AMMorgan Kerle
03/12/2025, 9:35 AMfrom airbyte_cdk.sources.declarative.parsers.manifest_reference_resolver import (
ManifestReferenceResolver,
)
from airbyte_cdk.sources.declarative.parsers.manifest_component_transformer import (
ManifestComponentTransformer,
)
with open("my_declarative_manifest.yaml") as file:
manifest = yaml.safe_load(file)
resolved_source_config = ManifestReferenceResolver().preprocess_manifest(manifest)
propagated_source_config = (
ManifestComponentTransformer().propagate_types_and_parameters(
"", resolved_source_config, {}
)
)
validator = jsonschema.Draft7Validator(declarative_component_schema)
errors = validator.iter_errors(propagated_source_config)
# error_tree = jsonschema.ErrorTree(validator.iter_errors(propagated_source_config))
for error in sorted(errors, key=lambda e: e.path):
print(f"Error in {list(error.path)}: {error.message}")
print(f" Schema path: {list(error.schema_path)}")
print(f" Instance: {error.instance}")
for suberror in sorted(error.context, key=jsonschema.exceptions.relevance):
print(f" Suberror in {list(suberror.path)}: {suberror.message}")
print(f" Schema path: {list(suberror.schema_path)}")
print(f" Instance: {suberror.instance}")
error_tree = jsonschema.ErrorTree(validator.iter_errors(propagated_source_config))
if "streams" in error_tree:
print("Errors in 'streams':")
for path, error in error_tree["streams"].errors.items():
print(f" {path}: {error.message}")
print(f" Schema path: {list(error.schema_path)}")
print(f" Instance: {error.instance}")
with open("resolved_manifest.json", "w") as file:
json.dump(resolved_source_config, file, indent=2)
with open("propagated_manifest.json", "w") as file:
json.dump(propagated_source_config, file, indent=2)
Maciek Opała
03/18/2025, 10:44 AMRoberto Tolosa
03/25/2025, 1:18 AMDavid Parsaulian
03/25/2025, 4:50 AMHadrien Lepousé
03/26/2025, 3:09 PMSharon Lavie
03/28/2025, 10:09 AMSteven Hansen
03/31/2025, 4:17 PMMatthias Hellmund
03/31/2025, 4:51 PMDevin Moore
04/02/2025, 5:21 AMPrzemysław Dąbek
04/02/2025, 10:32 AMJacob Dunning
04/02/2025, 6:47 PMWilliam Babcock
04/03/2025, 6:46 PMJohannes Müller
04/07/2025, 7:43 AMMorgan Kerle
04/14/2025, 1:03 AMRoberto Tolosa
04/17/2025, 5:10 PMJohn Blakeman
04/22/2025, 5:06 PMorders
and customers
streams will move to GraphQL in source-shopify
?verbotenj
04/23/2025, 2:17 PMPrzemysław Dąbek
05/08/2025, 8:22 PM