Exasol python driver with extra features
Project description
Pyexasol
PyEXASOL is the officially supported Python connector for Exasol. It helps to handle massive volumes of data commonly associated with this DBMS.
You may expect significant performance improvement over ODBC in a single process scenario involving pandas.
PyEXASOL provides API to read & write multiple data streams in parallel using separate processes, which is necessary to fully utilize hardware and achieve linear scalability. With PyEXASOL you are no longer limited to a single CPU core.
Quick links
- Getting started
- Reference
- Examples
- Best practices
- Local config (.ini file)
- SQL formatting
- HTTP Transport
- HTTP Transport (multiprocessing)
- Parallelism
- SSL encryption
- WebSocket protocol versions
- Performance tests
- UDF scripts output
- DB-API 2.0 compatibility
- Optional dependencies
- Changelog
- Developer Guide
PyEXASOL main concepts
- Based on WebSocket protocol;
- Optimized for minimum overhead;
- Easy integration with pandas via HTTP transport;
- Compression to reduce network bottleneck;
System requirements
- Exasol >= 7.1
- Python >= 3.9
Getting started
Install PyEXASOL:
pip install pyexasol[pandas]
Run basic query:
import pyexasol
C = pyexasol.connect(dsn='<host:port>', user='sys', password='exasol')
stmt = C.execute("SELECT * FROM EXA_ALL_USERS")
for row in stmt:
print(row)
Load data into pandas.DataFrame
:
import pyexasol
C = pyexasol.connect(dsn='<host:port>', user='sys', password='exasol', compression=True)
df = C.export_to_pandas("SELECT * FROM EXA_ALL_USERS")
print(df.head())
You may set up local config to store your personal Exasol credentials and connection options:
import pyexasol
C = pyexasol.connect_local_config('my_config')
stmt = C.execute("SELECT CURRENT_TIMESTAMP")
print(stmt.fetchone())
Connect to Exasol SAAS using OpenID token for authentication:
import pyexasol
C = pyexasol.connect(dsn='<host:port>', user='sys', refresh_token='<token>')
stmt = C.execute("SELECT * FROM EXA_ALL_USERS")
for row in stmt:
print(row)
Created by
Vitaly Markov, 2018 — 2022
Enjoy!
Maintained by
Exasol 2023 — Today
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyexasol-0.27.0.tar.gz
.
File metadata
- Download URL: pyexasol-0.27.0.tar.gz
- Upload date:
- Size: 49.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.6-200.fc40.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 795490cd810617bf927e0e90b88347facb5e66f58e0e16378fef5d22fadacd60 |
|
MD5 | cbddc6a12588aa58ec6d40e244357dce |
|
BLAKE2b-256 | 98e6bcfab874cc0468996d98b10d17200ad8f4064819b8090f1ef084d61c994c |
Provenance
File details
Details for the file pyexasol-0.27.0-py3-none-any.whl
.
File metadata
- Download URL: pyexasol-0.27.0-py3-none-any.whl
- Upload date:
- Size: 57.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.6-200.fc40.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 041e1db1ae8f26fa24876056ce8da5830e346fc47734847a95cc960ac056d0c6 |
|
MD5 | 91a157b75e54e502e6674e6337acc568 |
|
BLAKE2b-256 | 5b601a7b5e671ee4e448e8954bfd97db9721226a7c4f043390bdff43c3c44677 |