dbt artifacts parser
v0.8.1
Este es un análisis de artefactos DBT en Python. Nos permite lidiar con catalog.json , manifest.json , run-results.json y sources.json como objetos de Python.
Este paquete está diseñado principalmente para DBT-Core, lo que permite una interacción perfecta con artefactos DBT como objetos de Python. Si bien DBT Cloud proporciona tipos de artefactos adicionales más allá de los de DBT-Core, este paquete no ofrece un soporte integral para ellos.
️ Nota importante:
- Pydantic V1 no será compatible con DBT 1.9 o posterior.
- Para analizar DBT 1.9 o posterior, migre su código a Pydantic V2.
- Vamos a reevaluar la compatibilidad de la versión en el lanzamiento de Pydantic V3.
| Versión | Versión DBT compatible | Versión pydantic compatible |
|---|---|---|
| 0.8 | DBT 1.5 a 1.9 | Pydantic V2 |
| 0.7 | DBT 1.5 a 1.8 | Pydantic V2 |
| 0.6 | DBT 1.5 a 1.8 | Pydantic V1 |
| 0.5 | DBT 1.5 a 1.7 | Pydantic V1 |
pip install -U dbt-artifacts-parserEsas son las clases para analizar los artefactos DBT.
import json
# parse any version of catalog.json
from dbt_artifacts_parser . parser import parse_catalog
with open ( "path/to/catalog.json" , "r" ) as fp :
catalog_dict = json . load ( fp )
catalog_obj = parse_catalog ( catalog = catalog_dict )
# parse catalog.json v1
from dbt_artifacts_parser . parser import parse_catalog_v1
with open ( "path/to/catalog.json" , "r" ) as fp :
catalog_dict = json . load ( fp )
catalog_obj = parse_catalog_v1 ( catalog = catalog_dict ) import json
# parse any version of manifest.json
from dbt_artifacts_parser . parser import parse_manifest
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest ( manifest = manifest_dict )
# parse manifest.json v1
from dbt_artifacts_parser . parser import parse_manifest_v1
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v1 ( manifest = manifest_dict )
# parse manifest.json v2
from dbt_artifacts_parser . parser import parse_manifest_v2
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v2 ( manifest = manifest_dict )
# parse manifest.json v3
from dbt_artifacts_parser . parser import parse_manifest_v3
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v3 ( manifest = manifest_dict )
# parse manifest.json v4
from dbt_artifacts_parser . parser import parse_manifest_v4
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v4 ( manifest = manifest_dict )
# parse manifest.json v5
from dbt_artifacts_parser . parser import parse_manifest_v5
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v5 ( manifest = manifest_dict )
# parse manifest.json v6
from dbt_artifacts_parser . parser import parse_manifest_v6
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v6 ( manifest = manifest_dict )
# parse manifest.json v7
from dbt_artifacts_parser . parser import parse_manifest_v7
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v7 ( manifest = manifest_dict )
# parse manifest.json v8
from dbt_artifacts_parser . parser import parse_manifest_v8
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v8 ( manifest = manifest_dict )
# parse manifest.json v9
from dbt_artifacts_parser . parser import parse_manifest_v9
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v9 ( manifest = manifest_dict )
# parse manifest.json v10
from dbt_artifacts_parser . parser import parse_manifest_v10
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v10 ( manifest = manifest_dict )
# parse manifest.json v11
from dbt_artifacts_parser . parser import parse_manifest_v11
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v11 ( manifest = manifest_dict )
# parse manifest.json v12
from dbt_artifacts_parser . parser import parse_manifest_v12
with open ( "path/to/manifest.json" , "r" ) as fp :
manifest_dict = json . load ( fp )
manifest_obj = parse_manifest_v12 ( manifest = manifest_dict ) import json
# parse any version of run-results.json
from dbt_artifacts_parser . parser import parse_run_results
with open ( "path/to/run-resultsjson" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results ( run_results = run_results_dict )
# parse run-results.json v1
from dbt_artifacts_parser . parser import parse_run_results_v1
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v1 ( run_results = run_results_dict )
# parse run-results.json v2
from dbt_artifacts_parser . parser import parse_run_results_v2
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v2 ( run_results = run_results_dict )
# parse run-results.json v3
from dbt_artifacts_parser . parser import parse_run_results_v3
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v3 ( run_results = run_results_dict )
# parse run-results.json v4
from dbt_artifacts_parser . parser import parse_run_results_v4
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v4 ( run_results = run_results_dict )
# parse run-results.json v5
from dbt_artifacts_parser . parser import parse_run_results_v5
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v5 ( run_results = run_results_dict )
# parse run-results.json v6
from dbt_artifacts_parser . parser import parse_run_results_v6
with open ( "path/to/run-results.json" , "r" ) as fp :
run_results_dict = json . load ( fp )
run_results_obj = parse_run_results_v6 ( run_results = run_results_dict ) import json
# parse any version of sources.json
from dbt_artifacts_parser . parser import parse_sources
with open ( "path/to/sources.json" , "r" ) as fp :
sources_dict = json . load ( fp )
sources_obj = parse_sources ( sources = sources_dict )
# parse sources.json v1
from dbt_artifacts_parser . parser import parse_sources_v1
with open ( "path/to/sources.json" , "r" ) as fp :
sources_dict = json . load ( fp )
sources_obj = parse_sources_v1 ( sources = sources_dict )
# parse sources.json v2
from dbt_artifacts_parser . parser import parse_sources_v2
with open ( "path/to/sources.json" , "r" ) as fp :
sources_dict = json . load ( fp )
sources_obj = parse_sources_v2 ( sources = sources_dict )
# parse sources.json v3
from dbt_artifacts_parser . parser import parse_sources_v3
with open ( "path/to/sources.json" , "r" ) as fp :
sources_dict = json . load ( fp )
sources_obj = parse_sources_v3 ( sources = sources_dict )¡Gracias por sus contribuciones!
Si está interesado en contribuir a este paquete, consulte el contribuyente.md.
Yu Ishikawa | Nulo | Brent Brewington | Judá Rand | Mayur Singal | Mohamed Nabil Mahmoud Hafez |
Onkar Ravgan | Nulo |