<p align="center">
<img
src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg"
alt="dbt logo"
width="500"
/>
</p>
<p align="center">
<a href="https://pypi.org/project/dbt-adapters/">
<img src="https://badge.fury.io/py/dbt-adapters.svg" />
</a>
<a target="_blank" href="https://pypi.org/project/dbt-adapters/" style="background:none">
<img src="https://img.shields.io/pypi/pyversions/dbt-adapters">
</a>
<a href="https://github.com/psf/black">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" />
</a>
<a href="https://github.com/python/mypy">
<img src="https://www.mypy-lang.org/static/mypy_badge.svg" />
</a>
<a href="https://pepy.tech/project/dbt-athena">
<img src="https://static.pepy.tech/badge/dbt-adapters/month" />
</a>
</p>
# Adapters
There are two major adapter types: [base](/dbt-adapters/src/dbt/adapters/base/impl.py) and [sql](/dbt-adapters/src/dbt/adapters/sql/impl.py).
## `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/*`
Raw data
{
"_id": null,
"home_page": null,
"name": "dbt-adapters",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9.0",
"maintainer_email": "dbt Labs <info@dbtlabs.com>",
"keywords": "adapter, adapters, database, dbt, dbt Cloud, dbt Core, dbt Labs, dbt-core, elt",
"author": null,
"author_email": "dbt Labs <info@dbtlabs.com>",
"download_url": "https://files.pythonhosted.org/packages/c1/ba/0163db84fa6a4339066ce7fee59d83992451beb77370a91989c3db9d499e/dbt_adapters-1.16.5.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img\n src=\"https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg\"\n alt=\"dbt logo\"\n width=\"500\"\n />\n</p>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/dbt-adapters/\">\n <img src=\"https://badge.fury.io/py/dbt-adapters.svg\" />\n </a>\n <a target=\"_blank\" href=\"https://pypi.org/project/dbt-adapters/\" style=\"background:none\">\n <img src=\"https://img.shields.io/pypi/pyversions/dbt-adapters\">\n </a>\n <a href=\"https://github.com/psf/black\">\n <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" />\n </a>\n <a href=\"https://github.com/python/mypy\">\n <img src=\"https://www.mypy-lang.org/static/mypy_badge.svg\" />\n </a>\n <a href=\"https://pepy.tech/project/dbt-athena\">\n <img src=\"https://static.pepy.tech/badge/dbt-adapters/month\" />\n </a>\n</p>\n\n# Adapters\n\nThere are two major adapter types: [base](/dbt-adapters/src/dbt/adapters/base/impl.py) and [sql](/dbt-adapters/src/dbt/adapters/sql/impl.py).\n\n## `base`\n\n`BaseAdapter` defines the base functionality an adapter is required to implement in order to function with `dbt-core`.\nThere are several methods which have default implementations as well as methods that require the concrete adapter to implement them.\n\n## `sql`\n\n`SQLAdapter` inherits from `BaseAdapter`, updates default implementations to work with SQL-based platforms,\nand defines additional required methods to support those defaults.\n\n# Components\n\nAn adapter is composed of several components.\n\n- connections\n- dialect\n- relation caching\n- integration with `dbt-core`\n\nThe first two are platform-specific and require significant implementation in a concrete adapter.\nThe last two are largely implemented in `dbt-adapters` with minor adjustments in a concrete adapter.\n\n## Connections\n\nThis component is responsible for creating and managing connections to storage and compute.\n\n#### Files\n- `dbt/adapters/{base|sql}/connections.py`\n\n## Dialect\n\nThis component is responsible for translating a request from `dbt-core` into a specific set of actions on the platform.\n\n#### Files\n- `dbt/adapters/base/column.py`\n- `dbt/adapters/base/query_headers.py`\n- `dbt/adapters/base/relation.py`\n- `dbt/adapters/relation_configs/*`\n- `dbt/adapters/clients/jinja.py`\n- `dbt/include/global_project/*`\n\n## Relation caching\n\nThis component is responsible for managing a local cache of relations, relation metadata, and dependencies between relations.\n\n#### Files\n- `dbt/adapters/cache.py`\n\n## Integration with `dbt-core`\n\nThis component is responsible for managing the interface between `dbt-core` and a concrete adapter.\n\n#### Files\n- `dbt/adapters/{base|sql}/impl.py`\n- `dbt/adapters/base/meta.py`\n- `dbt/adapters/base/plugin.py`\n- `dbt/adapters/capability.py`\n- `dbt/adapters/factory.py`\n- `dbt/adapters/protocol.py`\n- `dbt/adapters/contracts/*`\n- `dbt/adapters/events/*`\n- `dbt/adapters/exceptions/*`\n",
"bugtrack_url": null,
"license": null,
"summary": "The set of adapter protocols and base functionality that supports integration with dbt-core",
"version": "1.16.5",
"project_urls": {
"Changelog": "https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-adapters/CHANGELOG.md",
"Documentation": "https://docs.getdbt.com",
"Homepage": "https://github.com/dbt-labs/dbt-adapters/tree/main/dbt-adapters",
"Issues": "https://github.com/dbt-labs/dbt-adapters/issues",
"Repository": "https://github.com/dbt-labs/dbt-adapters.git#subdirectory=dbt-adapters"
},
"split_keywords": [
"adapter",
" adapters",
" database",
" dbt",
" dbt cloud",
" dbt core",
" dbt labs",
" dbt-core",
" elt"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "852ccc5b0d92925db81b6d0fe18bdec904600ba43060299dd36cb62edc80e34a",
"md5": "0dd501e792d386d2a01b9abd4dbd4c35",
"sha256": "f9128745a0592e0047b37acc99deb12a7aa250f8780969e998b09f7219c03d8c"
},
"downloads": -1,
"filename": "dbt_adapters-1.16.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0dd501e792d386d2a01b9abd4dbd4c35",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9.0",
"size": 167096,
"upload_time": "2025-08-19T13:52:03",
"upload_time_iso_8601": "2025-08-19T13:52:03.136931Z",
"url": "https://files.pythonhosted.org/packages/85/2c/cc5b0d92925db81b6d0fe18bdec904600ba43060299dd36cb62edc80e34a/dbt_adapters-1.16.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c1ba0163db84fa6a4339066ce7fee59d83992451beb77370a91989c3db9d499e",
"md5": "1dad08cda914693ed5a4c9bc2ae48141",
"sha256": "3803c60bcf16bc1cbfdec1b20cee290072d861edbe93b97b3e92a935c57e21d3"
},
"downloads": -1,
"filename": "dbt_adapters-1.16.5.tar.gz",
"has_sig": false,
"md5_digest": "1dad08cda914693ed5a4c9bc2ae48141",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9.0",
"size": 130578,
"upload_time": "2025-08-19T13:52:04",
"upload_time_iso_8601": "2025-08-19T13:52:04.616887Z",
"url": "https://files.pythonhosted.org/packages/c1/ba/0163db84fa6a4339066ce7fee59d83992451beb77370a91989c3db9d499e/dbt_adapters-1.16.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 13:52:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dbt-labs",
"github_project": "dbt-adapters",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dbt-adapters"
}