aiochclient
Async http clickhouse client for python 3.10+
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need an async ClickHouse client for Python 3.10+ and are willing to choose and install an HTTP connector. The package is actively maintained, has no known vulnerabilities, and offers good type safety. High install friction and the requirement to select a connector are the main trade-offs; evaluate whether the async model and type conversion features justify the setup overhead for your use case.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later and either aiohttp or httpx installed as a peer dependency.
- High install friction: requires Python 3.10+ and a choice of HTTP connector (aiohttp or httpx), with optional compiled speedups and Cython compilation available.
- Maintenance is active with recent releases and steady repository activity.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
last release 2026-06-04 (71 days) · last repo commit 2026-06-08 · 257 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 102,243 downloads/mo, #12,882 on PyPI
Alternatives
Verify before relying
pip install aiochclient[aiohttp]
from aiochclient import ChClient
async def main():
client = ChClient(session)
await client.execute("CREATE TABLE t (a UInt8) ENGINE = Memory")
await client.execute("INSERT INTO t VALUES", (1,))
rows = await client.fetch("SELECT * FROM t")- Whether the stated benchmarks (180k-220k rows/sec SELECT, 50k-80k rows/sec INSERT) remain accurate for current version 2.7.0.
- Whether Cython compilation is automatic or requires manual setup during installation.
- Whether sqlparse is used at runtime or only as a build/test dependency.
- How the optional speedups (cChardet, aiodns, ciso8601) affect installation and performance.
What it is and what it does
aiochclient is an async HTTP client for ClickHouse that bridges Python and ClickHouse type systems automatically. It works with either aiohttp or httpx as the underlying HTTP connector and provides methods for executing queries, fetching results all at once, fetching single rows, and streaming results via async iteration. Rows are returned as lightweight objects supporting both index and name-based field access.
The package targets Python 3.10+ and emphasizes performance through optional compiled speedups and Cython compilation. It handles complex ClickHouse types—tuples, arrays, nullable types, decimals, IP addresses, UUIDs, and nested structures—converting them transparently to Python equivalents. The single runtime dependency is sqlparse.
Use it for
- Fetch large result sets from ClickHouse without loading all rows into memory at once using async iteration.
- Insert bulk data into ClickHouse with automatic type conversion from Python objects.
- Build async applications that query ClickHouse alongside other I/O-bound operations without blocking.
- Work with complex ClickHouse types (tuples, arrays, decimals, UUIDs) and have them automatically converted to Python types.
- Monitor ClickHouse connectivity and health checks in async services using the is_alive() method.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need an async ClickHouse client for Python 3.10+ and are willing to choose and install an HTTP connector. The package is actively maintained, has no known vulnerabilities, and offers good type safety. High install friction and the requirement to select a connector are the main trade-offs; evaluate whether the async model and type conversion features justify the setup overhead for your use case.
Install
aiochclient on PyPI
Before you install
High install friction: requires Python 3.10+ and a choice of HTTP connector (aiohttp or httpx), with optional compiled speedups and Cython compilation available. Maintenance is active with recent releases and steady repository activity.
Requires Python 3.10 or later and either aiohttp or httpx installed as a peer dependency.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install aiochclient[aiohttp]
from aiochclient import ChClient
async def main():
client = ChClient(session)
await client.execute("CREATE TABLE t (a UInt8) ENGINE = Memory")
await client.execute("INSERT INTO t VALUES", (1,))
rows = await client.fetch("SELECT * FROM t")
Verify before relying
- Whether the stated benchmarks (180k-220k rows/sec SELECT, 50k-80k rows/sec INSERT) remain accurate for current version 2.7.0.
- Whether Cython compilation is automatic or requires manual setup during installation.
- Whether sqlparse is used at runtime or only as a build/test dependency.
- How the optional speedups (cChardet, aiodns, ciso8601) affect installation and performance.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | High. Source build required |
| Runtime dependencies | 1 packagesqlparse |
| Maintenance | Actively maintained 71 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 102,243 / month, #12,882 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: aiochclient-2.7.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “clickhouse async client”
- aiochclientAn async HTTP client for ClickHouse that handles type conversion…
- asynchasynch is an asynchronous ClickHouse driver with native TCP support,…
- clickhouse-connectA Python database driver for ClickHouse that supports DataFrames,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also clickhouse-driver · asynch · infi.clickhouse-orm · clickhouse-pool · clickhouse-connect · airflow-clickhouse-plugin · aiohttp · aiohttp-asgi-connector · mcp-clickhouse · chdb