GizmoSQL engine adapter for SQLMesh
Project description
SQLMesh GizmoSQL Adapter
A SQLMesh engine adapter for GizmoSQL - a database server that uses DuckDB as its execution engine and exposes an Arrow Flight SQL interface for remote connections.
Installation
pip install sqlmesh-gizmosql
This will install sqlmesh, adbc-driver-flightsql, and pyarrow as dependencies.
Usage
1. Import the adapter
Simply import the package before using SQLMesh. The adapter registers itself automatically:
import sqlmesh_gizmosql # Registers GizmoSQL adapter
from sqlmesh import Context
context = Context(paths="path/to/project")
2. Configure your connection
Add a GizmoSQL connection to your config.yaml:
gateways:
my_gizmosql:
connection:
type: gizmosql
host: localhost
port: 31337
username: your_username
password: your_password
database: my_database # optional, default catalog
use_encryption: true # default: true (uses TLS)
disable_certificate_verification: false # for self-signed certs
3. Use SQLMesh as normal
sqlmesh plan
sqlmesh run
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
host |
str | localhost |
GizmoSQL server hostname |
port |
int | 31337 |
GizmoSQL server port |
username |
str | required | Authentication username |
password |
str | required | Authentication password |
database |
str | None |
Default database/catalog |
use_encryption |
bool | True |
Use TLS encryption |
disable_certificate_verification |
bool | False |
Skip TLS cert verification |
concurrent_tasks |
int | 4 |
Max concurrent tasks |
register_comments |
bool | True |
Register model comments |
pre_ping |
bool | False |
Pre-ping connections |
Features
- Arrow Flight SQL: Efficient data transfer using Arrow's columnar format
- Full Catalog Support: Create, drop, and switch between databases
- Transaction Support: Full transaction control via SQL statements
- ADBC Bulk Ingestion: Fast data loading using Arrow-native bulk operations
- DuckDB Compatibility: Uses DuckDB SQL dialect for query generation
Requirements
- Python >= 3.10
- SQLMesh >= 0.100.0
- A running GizmoSQL server with DuckDB backend
Development
# Clone the repository
git clone https://github.com/gizmodata/sqlmesh-gizmosql.git
cd sqlmesh-gizmosql
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
ruff check .
mypy sqlmesh_gizmosql
License
Apache 2.0
Project details
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 sqlmesh_gizmosql-0.1.4.tar.gz.
File metadata
- Download URL: sqlmesh_gizmosql-0.1.4.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a41cb2456fc3aae4bbaa22ca2d80b81962c6e7a9939ede4866b71a6b2def7b7
|
|
| MD5 |
deaec1950811f59a7056bc371be67a9e
|
|
| BLAKE2b-256 |
2930e5ee27fc561f41041ccd39bf7f8f16a29e6c1b0d4dc75c0315c43f11bbb5
|
Provenance
The following attestation bundles were made for sqlmesh_gizmosql-0.1.4.tar.gz:
Publisher:
ci.yml on gizmodata/sqlmesh-gizmosql
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmesh_gizmosql-0.1.4.tar.gz -
Subject digest:
8a41cb2456fc3aae4bbaa22ca2d80b81962c6e7a9939ede4866b71a6b2def7b7 - Sigstore transparency entry: 844807156
- Sigstore integration time:
-
Permalink:
gizmodata/sqlmesh-gizmosql@390fbf2b9266543992973f1fbc556bdfb20b18d7 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/gizmodata
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@390fbf2b9266543992973f1fbc556bdfb20b18d7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sqlmesh_gizmosql-0.1.4-py3-none-any.whl.
File metadata
- Download URL: sqlmesh_gizmosql-0.1.4-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7bb2639ddc6a1e451afea1cc13156e437d1fb8e2ce1180983e778ff51140eb3
|
|
| MD5 |
6e4c5082a9179e94d93fdb8943fd24c2
|
|
| BLAKE2b-256 |
cecbc75bdaa6771999f7752adb53fca63fee3b26998a9e819efe7f71bc8af717
|
Provenance
The following attestation bundles were made for sqlmesh_gizmosql-0.1.4-py3-none-any.whl:
Publisher:
ci.yml on gizmodata/sqlmesh-gizmosql
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmesh_gizmosql-0.1.4-py3-none-any.whl -
Subject digest:
b7bb2639ddc6a1e451afea1cc13156e437d1fb8e2ce1180983e778ff51140eb3 - Sigstore transparency entry: 844807159
- Sigstore integration time:
-
Permalink:
gizmodata/sqlmesh-gizmosql@390fbf2b9266543992973f1fbc556bdfb20b18d7 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/gizmodata
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@390fbf2b9266543992973f1fbc556bdfb20b18d7 -
Trigger Event:
push
-
Statement type: