Name | dbt-ydb JSON |
Version |
0.0.4
JSON |
| download |
home_page | None |
Summary | DBT adapter for YDB |
upload_time | 2025-08-06 14:37:21 |
maintainer | None |
docs_url | None |
author | Yandex LLC |
requires_python | <4.0,>=3.10 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p align="center">
<img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="500"/>
</p>
# dbt-ydb
**dbt-ydb** is a plugin for [dbt](https://www.getdbt.com/) that provides support for working with [YDB](https://ydb.tech).
## Installation
To install plugin, execute the following command:
```bash
pip install dbt-ydb
```
## Supported features
- [x] Table materialization
- [x] View materialization
- [x] Seeds
- [x] Docs generate
- [x] Tests
- [ ] Incremental materializations
- [ ] Snapshots
## Limitations
* `YDB` does not support CTE
* `YDB` requires a primary key to be specified for its tables. See the configuration section for instructions on how to set it.
## Usage
### Profile Configuration
To configure YDB connection, fill `profile.yml` file as below:
```
profile_name:
target: dev
outputs:
dev:
type: ydb
host: [localhost] # YDB host
port: [2136] # YDB port
database: [/local] # YDB database
schema: [<empty string>] # Optional subfolder for DBT models
secure: [False] # If enabled, grpcs protocol will be used
root_certificates_path: [<empty string>] # Optional path to root certificates file
# Static Credentials
username: [<empty string>]
password: [<empty string>]
# Access Token Credentials
token: [<empty string>]
# Service Account Credentials
service_account_credentials_file: [<empty string>]
```
### Model Configuration
#### View
| Option | Description | Required | Default |
| ------ | ----------- | -------- | ------- |
#### Table
| Option | Description | Required | Default |
| ------ | ----------- | -------- | ------- |
| `primary_key` | Primary key expression to use during table creation | `yes` | |
| `store_type` | Type of table. Available options are `row` and `column` | `no` | `row` |
| `auto_partitioning_by_size` | Enable automatic partitioning by size. Available options are `ENABLED` and `DISABLED` | `no` | |
| `auto_partitioning_partition_size_mb` | Partition size in megabytes for automatic partitioning | `no` | |
| `ttl` | Time-to-live (TTL) expression for automatic data expiration | `no` | |
##### Example table configuration
```sql
{{ config(
primary_key='id, created_at',
store_type='column',
auto_partitioning_by_size='ENABLED',
auto_partitioning_partition_size_mb=256,
ttl='Interval("P30D") on created_at'
) }}
select
id,
name,
created_at
from {{ ref('source_table') }}
```
#### Seed
| Option | Description | Required | Default |
| ------ | ----------- | -------- | ------- |
| `primary_key` | Primary key expression to use during table creation | `no` | The first column of CSV will be used as default. |
Raw data
{
"_id": null,
"home_page": null,
"name": "dbt-ydb",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Yandex LLC",
"author_email": "ydb@yandex-team.ru",
"download_url": "https://files.pythonhosted.org/packages/a1/35/5a387a08e24df0021a56d6349d392d16f675908bb2f86b21f57b030420be/dbt_ydb-0.0.4.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg\" alt=\"dbt logo\" width=\"500\"/>\n</p>\n\n# dbt-ydb\n\n**dbt-ydb** is a plugin for [dbt](https://www.getdbt.com/) that provides support for working with [YDB](https://ydb.tech).\n\n## Installation\n\nTo install plugin, execute the following command:\n\n```bash\npip install dbt-ydb\n```\n\n## Supported features\n\n- [x] Table materialization\n- [x] View materialization\n- [x] Seeds\n- [x] Docs generate\n- [x] Tests\n- [ ] Incremental materializations\n- [ ] Snapshots\n\n## Limitations\n\n* `YDB` does not support CTE\n* `YDB` requires a primary key to be specified for its tables. See the configuration section for instructions on how to set it.\n\n## Usage\n\n### Profile Configuration\n\nTo configure YDB connection, fill `profile.yml` file as below:\n\n```\nprofile_name:\n target: dev\n outputs:\n dev:\n type: ydb\n host: [localhost] # YDB host\n port: [2136] # YDB port\n database: [/local] # YDB database\n schema: [<empty string>] # Optional subfolder for DBT models\n secure: [False] # If enabled, grpcs protocol will be used\n root_certificates_path: [<empty string>] # Optional path to root certificates file\n\n # Static Credentials\n username: [<empty string>]\n password: [<empty string>]\n\n # Access Token Credentials\n token: [<empty string>]\n\n # Service Account Credentials\n service_account_credentials_file: [<empty string>]\n```\n\n### Model Configuration\n\n#### View\n\n| Option | Description | Required | Default |\n| ------ | ----------- | -------- | ------- |\n\n#### Table\n\n| Option | Description | Required | Default |\n| ------ | ----------- | -------- | ------- |\n| `primary_key` | Primary key expression to use during table creation | `yes` | |\n| `store_type` | Type of table. Available options are `row` and `column` | `no` | `row` |\n| `auto_partitioning_by_size` | Enable automatic partitioning by size. Available options are `ENABLED` and `DISABLED` | `no` | |\n| `auto_partitioning_partition_size_mb` | Partition size in megabytes for automatic partitioning | `no` | |\n| `ttl` | Time-to-live (TTL) expression for automatic data expiration | `no` | |\n\n##### Example table configuration\n\n```sql\n{{ config(\n primary_key='id, created_at',\n store_type='column',\n auto_partitioning_by_size='ENABLED',\n auto_partitioning_partition_size_mb=256,\n ttl='Interval(\"P30D\") on created_at'\n) }}\n\nselect\n id,\n name,\n created_at\nfrom {{ ref('source_table') }}\n```\n\n#### Seed\n\n| Option | Description | Required | Default |\n| ------ | ----------- | -------- | ------- |\n| `primary_key` | Primary key expression to use during table creation | `no` | The first column of CSV will be used as default. |\n\n",
"bugtrack_url": null,
"license": null,
"summary": "DBT adapter for YDB",
"version": "0.0.4",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e327ce19b3797e8701b7f1bd38a6606fb75ab13b18bcd2b3ee1d25012bc461f",
"md5": "af3d05e0fdd801bc9c4851b7fcdea21a",
"sha256": "0386a97e2abb772ca4a0cecf4024a1dbd7012881ca6cdafa97ca6d8a8fc90312"
},
"downloads": -1,
"filename": "dbt_ydb-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "af3d05e0fdd801bc9c4851b7fcdea21a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 18622,
"upload_time": "2025-08-06T14:37:21",
"upload_time_iso_8601": "2025-08-06T14:37:21.015833Z",
"url": "https://files.pythonhosted.org/packages/3e/32/7ce19b3797e8701b7f1bd38a6606fb75ab13b18bcd2b3ee1d25012bc461f/dbt_ydb-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a1355a387a08e24df0021a56d6349d392d16f675908bb2f86b21f57b030420be",
"md5": "bb0730560cba0e2cdd740ca27a4782bf",
"sha256": "86268551328b009282f81332a639931d0d4287bb841c19987611cbed393ec78f"
},
"downloads": -1,
"filename": "dbt_ydb-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "bb0730560cba0e2cdd740ca27a4782bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 14178,
"upload_time": "2025-08-06T14:37:21",
"upload_time_iso_8601": "2025-08-06T14:37:21.946282Z",
"url": "https://files.pythonhosted.org/packages/a1/35/5a387a08e24df0021a56d6349d392d16f675908bb2f86b21f57b030420be/dbt_ydb-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-06 14:37:21",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dbt-ydb"
}