collate-dbt-artifacts-parser
A dbt artifacts parser in python
What it is and what it does
This package provides Python classes to deserialize dbt artifact JSON files—catalog.json, manifest.json, run-results.json, and sources.json—into typed pydantic objects. It is designed for dbt-core and supports multiple versions of each artifact format, allowing you to programmatically inspect dbt metadata, lineage, and execution results without manual JSON parsing. The package depends only on pydantic and supports Python 3.8 and later.
The parser is organized by artifact type and version, with classes like ManifestV1 through ManifestV12, RunResultsV1 through RunResultsV6, and corresponding catalog and sources parsers. You load a JSON file, pass it to a parser function, and receive a typed object you can query and manipulate in Python code. The package is in beta and has not been updated in several months, so it may lag behind the latest dbt releases.
Use it for:
- Programmatically extract model lineage and dependencies from manifest.json for documentation or impact analysis
- Parse run-results.json to programmatically check test outcomes and model execution status after a dbt run
- Load catalog.json to query column-level metadata and table properties in a Python application
- Build custom dbt metadata dashboards or reporting tools by accessing structured artifact data
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 for structured access to dbt metadata.
Yes, if you work with dbt and need to programmatically access artifact metadata in Python. The install is frictionless and the license is permissive. However, verify that version 0.1.4 matches your dbt and pydantic versions—the package documentation warns that pydantic v1 is not supported for dbt 1.9 or later. The aging maintenance status (no updates in 263 days) means you should test compatibility with your dbt version before relying on it in production.
Install
collate-dbt-artifacts-parser on PyPI
pip
pip install collate-dbt-artifacts-parseruv
uv add collate-dbt-artifacts-parserpoetry
poetry add collate-dbt-artifacts-parserInstalling collate-dbt-artifacts-parser
Before you install
Low friction install with a single pydantic dependency. The package is in beta status and has not been updated in 263 days, so expect slower response to issues or feature requests.
License in practice
Apache License 2.0 permits commercial and private use with minimal restrictions; you must include a copy of the license and note any modifications you make to the code.
Quickstart
pip install collate-dbt-artifacts-parser
import json
from collate_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 pydantic; documentation warns that pydantic v1 is not supported for dbt 1.9 or later
Verify before relying
- Whether version 0.1.4 supports dbt 1.9 or requires migration to pydantic v2 as documented
- Actual test coverage and stability of the parser across all supported manifest versions (V1–V12)
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.8.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pydantic |
| Maintenance | aging — 263 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 235,557/month — #8,998 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: collate_dbt_artifacts_parser-0.1.4-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
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-coverageMeasures documentation and test coverage of dbt…
permissive · top 15,000 on PyPI
dbt-metabaseSyncs dbt project metadata (table…
permissive · top 15,000 on PyPI
dbt-loomdbt-loom is a dbt Core plugin that fetches…
unclear · top 15,000 on PyPI
openlineage-dbtAutomatically collects and sends dbt run…
unclear · top 15,000 on PyPI
dbt-exasoldbt-exasol is a dbt adapter that enables data…
copyleft · top 5,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dbt-extractorExtracts metadata (refs, sources, configs) from…
permissive · top 1,000 on PyPI