pyexasol
Exasol python driver with extra features
What it is and what it does
PyExasol is the officially maintained Python driver for Exasol databases, built on the WebSocket protocol to minimize overhead and maximize throughput. It handles large data volumes efficiently and integrates with data processing tools via HTTP transport. The package's core strength is its support for parallel data streams across separate processes, allowing you to move beyond single-core limitations and achieve linear scalability by fully utilizing available hardware.
The connector compresses data to reduce network bottleneck and provides an API for reading and writing multiple streams in parallel. It requires Python >= 3.10 and Exasol >= 7.1, and depends on cryptography, packaging, and websocket-client for its core functionality. The project is actively maintained by Exasol and marked as Production/Stable.
Use it for:
- Bulk data import and transfer from Exasol into Python data processing workflows.
- High-throughput ETL pipelines that need to move large datasets between Exasol and Python tools.
- Multi-process data loading to fully utilize multi-core systems and achieve linear performance scaling.
- Integration of Exasol queries into data science workflows.
- Replacing ODBC-based connectors when single-process performance becomes a bottleneck.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyExasol is the official Python connector for Exasol databases, optimized for high-throughput data transfer using WebSocket protocol and supporting parallel data streams for multi-core scalability.
Yes. PyExasol is the official, actively maintained connector for Exasol with low install friction, no known vulnerabilities, and a permissive MIT license. It is production-stable and designed specifically for high-performance parallel data transfer. Install it if you work with Exasol and need Python connectivity; the parallel-stream architecture makes it the natural choice over generic ODBC drivers for this DBMS.
Install
pyexasol on PyPI
pip
pip install pyexasoluv
uv add pyexasolpoetry
poetry add pyexasolInstalling pyexasol
Before you install
Low install friction with a pure-wheel distribution. Actively maintained by Exasol with a recent release (9 days old) and consistent commit activity. Requires Python >= 3.10 and Exasol >= 7.1.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for commercial and open-source projects alike.
Quickstart
pip install pyexasol
import pyexasol
conn = pyexasol.connect(dsn='host:port', user='user', password='pass')
result = conn.execute('SELECT * FROM table')
for row in result:
print(row)
Requires Exasol >= 7.1 and Python >= 3.10; an Exasol database instance must be accessible at the specified host:port.
Verify before relying
- Actual performance improvement magnitude over ODBC in typical workloads remains unquantified.
- Specific scalability characteristics and hardware utilization patterns with parallel streams are not detailed.
- Whether compression is automatic or requires explicit configuration.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — cryptography, packaging, websocket-client |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 5,404,276/month — #2,109 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyexasol-2.3.1-py3-none-any.whl
Keywords: exasol, sql, database, performance, websocket, import, export
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
sqlalchemy_exasolSQLAlchemy dialect that enables Python…
permissive · top 15,000 on PyPI
dbt-exasoldbt-exasol is a dbt adapter that enables data…
copyleft · top 5,000 on PyPI
apache-airflow-providers-exasolIntegrates Exasol database with Apache Airflow,…
permissive · top 15,000 on PyPI
bcpandasWraps SQL Server's BCP utility to transfer data…
permissive · top 15,000 on PyPI
connectorxConnectorX loads data from databases directly…
permissive · top 5,000 on PyPI
exasol-integration-test-docker-environmentProvides a CLI and Python API to start and…
permissive · top 15,000 on PyPI
pyodbcpyodbc provides Python access to ODBC databases…
permissive · top 1,000 on PyPI
sqlalchemy-pytdsProvides a SQLAlchemy dialect for connecting to…
permissive · top 5,000 on PyPI
mssql-pythonA Python driver for connecting to and querying…
unclear · top 5,000 on PyPI
hdbcliA PEP 249-compliant Python database driver for…
unclear · top 5,000 on PyPI