Metadata-Version: 2.4
Name: pyexasol
Version: 2.2.0
Summary: Exasol python driver with extra features
License-Expression: MIT
License-File: LICENSE.txt
Keywords: exasol,sql,database,performance,websocket,import,export
Author: Vitaly Markov
Author-email: wild.desu@gmail.com
Requires-Python: >=3.10,<3.15
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Intended Audience :: Developers
Classifier: Topic :: Database
Provides-Extra: all
Provides-Extra: examples
Provides-Extra: orjson
Provides-Extra: pandas
Provides-Extra: performance
Provides-Extra: polars
Provides-Extra: pyarrow
Provides-Extra: rapidjson
Provides-Extra: ujson
Requires-Dist: cryptography (>=45.0.7)
Requires-Dist: orjson (>=3.6,<4.0) ; extra == "all"
Requires-Dist: orjson (>=3.6,<4.0) ; extra == "orjson"
Requires-Dist: packaging (>=24.1.0,<26.0.0)
Requires-Dist: pandas (>=2.0.0,<3.0.0) ; extra == "all"
Requires-Dist: pandas (>=2.0.0,<3.0.0) ; extra == "pandas"
Requires-Dist: polars (>=1.10.0,<2.0.0) ; extra == "all"
Requires-Dist: polars (>=1.10.0,<2.0.0) ; extra == "polars"
Requires-Dist: pproxy ; extra == "all"
Requires-Dist: pproxy ; extra == "examples"
Requires-Dist: pyarrow (>=21.0.0) ; extra == "all"
Requires-Dist: pyarrow (>=21.0.0) ; extra == "pyarrow"
Requires-Dist: pytest-benchmark[histogram] (>=5.1.0,<6) ; extra == "performance"
Requires-Dist: python-rapidjson (>=1.21.0,<2.0.0) ; extra == "all"
Requires-Dist: python-rapidjson (>=1.21.0,<2.0.0) ; extra == "rapidjson"
Requires-Dist: ujson (>=5.10.0,<6.0.0) ; extra == "all"
Requires-Dist: ujson (>=5.10.0,<6.0.0) ; extra == "ujson"
Requires-Dist: websocket-client (>=1.0.1,<1.9.0)
Project-URL: Changelog, https://github.com/exasol/pyexasol/blob/master/CHANGELOG.md
Project-URL: Documentation, https://github.com/exasol/pyexasol/
Project-URL: Homepage, https://www.exasol.com/
Project-URL: Issues, https://github.com/exasol/pyexasol/issues
Project-URL: Source, https://github.com/exasol/pyexasol
Description-Content-Type: text/markdown

<h1 align="center">PyExasol</h1>
<p align="center">
<a href="https://github.com/exasol/pyexasol/actions/workflows/pr-merge.yml">
    <img src="https://github.com/exasol/pyexasol/actions/workflows/pr-merge.yml/badge.svg?branch=master" alt="Continuous Integration (master)">
</a>
<a href="https://anaconda.org/conda-forge/pyexasol">
    <img src="https://anaconda.org/conda-forge/pyexasol/badges/version.svg" alt="Anaconda">
</a>
<a href="https://pypi.org/project/pyexasol/">
    <img src="https://img.shields.io/pypi/v/pyexasol" alt="PyPi Package">
</a>
<a href="https://pypi.org/project/pyexasol/">
    <img src="https://img.shields.io/pypi/dm/pyexasol" alt="Downloads">
</a>
<a href="https://pypi.org/project/pyexasol/">
    <img src="https://img.shields.io/pypi/pyversions/pyexasol" alt="Supported Python Versions">
</a>
</p>

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, parquet, or polars.

PyExasol provides an [API](https://exasol.github.io/pyexasol/master/api.html) 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, parquet, and polars via HTTP transport;
- Compression to reduce network bottleneck;


## System Requirements

- Exasol >= 7.1
- Python >= 3.10

## Getting Started

Check out PyExasol's [Getting Started](https://exasol.github.io/pyexasol/master/user_guide/getting_started.html) page for your first steps.

## Developers
* Created by [Vitaly Markov](https://www.linkedin.com/in/markov-vitaly/), 2018 — 2022
* Maintained by [Exasol](https://www.exasol.com) 2023 — Today

