$npx skillfedfor your agent

dbt-extractor

A tool to analyze and extract information from Jinja used in dbt projects.

With conditionsPyPI Released Apr 202528.4M downloads / moApache-2.0Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — dbt_extractor-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl · dbt_extractor-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl · dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
v0.6.0 · released 2025-04-07 · Python >=3.9

Yes, if you need static extraction of dbt metadata from Jinja templates. The tool is production-stable, has no external runtime dependencies, and carries no security vulnerabilities. Install friction is moderate due to compiled bindings, but prebuilt wheels cover common platforms. The 494-day gap since last release is notable but the repository remains active; verify that the version supports your dbt and Jinja patterns before committing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python ≥3.9.
  • Compiled Rust bindings may require build tools on platforms without prebuilt wheels.
  • Medium install friction due to compiled Rust bindings, but wheels are available for common platforms (Linux x86_64, macOS, Windows).

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

last release 2025-04-07 (494 days) · last repo commit 2026-07-23 · 33 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 28,371,326 downloads/mo, #836 on PyPI

Verify before relying

import dbt_extractor

# Extract refs, sources, and configs from a dbt model file
result = dbt_extractor.parse(model_jinja_content)
  • Exact API surface and available functions beyond parse() are not documented in the excerpt.
  • Whether the package is actively maintained or in maintenance mode given 494 days since last release.
  • Performance characteristics and scalability limits for large dbt projects.
Same gist for agents: .md · .json

What it is and what it does

dbt-extractor is a Rust-based tool that parses and analyzes Jinja templates found in dbt model files. It uses tree-sitter and tree-sitter-jinja2 to build a typed abstract syntax tree, then extracts metadata like refs, sources, and config values without executing Python Jinja rendering. The tool prioritizes correctness over coverage: it returns an error when it cannot confidently extract values, rather than risk false positives or misses that could corrupt a user's project.

The package is designed for dbt workflows where you need to understand model dependencies and configurations statically, without running the full dbt parser. It has no runtime dependencies and ships as precompiled wheels for most platforms, making installation straightforward on Linux, macOS, and Windows.

Use it for

  • Analyze dbt model files in CI/CD pipelines to extract and validate refs and sources before running dbt.
  • Build tooling that needs to understand dbt project structure without invoking the full dbt parser.
  • Static validation of dbt Jinja syntax and config values in model files.
  • Generate dependency graphs or metadata reports from dbt projects programmatically.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need static extraction of dbt metadata from Jinja templates.

The tool is production-stable, has no external runtime dependencies, and carries no security vulnerabilities. Install friction is moderate due to compiled bindings, but prebuilt wheels cover common platforms. The 494-day gap since last release is notable but the repository remains active; verify that the version supports your dbt and Jinja patterns before committing.

Install

dbt-extractor on PyPI

Before you install

Medium install friction due to compiled Rust bindings, but wheels are available for common platforms (Linux x86_64, macOS, Windows). Last release was 494 days ago; repository is active with recent commits.

Requires Python ≥3.9. Compiled Rust bindings may require build tools on platforms without prebuilt wheels.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

import dbt_extractor

# Extract refs, sources, and configs from a dbt model file
result = dbt_extractor.parse(model_jinja_content)

Verify before relying

  • Exact API surface and available functions beyond parse() are not documented in the excerpt.
  • Whether the package is actively maintained or in maintenance mode given 494 days since last release.
  • Performance characteristics and scalability limits for large dbt projects.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.9
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 494 days since the last release
Last repo commit
First released
Downloads28,371,326 / month, #836 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Rust

Evidence: dbt_extractor-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; dbt_extractor-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl; dbt_extractor-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; dbt_extractor-0.6.0-cp39-abi3-musllinux_1_2_aarch64.whl; dbt_extractor-0.6.0-cp39-abi3-musllinux_1_2_armv7l.whl; dbt_extractor-0.6.0-cp39-abi3-musllinux_1_2_i686.whl; dbt_extractor-0.6.0-cp39-abi3-musllinux_1_2_x86_64.whl; dbt_extractor-0.6.0-cp39-abi3-win32.whl; dbt_extractor-0.6.0-cp39-abi3-win_amd64.whl

Tags

Capabilities
dbt jinja extractionparse dbt model filesextract dbt refs and sourcesstatic jinja analysisdbt metadata extraction
Topics
dbt-ecosystemstatic-analysisrust-bindings

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “dbt jinja extraction”

  • dbt-extractorExtracts metadata (refs, sources, configs) from Jinja templates in…
  • sqlfluffSQLFluff is a SQL linter and auto-fixer that checks SQL code for…
  • shandy-sqlfmtA command-line SQL formatter that automatically reformats SQL files…

Give your agent the search over MCP, or paste the wish link into any chat.

Similar packages

sqlfluff-templater-dbt With conditions
PyPI · Utilities · released Aug 2026

Enables SQLFluff to lint and auto-fix dbt project SQL using dbt templating, integrating dbt-core and Jinja2 template processing into SQLFluff's multi-dialect SQL linting workflow.

MITpure Python
3.7Mdownloads / mo
dbt-metabase Worth it
PyPI · Libraries · released May 2026

Syncs dbt project metadata (table relationships, descriptions, semantic types) to Metabase and extracts Metabase questions and dashboards back into dbt as exposures.

Install it if you use both tools and want a single source of truth for metadata.

MITpure Python · 3.10+
128.3Kdownloads / mo
tree-sitter-markdown With conditions
PyPI · Linguistic · released Sep 2025

Provides a tree-sitter grammar for parsing Markdown documents, enabling syntactic analysis of Markdown text according to CommonMark with optional extensions like GitHub flavored markdown, task lists, and tables.

However, do not use it where Markdown correctness is critical—the authors acknowledge known inaccuracies.

MITcompiled wheel · 3.9+
2.1Mdownloads / mo
dbt-core-experimental-parser Skip
PyPI · Build Tools · released Aug 2026

Experimental parser for dbt Core v2.0 (alpha), a ground-up Rust rewrite of the data transformation framework that parses, compiles, and executes dbt projects faster than v1.

No, not for production use.

permissive licensebuilds from source · 3.9+
2.7Mdownloads / mo
dbt-artifacts-parser Worth it
PyPI · Libraries · released Aug 2026

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.

Apache-2.0pure Python · 3.10.0+
344.8Kdownloads / mo
tree-sitter-yaml With conditions
PyPI · Linguistic · released Oct 2025

A tree-sitter parser grammar for YAML files that enables incremental parsing and syntax tree extraction from YAML 1.2 documents.

Not recommended if you simply need to read or write YAML data—use PyYAML or similar instead.

permissive licensecompiled wheel · 3.10+
6.1Mdownloads / mo

See also collate-dbt-artifacts-parser · tree-sitter-sql · dbt-core · tree-sitter-language-pack