Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exasol/pyexasol
Exasol Python driver with low overhead, fast HTTP transport and compression
https://github.com/exasol/pyexasol
data-science database driver exasol exasol-integration python websocket-client
Last synced: 5 days ago
JSON representation
Exasol Python driver with low overhead, fast HTTP transport and compression
- Host: GitHub
- URL: https://github.com/exasol/pyexasol
- Owner: exasol
- License: mit
- Created: 2018-03-08T14:12:14.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-01-14T10:52:48.000Z (13 days ago)
- Last Synced: 2025-01-20T23:34:39.749Z (6 days ago)
- Topics: data-science, database, driver, exasol, exasol-integration, python, websocket-client
- Language: Python
- Homepage: https://exasol.github.io/pyexasol/
- Size: 4.85 MB
- Stars: 72
- Watchers: 10
- Forks: 40
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Pyexasol
PyEXASOL is the officially supported Python connector for [Exasol](https://www.exasol.com). 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.
---
* Documentation: [https://exasol.github.io/pyexasol/](https://exasol.github.io/pyexasol/index.html)
* Source Code: [https://github.com/exasol/pyexasol](https://github.com/exasol/pyexasol)
---## PyEXASOL main concepts
- Based on [WebSocket protocol](https://github.com/exasol/websocket-api);
- 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:
```python
import pyexasolC = pyexasol.connect(dsn='', user='sys', password='exasol')
stmt = C.execute("SELECT * FROM EXA_ALL_USERS")
for row in stmt:
print(row)
```Load data into `pandas.DataFrame`:
```python
import pyexasolC = pyexasol.connect(dsn='', 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:
```python
import pyexasolC = pyexasol.connect_local_config('my_config')
stmt = C.execute("SELECT CURRENT_TIMESTAMP")
print(stmt.fetchone())
```Connect to Exasol SAAS using OpenID token for authentication:
```python
import pyexasolC = pyexasol.connect(dsn='', user='sys', refresh_token='')
stmt = C.execute("SELECT * FROM EXA_ALL_USERS")
for row in stmt:
print(row)
```## Created by
[Vitaly Markov](https://www.linkedin.com/in/markov-vitaly/), 2018 — 2022Enjoy!
## Maintained by
[Exasol](https://www.exasol.com) 2023 — Today