Skip to content

Database Connectors

Connect to PostgreSQL, MySQL, SQLite, Snowflake, BigQuery, and more.

Quick Start

from duckguard import connect

# PostgreSQL
data = connect("postgres://user:pass@host:5432/mydb", table="orders")

# MySQL
data = connect("mysql://user:pass@host:3306/mydb", table="users")

# SQLite
data = connect("sqlite:///local.db", table="events")
data = connect("local.db", table="events")  # .db extension auto-detected

PostgreSQL

pip install 'duckguard[postgres]'
data = connect(
    "postgres://user:password@localhost:5432/mydb",
    table="orders",
    schema="public"
)

assert data.row_count > 0
assert data.order_id.null_percent == 0

MySQL

pip install 'duckguard[mysql]'
data = connect(
    "mysql://user:password@localhost:3306/mydb",
    table="users"
)

SQLite

No extra dependencies needed — SQLite is built-in:

data = connect("sqlite:///path/to/database.db", table="events")

# Auto-detected by file extension
data = connect("database.db", table="events")
data = connect("database.sqlite", table="events")
data = connect("database.sqlite3", table="events")

Snowflake

pip install 'duckguard[snowflake]'
data = connect(
    "snowflake://account/database",
    table="orders",
    schema="public"
)

BigQuery

pip install 'duckguard[bigquery]'
data = connect(
    "bigquery://project-id",
    table="orders",
    schema="dataset_name"
)

Redshift

pip install 'duckguard[postgres]'
data = connect(
    "redshift://cluster.redshift.amazonaws.com:5439/mydb",
    table="orders"
)

SQL Server

pip install 'duckguard[sqlserver]'
data = connect(
    "mssql://user:pass@host:1433/mydb",
    table="orders"
)

Databricks

pip install 'duckguard[databricks]'
data = connect(
    "databricks://workspace.databricks.com",
    table="orders"
)

Microsoft Fabric

pip install 'duckguard[fabric]'
# OneLake (Parquet/Delta in Lakehouse)
data = connect(
    "fabric://workspace/lakehouse/Tables/orders",
    token="eyJ..."
)

# SQL endpoint
data = connect(
    "fabric+sql://workspace-guid.datawarehouse.fabric.microsoft.com",
    table="orders",
    database="my_lakehouse",
    token="eyJ..."
)

Oracle

pip install 'duckguard[oracle]'
data = connect("oracle://user:pass@host:1521/mydb", table="orders")

MongoDB

pip install 'duckguard[mongodb]'
data = connect("mongodb://localhost:27017/mydb", table="orders")
data = connect("mongodb+srv://user:pass@cluster.mongodb.net/mydb", table="orders")

Kafka

pip install 'duckguard[kafka]'
data = connect("kafka://localhost:9092", table="orders-topic")

Common Parameters

All database connectors support:

Parameter Description
table Table name (required)
schema Schema/namespace
database Database name
data = connect(
    "postgres://localhost/mydb",
    table="orders",
    schema="analytics",
    database="warehouse"
)

Install All

pip install 'duckguard[all]'

This installs drivers for all supported databases.