# dbt-ext
Meltano dbt utility extension
## Configuration
Note the new `DBT_EXT_TYPE` setting, used to indicate what dbt profile should be used, and new default executable of
`dbt_invoker` instead of `dbt`.
### dbt-postgres
```yaml
plugins:
utilities:
- name: dbt-postgres
label: dbt PostgreSQL extension
executable: dbt_invoker
namespace: dbt_ext
pip_url: dbt-core~=1.1.0 dbt-postgres~=1.1.0 git+https://github.com/meltano/dbt-ext.git@feat/working-dbt-ext
settings:
- name: skip_pre_invoke
kind: boolean
value: false
description: Whether to skip pre-invoke hooks which automatically run dbt clean and deps
env: DBT_EXT_SKIP_PRE_INVOKE
- name: type
env: DBT_EXT_TYPE
value: postgres
- name: project_dir
label: Projects Directory
value: $MELTANO_PROJECT_ROOT/transform
- name: profiles_dir
label: Profiles Directory
value: $MELTANO_PROJECT_ROOT/transform/profiles/postgres
env: DBT_PROFILES_DIR
# Postgres connection settings are set via `config:` blocks and mapped to `profiles.yml`
- name: host
label: Host
kind: string
description: |
The postgres host to connect to.
- name: user
label: User
kind: string
description: |
The user to connect as.
- name: password
label: Password
kind: password
description: |
The password to connect with.
- name: port
label: Port
kind: integer
description: |
The port to connect to.
- name: dbname
label: Database
aliases: ["database"]
kind: string
description: |
The db to connect to.
- name: schema
label: Schema
kind: string
description: |
The schema to use.
- name: keepalives_idle
label: Keep Alives Idle
kind: integer
description: |
Seconds between TCP keepalive packets.
- name: search_path
label: Search Path
kind: string
description: |
Overrides the default search path.
- name: role
label: Role
kind: string
description: |
Role for dbt to assume when executing queries.
- name: sslmode
label: SSL Mode
kind: array
description: |
SSL Mode used to connect to the database.
commands:
clean:
args: clean
description: Delete all folders in the clean-targets list (usually the dbt_modules and target directories.)
compile:
args: compile
description: Generates executable SQL from source model, test, and analysis files. Compiled SQL files are written to the target/ directory.
deps:
args: deps
description: Pull the most recent version of the dependencies listed in packages.yml
run:
args: run
description: Compile SQL and execute against the current target database.
seed:
args: seed
description: Load data from csv files into your data warehouse.
snapshot:
args: snapshot
description: Execute snapshots defined in your project.
test:
args: test
description: Runs tests on data in deployed models.
freshness:
args: source freshness
description: Check the freshness of your source data.
build:
args: build
description: Will run your models, tests, snapshots and seeds in DAG order.
docs-generate:
args: docs generate
description: Generate documentation for your project.
docs-serve:
args: docs serve
description: Serve documentation for your project. Make sure you ran `docs-generate` first.
debug:
args: debug
description: Debug your DBT project and warehouse connection.
describe:
args: describe
executable: dbt_extension
initialize:
args: initialize
executable: dbt_extension
```
### dbt-snowflake
```yaml
- name: dbt-snowflake
label: dbt Snowflake
executable: dbt_invoker
namespace: dbt_ext
pip_url: dbt-core~=1.1.0 dbt-snowflake~=1.1.0 git+https://github.com/meltano/dbt-ext.git@feat/working-dbt-ext
settings:
- name: skip_pre_invoke
kind: boolean
value: false
description: Whether to skip pre-invoke hooks which automatically run dbt clean and deps
env: DBT_EXT_SKIP_PRE_INVOKE
- name: type
env: DBT_EXT_TYPE
value: snowflake
- name: project_dir
label: Projects Directory
value: $MELTANO_PROJECT_ROOT/transform
- name: profiles_dir
label: Profiles Directory
env: DBT_PROFILES_DIR
value: $MELTANO_PROJECT_ROOT/transform/profiles/snowflake
- name: account
label: Account
kind: string
description: The snowflake account to connect to.
- name: user
label: User
kind: string
description: The user to connect as.
- name: password
label: Password
kind: password
description: The user password to authenticate with.
- name: role
label: Role
kind: string
description: The user role to assume.
- name: warehouse
label: Warehouse
kind: string
description: The compute warehouse to use when building models.
- name: database
label: Database
kind: string
description: The database to create models in.
- name: schema
label: Schema
kind: string
description: The schema to build models into by default.
commands:
clean:
args: clean
description: Delete all folders in the clean-targets list (usually the dbt_modules
and target directories.)
compile:
args: compile
description: Generates executable SQL from source model, test, and analysis files.
Compiled SQL files are written to the target/ directory.
deps:
args: deps
description: Pull the most recent version of the dependencies listed in packages.yml
run:
args: run
description: Compile SQL and execute against the current target database.
seed:
args: seed
description: Load data from csv files into your data warehouse.
snapshot:
args: snapshot
description: Execute snapshots defined in your project.
test:
args: test
description: Runs tests on data in deployed models.
freshness:
args: source freshness
description: Check the freshness of your source data.
build:
args: build
description: Will run your models, tests, snapshots and seeds in DAG order.
docs-generate:
args: docs generate
description: Generate documentation for your project.
docs-serve:
args: docs serve
description: Serve documentation for your project. Make sure you ran `docs-generate` first.
debug:
args: debug
description: Debug your DBT project and warehouse connection.
describe:
args: describe
executable: dbt_extension
initialize:
args: initialize
executable: dbt_extension
```
## Installation
```bash
meltano install utility dbt-postgres
meltano invoke dbt-postgres:initialize
meltano invoke dbt-postgres list
meltano invoke dbt-postgres test
```
Raw data
{
"_id": null,
"home_page": "https://meltano.com",
"name": "meltano-dbt-ext",
"maintainer": "Meltano Team and Contributors",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "hello@meltano.com",
"keywords": null,
"author": "Meltano Team and Contributors",
"author_email": "hello@meltano.com",
"download_url": "https://files.pythonhosted.org/packages/19/df/3afb000b6a2b7d4ead3602548e4cbb04f1c5989aaaff74254d70c52e0e70/meltano_dbt_ext-0.3.1.tar.gz",
"platform": null,
"description": "# dbt-ext\n\nMeltano dbt utility extension\n\n## Configuration\n\nNote the new `DBT_EXT_TYPE` setting, used to indicate what dbt profile should be used, and new default executable of\n`dbt_invoker` instead of `dbt`.\n\n### dbt-postgres\n\n```yaml\nplugins:\n utilities:\n - name: dbt-postgres\n label: dbt PostgreSQL extension\n executable: dbt_invoker\n namespace: dbt_ext\n pip_url: dbt-core~=1.1.0 dbt-postgres~=1.1.0 git+https://github.com/meltano/dbt-ext.git@feat/working-dbt-ext\n settings:\n - name: skip_pre_invoke\n kind: boolean\n value: false\n description: Whether to skip pre-invoke hooks which automatically run dbt clean and deps\n env: DBT_EXT_SKIP_PRE_INVOKE\n - name: type\n env: DBT_EXT_TYPE\n value: postgres\n - name: project_dir\n label: Projects Directory\n value: $MELTANO_PROJECT_ROOT/transform\n - name: profiles_dir\n label: Profiles Directory\n value: $MELTANO_PROJECT_ROOT/transform/profiles/postgres\n env: DBT_PROFILES_DIR\n # Postgres connection settings are set via `config:` blocks and mapped to `profiles.yml`\n - name: host\n label: Host\n kind: string\n description: |\n The postgres host to connect to.\n - name: user\n label: User\n kind: string\n description: |\n The user to connect as.\n - name: password\n label: Password\n kind: password\n description: |\n The password to connect with.\n - name: port\n label: Port\n kind: integer\n description: |\n The port to connect to.\n - name: dbname\n label: Database\n aliases: [\"database\"]\n kind: string\n description: |\n The db to connect to.\n - name: schema\n label: Schema\n kind: string\n description: |\n The schema to use.\n - name: keepalives_idle\n label: Keep Alives Idle\n kind: integer\n description: |\n Seconds between TCP keepalive packets.\n - name: search_path\n label: Search Path\n kind: string\n description: |\n Overrides the default search path.\n - name: role\n label: Role\n kind: string\n description: |\n Role for dbt to assume when executing queries.\n - name: sslmode\n label: SSL Mode\n kind: array\n description: |\n SSL Mode used to connect to the database.\n commands:\n clean:\n args: clean\n description: Delete all folders in the clean-targets list (usually the dbt_modules and target directories.)\n compile:\n args: compile\n description: Generates executable SQL from source model, test, and analysis files. Compiled SQL files are written to the target/ directory.\n deps:\n args: deps\n description: Pull the most recent version of the dependencies listed in packages.yml\n run:\n args: run\n description: Compile SQL and execute against the current target database.\n seed:\n args: seed\n description: Load data from csv files into your data warehouse.\n snapshot:\n args: snapshot\n description: Execute snapshots defined in your project.\n test:\n args: test\n description: Runs tests on data in deployed models.\n freshness:\n args: source freshness\n description: Check the freshness of your source data.\n build:\n args: build\n description: Will run your models, tests, snapshots and seeds in DAG order.\n docs-generate:\n args: docs generate\n description: Generate documentation for your project.\n docs-serve:\n args: docs serve\n description: Serve documentation for your project. Make sure you ran `docs-generate` first.\n debug:\n args: debug\n description: Debug your DBT project and warehouse connection.\n describe:\n args: describe\n executable: dbt_extension\n initialize:\n args: initialize\n executable: dbt_extension\n```\n\n### dbt-snowflake\n\n```yaml\n - name: dbt-snowflake\n label: dbt Snowflake\n executable: dbt_invoker\n namespace: dbt_ext\n pip_url: dbt-core~=1.1.0 dbt-snowflake~=1.1.0 git+https://github.com/meltano/dbt-ext.git@feat/working-dbt-ext\n settings:\n - name: skip_pre_invoke\n kind: boolean\n value: false\n description: Whether to skip pre-invoke hooks which automatically run dbt clean and deps\n env: DBT_EXT_SKIP_PRE_INVOKE\n - name: type\n env: DBT_EXT_TYPE\n value: snowflake\n - name: project_dir\n label: Projects Directory\n value: $MELTANO_PROJECT_ROOT/transform\n - name: profiles_dir\n label: Profiles Directory\n env: DBT_PROFILES_DIR\n value: $MELTANO_PROJECT_ROOT/transform/profiles/snowflake\n - name: account\n label: Account\n kind: string\n description: The snowflake account to connect to.\n - name: user\n label: User\n kind: string\n description: The user to connect as.\n - name: password\n label: Password\n kind: password\n description: The user password to authenticate with.\n - name: role\n label: Role\n kind: string\n description: The user role to assume.\n - name: warehouse\n label: Warehouse\n kind: string\n description: The compute warehouse to use when building models.\n - name: database\n label: Database\n kind: string\n description: The database to create models in.\n - name: schema\n label: Schema\n kind: string\n description: The schema to build models into by default.\n commands:\n clean:\n args: clean\n description: Delete all folders in the clean-targets list (usually the dbt_modules\n and target directories.)\n compile:\n args: compile\n description: Generates executable SQL from source model, test, and analysis files.\n Compiled SQL files are written to the target/ directory.\n deps:\n args: deps\n description: Pull the most recent version of the dependencies listed in packages.yml\n run:\n args: run\n description: Compile SQL and execute against the current target database.\n seed:\n args: seed\n description: Load data from csv files into your data warehouse.\n snapshot:\n args: snapshot\n description: Execute snapshots defined in your project.\n test:\n args: test\n description: Runs tests on data in deployed models.\n freshness:\n args: source freshness\n description: Check the freshness of your source data.\n build:\n args: build\n description: Will run your models, tests, snapshots and seeds in DAG order.\n docs-generate:\n args: docs generate\n description: Generate documentation for your project.\n docs-serve:\n args: docs serve\n description: Serve documentation for your project. Make sure you ran `docs-generate` first.\n debug:\n args: debug\n description: Debug your DBT project and warehouse connection.\n describe:\n args: describe\n executable: dbt_extension\n initialize:\n args: initialize\n executable: dbt_extension\n```\n\n\n## Installation\n\n```bash\nmeltano install utility dbt-postgres\nmeltano invoke dbt-postgres:initialize\nmeltano invoke dbt-postgres list\nmeltano invoke dbt-postgres test\n```\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A Meltano utility extension to manage dbt projects.",
"version": "0.3.1",
"project_urls": {
"Homepage": "https://meltano.com",
"Repository": "https://github.com/meltano/dbt-ext"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a0a275f0b3d5e3896fed28aec130e3269a5025e184c0f8d97b4b85a23a32b9f5",
"md5": "b663bed40aa08250bab5f25a396b85c0",
"sha256": "79138aa474391818ccafe48885960105512a8297a8ee74dc43b69411943faca3"
},
"downloads": -1,
"filename": "meltano_dbt_ext-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b663bed40aa08250bab5f25a396b85c0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16074,
"upload_time": "2024-11-04T23:47:45",
"upload_time_iso_8601": "2024-11-04T23:47:45.732780Z",
"url": "https://files.pythonhosted.org/packages/a0/a2/75f0b3d5e3896fed28aec130e3269a5025e184c0f8d97b4b85a23a32b9f5/meltano_dbt_ext-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19df3afb000b6a2b7d4ead3602548e4cbb04f1c5989aaaff74254d70c52e0e70",
"md5": "73eff0d92c57f7edb10b4404be255d26",
"sha256": "319dc0270ced9af3bc989fc592e3f532edc387e28b40d80ff9a221b96a0f2fb8"
},
"downloads": -1,
"filename": "meltano_dbt_ext-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "73eff0d92c57f7edb10b4404be255d26",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 13291,
"upload_time": "2024-11-04T23:47:47",
"upload_time_iso_8601": "2024-11-04T23:47:47.580686Z",
"url": "https://files.pythonhosted.org/packages/19/df/3afb000b6a2b7d4ead3602548e4cbb04f1c5989aaaff74254d70c52e0e70/meltano_dbt_ext-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-04 23:47:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "meltano",
"github_project": "dbt-ext",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "meltano-dbt-ext"
}