dbt-artifacts-parser
A dbt artifacts parser in python
What it is and what it does
dbt-artifacts-parser converts dbt's JSON artifact outputs into strongly-typed Python objects, eliminating the need to manually traverse nested dictionaries. It wraps catalog.json, manifest.json, run-results.json, and sources.json into corresponding pydantic model classes, with version-specific parsers for each artifact type and schema iteration.
The package is built for dbt-core workflows where you need programmatic access to dbt metadata—lineage, model definitions, test results, or catalog information. It requires pydantic v2 for dbt 1.9 or later, and supports dbt versions from 0.19 through 1.12. A best-effort fallback mode allows parsing artifacts from newer dbt versions than the package officially supports, dropping forbidden fields while preserving custom config keys.
Use it for:
- Extract model lineage and dependencies from manifest.json for impact analysis or DAG visualization
- Parse run-results.json to programmatically check test outcomes and model execution status
- Read catalog.json to inspect table schemas and column metadata for data governance tools
- Build dbt metadata APIs or dashboards that consume artifacts as structured objects
- Validate dbt project structure by parsing manifest versions across multiple dbt releases
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses dbt artifact JSON files (catalog, manifest, run-results, sources) into typed Python objects using pydantic, supporting multiple schema versions across dbt 0.19 to 1.12.
Yes. Active maintenance, low install friction, no security vulnerabilities, and permissive licensing make it a safe choice. Install if you're building tooling around dbt artifacts and need type-safe access to their structure. Verify your dbt and pydantic versions match the compatibility table in the description before upgrading.
Install
dbt-artifacts-parser on PyPI
pip
pip install dbt-artifacts-parseruv
uv add dbt-artifacts-parserpoetry
poetry add dbt-artifacts-parserInstalling dbt-artifacts-parser
Before you install
Low friction: pure Python wheel with a single runtime dependency (pydantic). Actively maintained with a release 4 days old and recent commits. Supports Python 3.10–3.13.
License in practice
Apache 2.0 permissive license allows commercial and derivative use with attribution and liability disclaimers.
Quickstart
import 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)
Requires Python 3.10 or newer. pydantic v2 is required for dbt 1.9 or later; pydantic v1 is not supported for dbt 1.9+.
Verify before relying
- Whether fallback_to_latest mode handles all real-world dbt artifact variations gracefully
- Performance characteristics when parsing large manifest files
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pydantic |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 344,769/month — #7,371 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_artifacts_parser-0.15.0-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
collate-dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI
dbt-bouncerdbt-bouncer validates dbt projects against…
permissive · top 15,000 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-metabaseSyncs dbt project metadata (table…
permissive · top 15,000 on PyPI
dbt-extractorExtracts metadata (refs, sources, configs) from…
permissive · top 1,000 on PyPI
dbt-exasoldbt-exasol is a dbt adapter that enables data…
copyleft · top 5,000 on PyPI
dbt-coverageMeasures documentation and test coverage of dbt…
permissive · top 15,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dbt-clickhouseA dbt adapter that enables data transformation…
permissive · top 5,000 on PyPI
openlineage-dbtAutomatically collects and sends dbt run…
unclear · top 15,000 on PyPI