px
pypx

dbt-adapters

v1.24.2

The set of adapter protocols and base functionality that supports integration with dbt-core

172 KB Python 3.10.0+ py3-none-anyApache Software License7 deps
$ uv add dbt-adapters

Adapters

There are two major adapter types: base and sql.

base

BaseAdapter defines the base functionality an adapter is required to implement in order to function with dbt-core. There are several methods which have default implementations as well as methods that require the concrete adapter to implement them.

sql

SQLAdapter inherits from BaseAdapter, updates default implementations to work with SQL-based platforms, and defines additional required methods to support those defaults.

Components

An adapter is composed of several components.

  • connections
  • dialect
  • relation caching
  • integration with dbt-core

The first two are platform-specific and require significant implementation in a concrete adapter. The last two are largely implemented in dbt-adapters with minor adjustments in a concrete adapter.

Connections

This component is responsible for creating and managing connections to storage and compute.

Files

  • dbt/adapters/{base|sql}/connections.py

Dialect

This component is responsible for translating a request from dbt-core into a specific set of actions on the platform.

Files

  • dbt/adapters/base/column.py
  • dbt/adapters/base/query_headers.py
  • dbt/adapters/base/relation.py
  • dbt/adapters/relation_configs/*
  • dbt/adapters/clients/jinja.py
  • dbt/include/global_project/*

Relation caching

This component is responsible for managing a local cache of relations, relation metadata, and dependencies between relations.

Files

  • dbt/adapters/cache.py

Integration with dbt-core

This component is responsible for managing the interface between dbt-core and a concrete adapter.

Files

  • dbt/adapters/{base|sql}/impl.py
  • dbt/adapters/base/meta.py
  • dbt/adapters/base/plugin.py
  • dbt/adapters/capability.py
  • dbt/adapters/factory.py
  • dbt/adapters/protocol.py
  • dbt/adapters/contracts/*
  • dbt/adapters/events/*
  • dbt/adapters/exceptions/*

Details

Version
1.24.2
License
Apache Software License
Python
>=3.10.0
Maintainer
dbt Labs <[email protected]>

Release Cadence

32
releases in the past year
avg 11 days between releases

Maintainers