- 主要接口是
clickhouse_connect.driver中的同步Client和基于原生 aiohttp 的AsyncClient。该驱动包还提供查询和 insert 上下文、流式辅助工具、DB-API 支持,以及更底层的 HTTP 方法。 clickhouse_connect.datatypes包使用 ClickHouse Native 二进制列式格式对 ClickHouse 类型进行序列化和反序列化。clickhouse_connect.driverc中的可选 Cython 扩展可加速常见的序列化、转换和 buffering 路径。在无法构建这些扩展的平台上,仍可使用 pure Python 路径。- 该包附带 PEP 561 类型信息,因此下游类型检查器可使用公共驱动、DB-API 和 SQLAlchemy 接口的 annotations。
clickhouse_connect.cc_sqlalchemy中的 SQLAlchemy dialect 支持 SQLAlchemy Core、schema reflection、ClickHouse 特有的查询 clauses 和 table engines,以及 Alembic migrations。基础的 ORM reads 和 inserts 可以正常工作,但该 dialect 的设计目标是分析型 workloads,而非完整的工作单元式 ORM 行为。- 核心驱动和 ClickHouse Connect SQLAlchemy 实现是将 ClickHouse 连接到 Apache Superset 的首选方法。请使用
ClickHouse Connect数据库 connection,或clickhousedbSQLAlchemy dialect connection string。
标准的 ClickHouse Connect clients 使用 HTTP interface。这支持 HTTP load balancers、proxies 以及常见的企业网络控制。ClickHouse Connect 还提供一个 Experimental 的 in-process chDB 后端。
要求与兼容性
该软件包在可用时会提供已编译的 wheel;如果无法构建 Cython 扩展,则会回退为纯 Python 实现。PyArrow 支持 Python 3.10 至 3.14。Python 3.14 需要 PyArrow 22 或更高版本。
安装
- 对 GitHub repository 执行
git clone。 - 切换到项目根目录并运行
pip install .。构建系统会自动安装 Cython,以编译可选的 C 扩展。
clickhouse_connect.__version__ 查看。
支持策略
基本用法
准备连接详情
你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。
选择一个服务,然后点击 Connect:

curl 命令中。

建立连接
- 连接到 localhost 上的 ClickHouse 服务器。
- 连接到 ClickHouse Cloud 服务。
使用 ClickHouse Connect 客户端实例连接到 localhost 上运行的 ClickHouse 服务器:
使用 ClickHouse Connect 客户端实例连接到 ClickHouse Cloud 服务:
与数据库交互
command 方法:
insert 方法,并传入一个由行和值组成的二维数组:
query 方法:
嵌入式 chDB 后端
chdb 扩展包,然后通过 interface="chdb" 或 chdb:// DSN 选择该后端:
path="/data/my_chdb" 或使用 dsn="chdb:///data/my_chdb" 可实现持久化存储。chDB 每个进程只支持一个 engine path。它不支持异步客户端或外部数据。