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¶
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¶
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¶
BigQuery¶
Redshift¶
SQL Server¶
Databricks¶
Microsoft 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¶
MongoDB¶
data = connect("mongodb://localhost:27017/mydb", table="orders")
data = connect("mongodb+srv://user:pass@cluster.mongodb.net/mydb", table="orders")
Kafka¶
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¶
This installs drivers for all supported databases.