A dbt adapter for Altertable, backed by Arrow Flight SQL.
- Python 3.10+
- dbt-core
>=1.8,<2.0
pip install dbt-altertableOr with uv:
uv add dbt-altertableAdd a profile to ~/.dbt/profiles.yml:
my_project:
target: dev
outputs:
dev:
type: altertable
username: your_username
password: your_password
database: your_database
schema: your_schema
host: flight.altertable.ai # optional, this is the default
port: 443 # optional, this is the default
tls: true # optional, this is the default| Field | Required | Default | Description |
|---|---|---|---|
username |
yes | — | Altertable username |
password |
yes | — | Altertable password |
database |
yes | — | Target catalog name |
schema |
yes | — | Target schema name |
host |
no | flight.altertable.ai |
Flight SQL endpoint host |
port |
no | 443 |
Flight SQL endpoint port |
tls |
no | true |
Use TLS for the Flight SQL connection |
dbt models should use DuckDB-compatible SQL. Altertable executes queries via DuckDB, so all DuckDB SQL features and functions are available — see the DuckDB SQL reference.
This project is managed with uv and hatchling.
git clone https://github.com/altertable-ai/dbt-altertable.git
cd dbt-altertable
uv sync --extra devCommon tasks (see Makefile):
make lint # ruff format + ruff check --fix
make typecheck # ty check
make test # pytest
make build # uv build (wheel + sdist)Optional pre-commit hooks:
uv run pre-commit install --hook-type pre-commit --hook-type commit-msgReleases are managed via release-please — every push to main updates a rolling release PR. Merging it bumps the version, updates CHANGELOG.md, tags the release, and triggers PyPI publishing via trusted publishing.
This adapter draws on the design of dbt-duckdb.
MIT — see LICENSE.