pyexasol


Namepyexasol JSON
Version 0.27.0 PyPI version JSON
download
home_pageNone
SummaryExasol python driver with extra features
upload_time2024-09-09 12:20:52
maintainerNone
docs_urlNone
authorVitaly Markov
requires_python<4.0,>=3.9
licenseMIT
keywords exasol sql database performance websocket import export
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">Pyexasol</h1>
<p align="center">
<a href="https://github.com/exasol/pyexasol/actions/workflows/ci-master.yml">
    <img src="https://github.com/exasol/pyexasol/actions/workflows/ci-master.yml/badge.svg" 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.

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](#getting-started)
- [Reference](/docs/REFERENCE.md)
- [Examples](/docs/EXAMPLES.md)
- [Best practices](/docs/BEST_PRACTICES.md)
- [Local config (.ini file)](/docs/LOCAL_CONFIG.md)
- [SQL formatting](/docs/SQL_FORMATTING.md)
- [HTTP Transport](/docs/HTTP_TRANSPORT.md)
- [HTTP Transport (multiprocessing)](/docs/HTTP_TRANSPORT_PARALLEL.md)
- [Parallelism](/docs/PARALLELISM.md)
- [SSL encryption](/docs/ENCRYPTION.md)
- [WebSocket protocol versions](/docs/PROTOCOL_VERSION.md)
- [Performance tests](/docs/PERFORMANCE.md)
- [UDF scripts output](/docs/SCRIPT_OUTPUT.md)
- [DB-API 2.0 compatibility](/docs/DBAPI_COMPAT.md)
- [Optional dependencies](/docs/DEPENDENCIES.md)
- [Changelog](/CHANGELOG.md)
- [Developer Guide](/docs/DEVELOPER_GUIDE.md)


## 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 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`:
```python
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](/docs/LOCAL_CONFIG.md) to store your personal Exasol credentials and connection options:
```python
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:

```python
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](https://www.linkedin.com/in/markov-vitaly/), 2018 — 2022

Enjoy!

## Maintained by
[Exasol](https://www.exasol.com) 2023 — Today 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyexasol",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "exasol, sql, database, performance, websocket, import, export",
    "author": "Vitaly Markov",
    "author_email": "wild.desu@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/98/e6/bcfab874cc0468996d98b10d17200ad8f4064819b8090f1ef084d61c994c/pyexasol-0.27.0.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">Pyexasol</h1>\n<p align=\"center\">\n<a href=\"https://github.com/exasol/pyexasol/actions/workflows/ci-master.yml\">\n    <img src=\"https://github.com/exasol/pyexasol/actions/workflows/ci-master.yml/badge.svg\" alt=\"Continuous Integration (master)\">\n</a>\n<a href=\"https://anaconda.org/conda-forge/pyexasol\">\n    <img src=\"https://anaconda.org/conda-forge/pyexasol/badges/version.svg\" alt=\"Anaconda\">\n</a>\n<a href=\"https://pypi.org/project/pyexasol/\">\n    <img src=\"https://img.shields.io/pypi/v/pyexasol\" alt=\"PyPi Package\">\n</a>\n<a href=\"https://pypi.org/project/pyexasol/\">\n    <img src=\"https://img.shields.io/pypi/dm/pyexasol\" alt=\"Downloads\">\n</a>\n<a href=\"https://pypi.org/project/pyexasol/\">\n    <img src=\"https://img.shields.io/pypi/pyversions/pyexasol\" alt=\"Supported Python Versions\">\n</a>\n</p>\n\nPyEXASOL 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.\n\nYou may expect significant performance improvement over ODBC in a single process scenario involving pandas.\n\nPyEXASOL 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.\n\n\n## Quick links\n- [Getting started](#getting-started)\n- [Reference](/docs/REFERENCE.md)\n- [Examples](/docs/EXAMPLES.md)\n- [Best practices](/docs/BEST_PRACTICES.md)\n- [Local config (.ini file)](/docs/LOCAL_CONFIG.md)\n- [SQL formatting](/docs/SQL_FORMATTING.md)\n- [HTTP Transport](/docs/HTTP_TRANSPORT.md)\n- [HTTP Transport (multiprocessing)](/docs/HTTP_TRANSPORT_PARALLEL.md)\n- [Parallelism](/docs/PARALLELISM.md)\n- [SSL encryption](/docs/ENCRYPTION.md)\n- [WebSocket protocol versions](/docs/PROTOCOL_VERSION.md)\n- [Performance tests](/docs/PERFORMANCE.md)\n- [UDF scripts output](/docs/SCRIPT_OUTPUT.md)\n- [DB-API 2.0 compatibility](/docs/DBAPI_COMPAT.md)\n- [Optional dependencies](/docs/DEPENDENCIES.md)\n- [Changelog](/CHANGELOG.md)\n- [Developer Guide](/docs/DEVELOPER_GUIDE.md)\n\n\n## PyEXASOL main concepts\n\n- Based on [WebSocket protocol](https://github.com/exasol/websocket-api);\n- Optimized for minimum overhead;\n- Easy integration with pandas via HTTP transport;\n- Compression to reduce network bottleneck;\n\n\n## System requirements\n\n- Exasol >= 7.1\n- Python >= 3.9\n\n\n## Getting started\n\nInstall PyEXASOL:\n```\npip install pyexasol[pandas]\n```\n\nRun basic query:\n```python\nimport pyexasol\n\nC = pyexasol.connect(dsn='<host:port>', user='sys', password='exasol')\n\nstmt = C.execute(\"SELECT * FROM EXA_ALL_USERS\")\n\nfor row in stmt:\n    print(row)\n```\n\nLoad data into `pandas.DataFrame`:\n```python\nimport pyexasol\n\nC = pyexasol.connect(dsn='<host:port>', user='sys', password='exasol', compression=True)\n\ndf = C.export_to_pandas(\"SELECT * FROM EXA_ALL_USERS\")\nprint(df.head())\n```\n\nYou may set up [local config](/docs/LOCAL_CONFIG.md) to store your personal Exasol credentials and connection options:\n```python\nimport pyexasol\n\nC = pyexasol.connect_local_config('my_config')\n\nstmt = C.execute(\"SELECT CURRENT_TIMESTAMP\")\nprint(stmt.fetchone())\n```\n\nConnect to Exasol SAAS using OpenID token for authentication:\n\n```python\nimport pyexasol\n\nC = pyexasol.connect(dsn='<host:port>', user='sys', refresh_token='<token>')\n\nstmt = C.execute(\"SELECT * FROM EXA_ALL_USERS\")\n\nfor row in stmt:\n    print(row)\n```\n\n## Created by\n[Vitaly Markov](https://www.linkedin.com/in/markov-vitaly/), 2018 \u2014 2022\n\nEnjoy!\n\n## Maintained by\n[Exasol](https://www.exasol.com) 2023 \u2014 Today \n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Exasol python driver with extra features",
    "version": "0.27.0",
    "project_urls": {
        "Changelog": "https://github.com/exasol/pyexasol/blob/master/CHANGELOG.md",
        "Documentation": "https://github.com/exasol/pyexasol/",
        "Homepage": "https://www.exasol.com/",
        "Issues": "https://github.com/exasol/pyexasol/issues",
        "Source": "https://github.com/exasol/pyexasol"
    },
    "split_keywords": [
        "exasol",
        " sql",
        " database",
        " performance",
        " websocket",
        " import",
        " export"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b601a7b5e671ee4e448e8954bfd97db9721226a7c4f043390bdff43c3c44677",
                "md5": "91a157b75e54e502e6674e6337acc568",
                "sha256": "041e1db1ae8f26fa24876056ce8da5830e346fc47734847a95cc960ac056d0c6"
            },
            "downloads": -1,
            "filename": "pyexasol-0.27.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "91a157b75e54e502e6674e6337acc568",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 57052,
            "upload_time": "2024-09-09T12:20:50",
            "upload_time_iso_8601": "2024-09-09T12:20:50.322988Z",
            "url": "https://files.pythonhosted.org/packages/5b/60/1a7b5e671ee4e448e8954bfd97db9721226a7c4f043390bdff43c3c44677/pyexasol-0.27.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98e6bcfab874cc0468996d98b10d17200ad8f4064819b8090f1ef084d61c994c",
                "md5": "cbddc6a12588aa58ec6d40e244357dce",
                "sha256": "795490cd810617bf927e0e90b88347facb5e66f58e0e16378fef5d22fadacd60"
            },
            "downloads": -1,
            "filename": "pyexasol-0.27.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cbddc6a12588aa58ec6d40e244357dce",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 48954,
            "upload_time": "2024-09-09T12:20:52",
            "upload_time_iso_8601": "2024-09-09T12:20:52.441428Z",
            "url": "https://files.pythonhosted.org/packages/98/e6/bcfab874cc0468996d98b10d17200ad8f4064819b8090f1ef084d61c994c/pyexasol-0.27.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-09 12:20:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "exasol",
    "github_project": "pyexasol",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyexasol"
}
        
Elapsed time: 0.31144s