Awesome ClickHousePython

ClickHouse/clickhouse-connect

⭐ 520 Python repository created 2022-02-24

ClickHouse Connect is a high-performance core database driver designed to facilitate seamless connectivity between ClickHouse and Python environments, including Pandas, Numpy, PyArrow, and Superset. It leverages the ClickHouse HTTP interface to ensure maximum compatibility and ease of use. The driver supports various data formats such as Pandas DataFrames, Numpy Arrays, and PyArrow Tables, making it versatile for data manipulation and analysis tasks. Additionally, ClickHouse Connect integrates fully with Apache Superset, a popular data visualization and exploration platform. This integration allows users to create Superset data sources using a straightforward connection dialog or a SQLAlchemy Data Source Name (DSN) format, enhancing the user experience for data visualization workflows. The project includes a minimal SQLAlchemy implementation tailored for compatibility with Superset, supporting SQLAlchemy versions 1.3.x and 1.4.x. However, it is important to note that this implementation does not include ORM features and may not support more complex SQLAlchemy applications. For asynchronous programming needs, ClickHouse Connect offers an async wrapper, enabling its use within asyncio environments, which is beneficial for modern Python applications requiring concurrency. Installation is simple via pip, requiring Python 3.8 or higher. The documentation has been centralized in the official ClickHouse Docs, providing comprehensive guidance for users. Overall, ClickHouse Connect serves as a robust and efficient bridge between ClickHouse and Python-based data tools, facilitating data access, manipulation, and visualization with ease and performance in mind.

https://github.com/ClickHouse/clickhouse-connect

apache-supersetasync-wrapperasyncioclickhouseclickhouse-http-interfacedata-connectivitydata-visualizationnumpy-arrayspandas-dataframespyarrow-tablespythonpython-driversqlalchemysuperset-connector

Also in Python

mymarilyn/clickhouse-driver

A Python driver providing native TCP interface support for efficient and secure interaction with ClickHouse databases, featuring extensive data type support and compliance with Python DB API 2.0.

xzkostyan/clickhouse-sqlalchemy

Clickhouse-sqlalchemy is a SQLAlchemy dialect that enables seamless interaction with ClickHouse databases, supporting multiple connection interfaces and providing ORM capabilities for efficient data analytics.

Infinidat/infi.clickhouse_orm

infi.clickhouse_orm is a Python ORM library that simplifies working with the ClickHouse database by enabling easy model definition, data insertion, and querying.

cloudflare/sqlalchemy-clickhouse

sqlalchemy-clickhouse is a SQLAlchemy dialect that enables seamless integration with the ClickHouse database for efficient data querying and manipulation.

maximdanilchenko/aiochclient

aiochclient is a lightweight asynchronous HTTP client for Python that provides efficient and type-safe interaction with ClickHouse databases, supporting streaming, lazy decoding, and high performance through optional speedups.

long2ice/asynch

An asynchronous Python driver for ClickHouse with native TCP interface support, enabling efficient database interactions using asyncio.

kszucs/pandahouse

Pandahouse is a Python library providing a Pandas interface to interact with ClickHouse databases via HTTP API for efficient data reading and writing.

jayvynl/django-clickhouse-backend

Django-clickhouse-backend is a Django database backend that enables seamless interaction with ClickHouse using Django ORM, supporting ClickHouse-specific features and efficient connection pooling.