Metadata-Version: 2.1
Name: clickhouse-pool
Version: 0.4.3
Summary: A thread-safe connection pool for ClickHouse.
Home-page: https://github.com/ericmccarthy7/clickhouse-pool
Author: Eric McCarthy
Author-email: ericmccarthy7@gmail.com
License: UNKNOWN
Description: # ClickHouse Pool for Python
        
        [![PyPI](https://img.shields.io/pypi/v/clickhouse-pool?style=for-the-badge)](https://pypi.org/project/clickhouse-pool/)
        [![PyPI - License](https://img.shields.io/pypi/l/clickhouse-pool?style=for-the-badge)](https://pypi.org/project/clickhouse-pool/)
        [![Read the Docs](https://img.shields.io/readthedocs/clickhouse-pool?style=for-the-badge)](https://clickhouse-pool.readthedocs.io/en/latest/)
        
        A thread-safe connection pool for ClickHouse. Inspired by `psycopg2` and using
        [`clickhouse-driver`](https://github.com/mymarilyn/clickhouse-driver) for
        connections.
        
        ## Installation
        
        ```sh
        pip install clickhouse-pool
        ```
        
        ## Quick Start
        
        ```python
        from clickhouse_pool import ChPool
        
        # find available settings at https://clickhouse-driver.readthedocs.io/en/latest/api.html#clickhouse_driver.Client
        pool = ChPool(host="localhost")
        
        with pool.get_client() as client:
            # execute sql and print the result
            result = client.execute("SELECT * FROM system.numbers LIMIT 5")
            print(result)
        
        # always close all connections in the pool once you're done with it
        pool.cleanup()
        ```
        
        ## Connection Pool Size
        
        To change the connection pool size,
        
        ```python
        pool = ChPool(connections_min=20, connections_max=40)
        
        with pool.get_client() as client:
            result = client.execute("SELECT * FROM system.numbers LIMIT 5")
            print(result)
        
        # always close all connections in the pool once you're done with it
        pool.cleanup()
        ```
        
        ## Testing Locally
        
        To run tests locally ensure you have an instance of clickhouse-server running on
        localhost. The easiest way is to use docker:
        
        ```sh
        docker run -d -p 9000:9000 yandex/clickhouse-server
        python tests.py
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
