Awesome ClickHousePython

xzkostyan/clickhouse-sqlalchemy

⭐ 483 Python repository created 2017-03-29

The project "clickhouse-sqlalchemy" is a dialect for SQLAlchemy that enables interaction with the ClickHouse database. ClickHouse is a columnar database management system designed for online analytical processing (OLAP) and is known for its high performance in handling large volumes of data. This project provides a seamless integration layer allowing developers to use SQLAlchemy, a popular SQL toolkit and Object-Relational Mapping (ORM) library for Python, to communicate with ClickHouse databases. The project supports multiple interfaces for connecting to ClickHouse, including a native TCP interface via the clickhouse-driver, an asynchronous native TCP interface via asynch, and an HTTP interface using requests. This flexibility allows developers to choose the most suitable connection method based on their application's requirements. Users can define database tables using SQLAlchemy's declarative base system, specifying columns and data types that correspond to ClickHouse's data types. The project also supports various ClickHouse table engines, such as the Memory engine, which can be specified in the table arguments. The usage examples demonstrate how to create an engine and session, define a table schema, insert data, and perform queries using SQLAlchemy's ORM capabilities. This makes it easier for Python developers to work with ClickHouse without needing to write raw SQL queries, leveraging SQLAlchemy's expressive query language and session management. The project is well-documented, with documentation available online, and it is actively maintained with badges indicating build status, test coverage, and compatibility with different Python versions. It is distributed under the MIT license, making it free and open-source for use and modification. Overall, clickhouse-sqlalchemy bridges the gap between SQLAlchemy and ClickHouse, providing a robust and user-friendly way to interact with ClickHouse databases in Python applications, supporting both synchronous and asynchronous operations, and enabling efficient data analytics workflows.

https://github.com/xzkostyan/clickhouse-sqlalchemy

analyticsasynchclickhouseclickhouse-driverdata-insertiondatabasedialecthttp-interfacememory-enginemit-licenseolapormpythonqueryingsqlalchemytable-enginesyandex

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.

ClickHouse/clickhouse-connect

ClickHouse Connect is a high-performance Python driver that enables seamless integration of ClickHouse with Python data tools like Pandas, SQLAlchemy, and Apache Superset for efficient data access and visualization.

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.