dbt-sugar audit

dbt-sugar audit

The audit task allows you to get quick statistics about the documentation and testing coverage of your dbt project. It comes in two flavours: project- and model-level. For both flavours we report documentation coverage (the percentage of documented vs undocumented columns) and test coverage (the percentage of columns with at least one test on them). At the project-level we roll up those proportions across models to give you a summary of the state of the project and you can dig in more by running dbt-sugar audit on a specific model.

New in v0.1.0. You can now make audit generate placeholders for all your models first so that it is 100% accurate, by adding the --boostrap CLI runtime argument.

NOTE: this has a side effect of generating a potentially large number of file changes and will be slower as calls have to be made to your database's information schema.

project-level audit

You can get a high-level overview of your dbt project's documentation and test coverage. You can get it by running the following command:

dbt-sugar audit --syrup jaffle_shop

and you should get a report that looks something like this:

       ____    __
  ____/ / /_  / /_      _______  ______ _____ ______
 / __  / __ \/ __/_____/ ___/ / / / __ `/ __ `/ ___/
/ /_/ / /_/ / /_/_____(__  ) /_/ / /_/ / /_/ / /
\__,_/_.___/\__/     /____/\__,_/\__, /\__,_/_/
                                /____/

Getting sweetness out of the cupboard 🍬!

[04/11/21 21:48:26] Running audit of dbt project in ./test_dbt_project/jaffle_shop.

    Documentation Coverage

     Model Name   % coverage
 ────────────────────────────
      customers         40.0
         orders         55.6
  stg_customers        100.0
     stg_orders        100.0
   stg_payments          0.0

          Total         40.0

        Test Coverage

     Model Name   % coverage
 ────────────────────────────
      customers         20.0
         orders         33.3
  stg_customers        100.0
     stg_orders        100.0
   stg_payments        100.0

          Total         47.4

model-level audit

While the project-level audit is a quick way to get an overview of the documentation and test coverage quality of your models you may want to drill down on one specific model to get an output at the column level. To do so, you run the following command:

dbt-sugar audit -m orders --syrup jaffle_shop

and you will get a report that looks like this:

       ____    __
  ____/ / /_  / /_      _______  ______ _____ ______
 / __  / __ \/ __/_____/ ___/ / / / __ `/ __ `/ ___/
/ /_/ / /_/ / /_/_____(__  ) /_/ / /_/ / /_/ / /
\__,_/_.___/\__/     /____/\__,_/\__, /\__,_/_/
                                /____/

Getting sweetness out of the cupboard 🍬!

[04/11/21 21:51:25] Running audit of model orders.

       Documentation Coverage

  Undocumented Columns   % coverage
 ───────────────────────────────────
  bank_transfer_amount
         coupon_amount
    credit_card_amount
      gift_card_amount

                 Total         55.6

            Test Coverage

      Untested Columns   % coverage
 ───────────────────────────────────
  bank_transfer_amount
         coupon_amount
    credit_card_amount
           customer_id
      gift_card_amount
            order_date

                 Total         33.3

Last updated