skillfed

pyexasol

Exasol python driver with extra features

pyexasol v2.3.1 5.4M downloads/30d#2,109 on PyPI81
Permissive license MIT Active released

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 pyexasol

uv

uv add pyexasol

poetry

poetry add pyexasol

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Database

Tags

exasol database driverpython sql connectorwebsocket database clientparallel data streamsexasol python apihigh performance database connectorbulk data transfer
database-connectorparallel-iodata-pipeline

More Database packages

psycopg2-binary

psycopg2-binary is a PostgreSQL database…

copyleft · top 1,000 on PyPI

redis

Python client library for connecting to and…

permissive · top 1,000 on PyPI

ydb

YDB Python SDK is the official client library…

permissive · top 1,000 on PyPI

snowflake-connector-python

Connects Python applications to Snowflake data…

permissive · top 1,000 on PyPI

sqlparse

sqlparse tokenizes SQL text into a tree of…

permissive · top 1,000 on PyPI

dbt-adapters

Provides base adapter protocols and shared…

permissive · top 1,000 on PyPI

sqlalchemy_exasol

SQLAlchemy dialect that enables Python…

permissive · top 15,000 on PyPI

dbt-exasol

dbt-exasol is a dbt adapter that enables data…

copyleft · top 5,000 on PyPI

apache-airflow-providers-exasol

Integrates Exasol database with Apache Airflow,…

permissive · top 15,000 on PyPI

bcpandas

Wraps SQL Server's BCP utility to transfer data…

permissive · top 15,000 on PyPI

connectorx

ConnectorX loads data from databases directly…

permissive · top 5,000 on PyPI

exasol-integration-test-docker-environment

Provides a CLI and Python API to start and…

permissive · top 15,000 on PyPI

pyodbc

pyodbc provides Python access to ODBC databases…

permissive · top 1,000 on PyPI

sqlalchemy-pytds

Provides a SQLAlchemy dialect for connecting to…

permissive · top 5,000 on PyPI

mssql-python

A Python driver for connecting to and querying…

unclear · top 5,000 on PyPI

hdbcli

A PEP 249-compliant Python database driver for…

unclear · top 5,000 on PyPI