Skip to content

gizmodata/dbt-gizmosql

Repository files navigation

dbt-gizmosql

An dbt adapter for GizmoSQL

dbt-gizmosql-ci Supported Python Versions PyPI version PyPI Downloads

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

dbt is the T in ELT. Organize, cleanse, denormalize, filter, rename, and pre-aggregate the raw data in your warehouse so that it's ready for analysis.

GizmoSQL

GizmoSQL is an Apache Arrow Flight-based SQL engine for data warehouses. It is designed to be fast, scalable, and easy to use.

It has DuckDB and SQLite back-ends. You can see more information about GizmoSQL here.

Installation

Option 1 - from PyPi

# Create the virtual environment
python3 -m venv .venv

# Activate the virtual environment
. .venv/bin/activate

pip install --upgrade pip

python -m pip install dbt-core dbt-gizmosql

Option 2 - from source - for development of the adapter

git clone https://github.com/gizmodata/dbt-gizmosql

cd dbt-gizmosql

# Create the virtual environment
python3 -m venv .venv

# Activate the virtual environment
. .venv/bin/activate

# Upgrade pip, setuptools, and wheel
pip install --upgrade pip setuptools wheel

# Install the dbt GizmoSQL adapter - in editable mode with dev dependencies
pip install --editable .[dev]

Usage of the dbt GizmoSQL adapter

Option 1: dbt init

You can setup the adapter by running dbt init - and choosing values that the wizard prompts you for.

Then you can run by going into the directory for the project you just created:

dbt run

Option 2: Setup dbt.profiles.yml

Add something like the following to your ~/.dbt.profiles.yml file (change the values to match your environment):

my-gizmosql-db:
  target: dev
  outputs:
    dev:
      type: gizmosql
      host: localhost
      port: 31337
      user: [username]
      password: [password]
      use_encryption: True
      tls_skip_verify: True
      threads: 2

** Note **

Adapter Scaffold default Versioning

This adapter plugin follows semantic versioning. The first version of this plugin is v1.10.0, in order to be compatible with dbt Core v1.10.0.

It's also brand new! For GizmoSQL-specific functionality, we will aim for backwards-compatibility wherever possible. We are likely to be iterating more quickly than most major-version-1 software projects. To that end, backwards-incompatible changes will be clearly communicated and limited to minor versions (once every three months).

Join the dbt Community

Reporting bugs and contributing code

Code of Conduct

Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the dbt Code of Conduct.

About

A dbt adapter for GizmoSQL - with the DuckDB engine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages