Flagship · Arrow Flight SQL · OAuth/SSO

    The GizmoSQL ADBC driver

    A Go-powered native driver for GizmoSQL, over Apache Arrow Flight SQL. OAuth/SSO, automatic DDL/DML detection, and connection profiles — the same core across Python, Go, R, Rust, C#, C/C++, and JavaScript.

    $ pip install adbc-driver-gizmosql

    One core, every language

    A single Go-based native driver reaches Python, Go, R, Rust, C#, C/C++, and JavaScript — with a thin, drop-in-compatible Python wrapper on top.

    OAuth / SSO built in

    Authenticate through any OIDC provider (Google, Okta, Entra ID) against a GizmoSQL Enterprise server — every session maps to a named user.

    Automatic DDL/DML detection

    The driver routes statements correctly without you flagging query vs. update, so ORMs and tools just work over Arrow Flight SQL.

    One C API. Every language.

    The examples on this page are in Python, but ADBC exposes each driver as a C-compatible shared library — so the same native core works from Go, Rust, Java, C#, C/C++, JavaScript, and more. One driver, every stack.

    PythonGoRustJavaC#C / C++JavaScriptRRubyKotlin
    Learn more about Apache Arrow ADBC

    Get started

    Install the driver and connect to your GizmoSQL server — results stream back as Apache Arrow, ready for pandas, Polars, or DuckDB.

    1# pip install adbc-driver-gizmosql
    2import adbc_driver_gizmosql.dbapi as gizmosql
    3
    4with gizmosql.connect(
    5    "gizmosql://gizmosql.example.com:31337",   # TLS by default; ?transport=tcp for plaintext
    6    username="user",
    7    password="...",
    8) as conn, conn.cursor() as cur:
    9    cur.execute("SELECT * FROM sales ORDER BY amount DESC LIMIT 10")
    10    for row in cur.fetchall():
    11        print(row)

    Sign in with SSO, then load data

    Against a GizmoSQL Enterprise server the driver authenticates through your OIDC provider, and bulk ingest streams Arrow straight into a table.

    OAuth / SSO

    1# OAuth / SSO — authenticate through your OIDC provider (Enterprise)
    2import adbc_driver_gizmosql.dbapi as gizmosql
    3
    4# auth_type="external" runs the browser SSO flow against the GizmoSQL server
    5with gizmosql.connect(
    6    "gizmosql://gizmosql.example.com:31337",
    7    auth_type="external",
    8) as conn, conn.cursor() as cur:
    9    cur.execute("SELECT GIZMOSQL_USER()")   # the authenticated user
    10    print(cur.fetchone())

    Bulk ingest

    1# Automatic DDL/DML detection + bulk ingest — load Arrow straight into GizmoSQL
    2import pyarrow as pa
    3import adbc_driver_gizmosql.dbapi as gizmosql
    4
    5table = pa.table({"id": [1, 2, 3], "name": ["alice", "bob", "carol"]})
    6with gizmosql.connect(uri, username="token", password=token) as conn, conn.cursor() as cur:
    7    cur.adbc_ingest(table_name="customers", data=table, mode="create_append")
    8    conn.commit()

    GizmoSQL ADBC driver — FAQ

    What database does the GizmoSQL ADBC driver connect to?

    GizmoSQL — the open-source Apache Arrow Flight SQL server powered by DuckDB. It streams results as Arrow record batches over gRPC, and adds GizmoSQL-specific capabilities like OAuth/SSO and automatic DDL/DML detection.

    Is it compatible with the old Python driver?

    Yes. Version 2.x is a Go-based rewrite with a thin Python wrapper, and the PyPI package name (adbc-driver-gizmosql) and API are byte-compatible with 1.x — upgrading is a one-line pip command.

    What languages can I use it from?

    The native Go core is exposed as an ADBC c-shared library, usable from Python, Go, R, Rust, C#, C/C++, and JavaScript. The Python package is the most common entry point.

    Does it support connection profiles?

    Yes — reusable TOML profiles bundle your server URI and options with environment-variable substitution, so credentials stay out of your code and you switch environments by changing one profile name.

    Is it free?

    Yes, the driver is open source. GizmoSQL Core (the server) is Apache-2.0 and free; Enterprise adds SSO/OAuth, permissions, and instrumentation at $300/vCPU/year.

    Ready to move your data?

    Install GizmoSQL Core for free, pip-install the GizmoSQL driver, and stream your first table in minutes.