Skip to content
LakeBench
ProblemsCommunityPricing
Sign inStart practicing
Back
  1. Home
  2. Interview prep
  3. Packages and dbt deps

dbt · Macros, Packages & Advanced

Packages and dbt deps

Easydbt-32
packagesdbt depsdbt_utils

Question

What are dbt packages, and what does dbt deps do?

Solution

Packages are reusable dbt projects you install as dependencies: macros, tests, and sometimes models (e.g. dbt_utils, dbt_expectations, auditor packages).

Declare them

packages.yml:

packages:
  - package: dbt-labs/dbt_utils
    version: [">=1.1.0", "<2.0.0"]

Install them

dbt deps

This downloads packages into dbt_packages/ (historically dbt_modules/ in older versions).

Mental model

packages.yml  →  dbt deps  →  dbt_packages/
                               (macros/tests available to your project)

Good practices

  • Pin version ranges deliberately
  • Commit package-lock.yml when your team uses it for reproducible installs
  • Run dbt deps in CI before dbt build
  • Prefer well-known packages over reinventing surrogate keys and date spines

Interview tip: "dbt deps is to dbt what npm install / pip install -r is to app dependencies."

PreviousNext