<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/1d/08/b9a0f15b6311742317bab7c03c955dc3eae58c3d7092c17581e3e5ea1186/dbt_adapters-1.16.3.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.3",
"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": "c05436267e4067d91bbafed68cc2c524cee8532021c880e7df53c396ea0385d8",
"md5": "74121b64a7b34ad6752e8de692861a69",
"sha256": "234af35140ce42753d093ff056d4cd40a7d2d80c062ed9030891494dff9a18b7"
},
"downloads": -1,
"filename": "dbt_adapters-1.16.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "74121b64a7b34ad6752e8de692861a69",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9.0",
"size": 167004,
"upload_time": "2025-07-21T23:04:16",
"upload_time_iso_8601": "2025-07-21T23:04:16.079384Z",
"url": "https://files.pythonhosted.org/packages/c0/54/36267e4067d91bbafed68cc2c524cee8532021c880e7df53c396ea0385d8/dbt_adapters-1.16.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1d08b9a0f15b6311742317bab7c03c955dc3eae58c3d7092c17581e3e5ea1186",
"md5": "2366c0e761f672f1df103d2df7e26de3",
"sha256": "d49d3e57befaba36edf009e6fe001d95dd0c902e5aa6678df0812dcd905259ff"
},
"downloads": -1,
"filename": "dbt_adapters-1.16.3.tar.gz",
"has_sig": false,
"md5_digest": "2366c0e761f672f1df103d2df7e26de3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9.0",
"size": 130177,
"upload_time": "2025-07-21T23:04:17",
"upload_time_iso_8601": "2025-07-21T23:04:17.544701Z",
"url": "https://files.pythonhosted.org/packages/1d/08/b9a0f15b6311742317bab7c03c955dc3eae58c3d7092c17581e3e5ea1186/dbt_adapters-1.16.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-21 23:04:17",
"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"
}