dbt Core is an open sourced project where you can develop from the command line and run your dbt project.
To use dbt Core, your workflow generally looks like:
Build your dbt project in a code editor — popular choices include VSCode and Atom.
Run your project from the command line — macOS ships with a default Terminal program, however you can also use iTerm or the command line prompt within a code editor to execute dbt commands.
We've written a guide for our recommended setup when running dbt projects using dbt Core.
If you're using the command line, we recommend learning some basics of your terminal to help you work more effectively. In particular, it's important to understand
pwd to be able to navigate through the directory structure of your computer easily.
Install dbt Core
You can install dbt Core on the command line by using one of these methods:
- Use pip to install dbt (recommended)
- Use Homebrew to install dbt
- Use a Docker image to install dbt
- Install dbt from source
- You can also develop locally using the dbt Cloud CLI. The dbt Cloud CLI and dbt Core are both command line tools that let you run dbt commands. The key distinction is the dbt Cloud CLI is tailored for dbt Cloud's infrastructure and integrates with all its features.
Upgrading dbt Core
dbt provides a number of resources for understanding general best practices while upgrading your dbt project as well as detailed migration guides highlighting the changes required for each minor and major release, and core versions
About dbt data platforms and adapters
dbt works with a number of different data platforms (databases, query engines, and other SQL-speaking technologies). It does this by using a dedicated adapter for each. When you install dbt Core, you'll also want to install the specific adapter for your database. For more details, see Supported Data Platforms.
Most command-line tools, including dbt, have a
--help flag that you can use to show available commands and arguments. For example, you can use the
--help flag with dbt in two ways:
dbt --help: Lists the commands available for dbt
dbt run --help: Lists the flags available for the