This release is a pre-release and may not be stable for production use.
SAS DBT adapter
The dbt-sas package allows dbt to connect to SAS.
Installation
pip install dbt-sas
Configurations
Basic profile.yml for connecting to SAS:
sas-test:
outputs:
dev:
type: sas
host: SAS host
port: 8591
database: sas (keep 'sas', don't change)
schema: default libray name
user: SAS username
password: SAS password
autoexec: optional local path of autoexec.sas file
lib_base_path: optional path (on the SAS server) for new libraries
threads: 1
fail_on_warnings: False
lib_name_strict_mode: False
target: dev
| Key | Required | Description |
|---|---|---|
type |
Yes | The specific adapter to use (sas) |
host |
Yes | SAS server hostname |
port |
Yes | SAS server port |
database |
Yes | sas, don't change |
schema |
Yes | Default SAS libname |
username |
Yes | The username to use to connect to the server |
password |
Yes | The password to use for authenticating to the server |
handler |
Yes | SAS handler ws (default) or saspy |
autoexec |
No | Local path of autoexec.sas file |
lib_base_path |
No | Base path on the SAS server for new libraries |
fail_on_warnings |
No | Raise and error if it encounters a warning |
lib_name_strict_mode |
No | Enable strict libname/identifier check |
Features
| Key | Supported | Description |
|---|---|---|
| Tests | Yes | Run dbt tests on SAS |
| Load seed files | Yes | Load seeds from CSV files to SAS |
| View Materialization | Yes | Materialize dbt models as views in SAS |
| Table Materialization | Yes | Materialize dbt models as tables in SAS |
| Ephemeral Materialization | Partial | Materialize dbt ephemeral tables as temporary views in SAS |
| Incremental Materialization | No | |
| Snapshots | No | |
| Grants | No | SQL grants are not supported by SAS |
Limitations
- Schemas (lib names) are limited to 8 characters.
- Table names, column names, and aliases are limited to 32 characters.
Usage
- Create dbt project, choose sas database and set up connection
$ dbt init <project_name>
Query Logging
Enable additional logging by setting the DBT_SAS_LOG environment variable to the log filename, e.g.:
export DBT_SAS_LOG='file.log'
Select the log families, e.g.:
export DBT_SAS_FAMILY='sas,sql'
Log families are:
- sas
- sql
- original_sql
Adapter Testing
- Install dev requirements
$ pip install -r dev_requirements.txt
- Run pytest
$ python -m pytest tests/
Licence
Apache License, Version 2.0
Links
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dbt-sas-1.3.0a17.tar.gz.
File metadata
- Download URL: dbt-sas-1.3.0a17.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4692d52162e2f8f7a5a22c22519cbaabeb2a4205511e1f8543aad98d8fe96584
|
|
| MD5 |
fdcef7940f9d6c5f6e19e4f585b714ad
|
|
| BLAKE2b-256 |
740398d16f106a418cc61461791acb5eb2e8fd83a5689cc57145319761f45984
|
File details
Details for the file dbt_sas-1.3.0a17-py2.py3-none-any.whl.
File metadata
- Download URL: dbt_sas-1.3.0a17-py2.py3-none-any.whl
- Upload date:
- Size: 40.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8347e13f85280cb778c361429363b35b8fd157a5c328459092bcf33d17ca7629
|
|
| MD5 |
3f26afdceb521b6d6e31f72c4ae7769a
|
|
| BLAKE2b-256 |
82bdb20bdb0b9c0c5ee3caee15067e1b6513f1988b6dcbd23c94abd2b77ed337
|