PyExasol

Official low-overhead Python driver for the Exasol database with fast HTTP transport.

Library
PyPI
v2.3.1
81stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
61/100Good
Development Activity72
Maintenance52
Community48
Maturity60
Momentum12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
78/100Good
Architecture82
Code Quality80
Innovation76
Learning Curve74

PyExasol is the officially supported Python connector for the Exasol analytical database. Built on Exasol’s WebSocket protocol, it is optimized for minimum overhead and is designed to handle the massive data volumes typical of the DBMS, offering significant performance gains over ODBC in single-process scenarios.

Its standout capability is parallel HTTP transport: PyExasol can read and write multiple data streams across separate processes, allowing full utilization of hardware and linear scalability beyond a single CPU core. It integrates cleanly with pandas, parquet, and polars for high-throughput data movement.

What You Get

  • A low-overhead Python connector built on Exasol’s WebSocket protocol
  • Parallel HTTP transport for reading and writing data across processes
  • Direct integration with pandas, polars, and parquet
  • Utilities for import/export, SQL formatting, and connection metadata

Common Use Cases

  • Loading and exporting large datasets between Exasol and pandas or polars
  • Running high-throughput ETL against Exasol from Python
  • Executing SQL with minimal overhead in performance-sensitive pipelines

Under The Hood

Architecture - The core connection.py establishes a WebSocket session and dispatches statement.py queries, while http_transport.py implements the parallel import/export mechanism that spawns separate processes to stream CSV/data through Exasol’s HTTP transport; mapper.py, formatter.py, and ext.py handle type conversion, SQL formatting, and pandas/polars helpers. Tech Stack - Pure Python built on a WebSocket client with optional pandas/polars/parquet dependencies; managed with Poetry and nox, documented via a generated site. Code Quality - The repository maintains unit, integration, and performance test suites under test/, ships py.typed, and is actively maintained under the official Exasol organization with CI on every merge. API Design - The connection API is concise — pyexasol.connect(...) then execute, export_to_pandas, import_from_pandas — and the parallel transport is exposed through clear helper methods, giving strong ergonomics for data-heavy work at the cost of understanding the process-based transport model for advanced use.

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