Skip to content

CLI tool for dbt users to simplify creation of staging models (yml and sql) files

License

Notifications You must be signed in to change notification settings

datacoves/dbt-coves

Repository files navigation

dbt-coves

PyPI version fury.io PyPI - Python Version Build

Brought to you by your friends at Datacoves

Datacoves

The Datacoves platform helps enterprises overcome their data delivery challenges quickly using dbt and Airflow, implementing best practices from the start without the need for multiple vendors or costly consultants.

Hosted VS Code, dbt-core, SqlFluff, and Airflow, find out more at Datacoves.com.

Overview

image

Table of contents

Introduction

dbt-coves is a CLI tool that automates and simplifies development and release tasks for dbt.

In addition to other functions listed below, dbt-coves generates dbt sources, staging models and property(yml) files by analyzing information from the data warehouse and creating the necessary files (sql and yml). It can even generate Airflow DAGs based on YML input.

Finally, dbt-coves includes functionality to bootstrap a dbt project and to extract and load configurations from data-replication providers.

Installation

pip install dbt-coves

We recommend using python virtualenvs and create one separate environment per project.

Supported dbt versions

Version Status
< 1.0 ❌ Not supported
>= 1.0 ✅ Tested

From dbt-coves 1.4.0 onwards, our major and minor versions match those of dbt-core. This means we release a new major/minor version once it's dbt-core equivalent is tested. Patch suffix (1.4.X) is exclusive to our continuous development and does not reflect a version match with dbt.

Supported dbt adapters

Feature Snowflake Redshift BigQuery
source model (sql) generation ✅ Tested ✅ Tested ✅ Tested
model properties (yml) generation ✅ Tested ✅ Tested ✅ Tested

NOTE: Other database adapters may work, although we have not tested them. Feel free to try them and let us know so we can update the table above.

Usage

dbt-coves, supports the following functions:

  • dbt: run dbt commands in CI and Airflow environments.
  • extract and load: save and restore your configuration from:
  • generate:
    • airflow dags: generate Airflow DAGs from YML files.
    • dbt docs: generate dbt docs by merging production catalog.json, useful in combination with dbt-checkpoint and when using Slim CI
    • dbt sources: generate the dbt source configuration as well as the initial dbt staging model(s) and their corresponding property(yml) files.
    • dbt properties: generate and/or update the properties(yml) file for a given dbt model(sql) file.
    • metadata: generate metadata extract(CSV file) that can be used to collect column types and descriptions and then provided as input inthe the generate sources or generate properties command
    • templates: generate the dbt-coves templates that dbt-coves utilizes with other dbt-coves commands
  • setup: used configure different components of a dbt project.

For a complete list of options, run:

dbt-coves -h
dbt-coves <command> -h

Contributing

If you're interested in contributing to the development of dbt-coves, please refer to the Contributing Guidelines. This document outlines the process for submitting bug reports, feature requests, and code contributions.

Metrics

Code Style Maintenance Maintainability Downloads