firebolt-sdk

A Python DB-API 2.0 client for the Firebolt cloud data warehouse.

SDK
PyPI
v1.18.6
16stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
48/100Fair
Development Activity52
Maintenance48
Community24
Maturity56
Momentum12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
77/100Good
Architecture80
Code Quality82
Innovation72
Learning Curve75

firebolt-sdk is the official Python client for the Firebolt cloud data warehouse. It implements the PEP 249 DB-API 2.0 interface, giving you familiar connection and cursor objects to authenticate, run SQL, and fetch results from Firebolt engines and databases. Both synchronous and async execution are supported.

Beyond querying, the SDK provides a management layer for programmatically controlling Firebolt resources such as engines and databases, making it suitable for both application data access and infrastructure automation.

What You Get

  • A DB-API 2.0 (PEP 249) connection and cursor interface for Firebolt
  • Credential-based authentication using account name, client id, and client secret
  • Synchronous and asynchronous query execution
  • A management API for programmatically controlling engines and databases
  • Example notebooks demonstrating the DB-API workflow

Common Use Cases

  • Running analytical SQL against Firebolt from Python applications and ETL jobs
  • Integrating Firebolt into data tools that expect a DB-API 2.0 driver
  • Automating Firebolt engine and database provisioning via the management API

Under The Hood

Architecture

The SDK is structured under a src/ layout separating the DB-API client from the management client. The client module implements Connection and Cursor per PEP 249, delegating HTTP transport to httpx and handling authentication token lifecycle, engine URL resolution, and result parsing. A parallel async implementation mirrors the sync API, while a service/management layer wraps Firebolt’s REST endpoints as typed resource objects for engines and databases.

Tech Stack

Python (>=3.8) packaged with pyproject.toml and setup.cfg. It relies on httpx for synchronous and asynchronous HTTP, along with authentication and token-caching utilities. Testing spans unit and integration suites under tests/, code quality is tracked with SonarCloud (sonar-project.properties), and the docs are built from docsrc with compiled output committed for the reference site.

Code Quality

The codebase shows strong engineering practices: an src/ layout, extensive CI workflows (unit, integration, nightly, security scans, code checks) visible in the README badges, and coverage tracking. Tests are split into unit and integration directories, the public surface is typed, and thread-safety expectations (DB-API thread safety level 2) are documented explicitly.

API Design

The developer experience follows DB-API conventions closely, so anyone familiar with sqlite3 or psycopg will feel at home: connect(), cursor(), execute(), fetchall(). Connection parameters are clearly documented, example notebooks illustrate real usage, and the parallel async API keeps naming consistent, though some Firebolt-specific SET-parameter caveats require reading the docs.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search