Registry / devops / dbt-core-interface

dbt-core-interface

JSON →
library1.1.7pypypi✓ verified 84d ago

A Python library providing an interface for interacting with dbt Core programmatically. It abstracts invocation, artifact parsing, and project management. Current version: 1.1.7, requires Python >=3.10 and <3.14. Active development with frequent releases.

pip install dbt-core-interface
INSTALL
IMPORT
SIG · DBT-CORE-INTERFACE
D
dbt-core-interface
devopspythonv1.1.7
Install
8.8s avg
Import
Disk
109MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.1.7 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 127.3MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 8.8s · import 0.000s · 128MB
109MB installed
● package 109MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

DbtProject
from dbt_core_interface import DbtProject
from dbt_core_interface import DbtCoreInterface
DbtConfiguration
from dbt_core_interface import DbtConfiguration
DependencyGraph
from dbt_core_interface import DependencyGraph

Initialize the interface and run a dbt model.

import os from dbt_core_interface import DbtCoreInterface dbt = DbtCoreInterface() result = dbt.run(select='my_model') print(result.success, result.logs)
Debug
Known issues
breakingThe API changed significantly between v1.0.x and v1.1.x. The old `DbtCoreInterface` constructor required explicit project and profile paths; now these are optional and auto-detected.
fix
Update calls to `DbtCoreInterface(project_dir='/path', profiles_dir='/path')` to accept the new defaults or remove explicit paths if they match the working directory.
affects: >=1.1.0
deprecatedThe `invoke_dbt` method is deprecated in v1.1.0+. Use `run`, `compile`, `test`, etc. instead.
fix
Replace `dbt.invoke_dbt(['run', '--select', 'my_model'])` with `dbt.run(select='my_model')`.
affects: >=1.1.0
gotchaRunning dbt inside a subprocess may produce unexpected log outputs. The library captures stdout/stderr but does not forward them in real-time by default.
fix
Set `capture_output=False` in the DbtCoreInterface constructor to see live logs.
affects: all
gotchaThe library requires dbt-core to be installed in the same Python environment. If multiple dbt adapters are needed, they must be installed separately.
fix
Ensure dbt-core and any required dbt adapters (e.g., dbt-postgres, dbt-snowflake) are installed alongside dbt-core-interface.
affects: all
Upgrade
Version history
1.1.7latest on PyPI · released Jan 11, 2026
Audit
Dependencies
dbt-corerequiredCore dependency required for dbt operations.
Agent activity
9 hits · last 30 days
node
8
OpenAI (training)
1
Resources
dbt-core-interface — pip install dbt-core-interface · libregistry