sqlalchemy-drill
Apache Drill for SQLAlchemy
Decision gist · record as of 2026-08-14
Yes, with conditions. Install this if you need SQLAlchemy integration with Apache Drill and accept that the package is aging with limited recent maintenance activity. The MIT license and low install friction are favorable. Verify that your Drill version and intended connection mode are compatible with the package's current state before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- For JDBC connections, requires manual JVM startup and environment variables DRILL_JDBC_DRIVER_PATH and DRILL_JDBC_JAR_NAME to be set.
- For ODBC, requires system ODBC driver installation.
- Low install friction with three runtime dependencies: requests, ijson, and sqlalchemy.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, making this suitable for most deployment contexts.
last release 2026-02-05 (190 days) · last repo commit 2026-02-05 · 54 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,135,148 downloads/mo, #2,733 on PyPI
Alternatives
Verify before relying
pip install sqlalchemy-drill
from sqlalchemy import create_engine
engine = create_engine('drill+sadrill://localhost:8047/dfs?use_ssl=False')
result = engine.execute('select current_timestamp')- Whether JDBC and ODBC connection modes work reliably in production beyond Superset.
- Current compatibility with Drill versions released after the last update.
- Support status for Python versions beyond 3.9 listed in classifiers.
What it is and what it does
sqlalchemy-drill provides a SQLAlchemy dialect that bridges Python applications to Apache Drill, a distributed SQL query engine. It abstracts Drill's native connection protocols (REST, JDBC, ODBC) into SQLAlchemy's standard database interface, allowing you to execute queries and retrieve results as if Drill were any other SQL database. The package was originally built to support Apache Superset's data visualization capabilities but works as a general-purpose Drill connector.
The dialect handles protocol-specific details: REST connections stream results over HTTP with optional SSL, JDBC requires manual JVM startup and environment variables pointing to driver files, and ODBC uses system-level driver configuration. For Drill versions 1.19 and later, the dialect returns properly typed results; earlier versions return all data as strings requiring manual type conversion. Query result metadata is accessible via the cursor's result_md field.
Use it for
- Connect Apache Superset to Drill for interactive data visualization and dashboard creation.
- Execute ad-hoc SQL queries against Drill from Python applications using standard SQLAlchemy patterns.
- Build ETL pipelines that read from Drill storage plugins and transform results in Python.
- Integrate Drill as a data source in Python analytics tools that expect SQLAlchemy dialects.
- Query distributed datasets stored in Drill's supported formats without writing native Drill syntax.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install this if you need SQLAlchemy integration with Apache Drill and accept that the package is aging with limited recent maintenance activity. The MIT license and low install friction are favorable. Verify that your Drill version and intended connection mode are compatible with the package's current state before committing to production use.
Install
sqlalchemy-drill on PyPI
Before you install
Low install friction with three runtime dependencies: requests, ijson, and sqlalchemy. Maintenance status is aging—last release was 190 days ago, though the repository remains active and unarchived.
For JDBC connections, requires manual JVM startup and environment variables DRILL_JDBC_DRIVER_PATH and DRILL_JDBC_JAR_NAME to be set. For ODBC, requires system ODBC driver installation.
License in practice
MIT license permits commercial and private use with minimal restrictions, making this suitable for most deployment contexts.
Quickstart
pip install sqlalchemy-drill
from sqlalchemy import create_engine
engine = create_engine('drill+sadrill://localhost:8047/dfs?use_ssl=False')
result = engine.execute('select current_timestamp')
Verify before relying
- Whether JDBC and ODBC connection modes work reliably in production beyond Superset.
- Current compatibility with Drill versions released after the last update.
- Support status for Python versions beyond 3.9 listed in classifiers.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesrequestsijsonsqlalchemy |
| Maintenance | Aging 190 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,135,148 / month, #2,733 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Database :: Front-Ends |
Evidence: sqlalchemy_drill-1.1.10-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “sqlalchemy drill connector”
- sqlalchemy-drillSQLAlchemy dialect for Apache Drill that enables SQL queries against…
- apache-airflow-providers-apache-drillProvides Apache Airflow integration for Apache Drill, enabling…
- sqlalchemy-databricksProvides a SQLAlchemy dialect that connects to Databricks workspaces…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also sqlalchemy-jdbcapi · sqlalchemy-solr · sqlalchemy-dremio · teradatasqlalchemy · sqlalchemy-ibmi · apache-airflow-providers-apache-drill · apache-superset · kylinpy · sqlalchemy-vertica · sqlalchemy-databricks