- Las interfaces principales son
Client, síncrona, yAsyncClient, nativa basada en aiohttp, enclickhouse_connect.driver. El paquete del driver también proporciona contextos de consulta e inserción, funciones auxiliares de streaming, compatibilidad con DB-API y métodos HTTP de nivel inferior. - El paquete
clickhouse_connect.datatypesserializa y deserializa tipos de ClickHouse mediante el formato binario nativo columnar de ClickHouse. - Las extensiones opcionales de Cython en
clickhouse_connect.drivercaceleran las rutas habituales de serialización, conversión y almacenamiento en búfer. También sigue disponible una ruta en pure Python en plataformas donde no se pueden compilar las extensiones. Un codec de Rust experimental y opcional puede sustituir por completo el procesamiento del Native format. - El paquete incluye información de tipos PEP 561, por lo que los verificadores de tipos posteriores pueden usar annotations para las superficies públicas del driver, DB-API y SQLAlchemy.
- Los dialectos de SQLAlchemy en
clickhouse_connect.cc_sqlalchemyincluyen conexiones síncronasclickhousedb://y conexiones asíncronasclickhousedb+async://. Admiten SQLAlchemy Core, reflection de esquemas, clauses de consulta específicas de ClickHouse y table engines, así como migrations de Alembic. Las lecturas e inserciones básicas de ORM funcionan, pero el dialecto está diseñado para cargas de trabajo analíticas, no para ofrecer todo el comportamiento ORM de unidad de trabajo. - El driver principal y la implementación de ClickHouse Connect SQLAlchemy son el método preferido para conectar ClickHouse con Apache Superset. Use la conexión de base de datos
ClickHouse Connecto la cadena de conexión del dialecto SQLAlchemyclickhousedb.
Los Clients estándar de ClickHouse Connect usan la interfaz HTTP. Esto permite usar balanceadores de carga HTTP, proxies y controles de red empresariales habituales. ClickHouse Connect también tiene un backend chDB experimental en el mismo proceso.
Requisitos y compatibilidad
El package incluye wheels compilados cuando están disponibles y recurre a una implementación en pure Python cuando no se pueden compilar las extensiones de Cython. PyArrow es compatible con Python de 3.10 a 3.14. Python 3.14 requiere PyArrow 22 o posterior.
Instalación
Instala ClickHouse Connect desde PyPI con pip:- Haz
git clonedel repositorio de GitHub. - Ve a la raíz del proyecto y ejecuta
pip install .. El sistema de compilación instala Cython automáticamente para compilar las extensiones C opcionales.
Modos de compilación desde el código fuente
Las compilaciones desde el código fuente admiten tres modos. Los modos predeterminado y obligatorio fallan si Cython no está disponible o sicythonize() falla. El modo de omisión no importa Cython.
Establecer
CLICKHOUSE_CONNECT_SKIP_CYTHON=1 y CLICKHOUSE_CONNECT_REQUIRE_C=1 a la vez es un error.
Los wheels de fallback predeterminados no contienen extensiones compiladas, pero conservan los tags de plataforma e intérprete. Solo el modo de omisión produce py3-none-any. pip puede almacenar en caché un wheel de fallback compilado a partir de un sdist del índice y reutilizarlo para un Python y una plataforma compatibles después de corregir el compilador. Bórralo con:
True:
clickhouse_connect.driverc.npconv también requiere que NumPy esté instalado.
La versión instalada está disponible en clickhouse_connect.__version__.
Política de soporte
Actualiza a la versión más reciente de ClickHouse Connect antes de reportar un issue. Registra los issues en el proyecto de GitHub. ClickHouse Connect está pensado para las versiones de ClickHouse con soporte activo en el momento de cada versión del driver. A menudo también funciona con versiones anteriores del servidor, pero los tipos de datos y las funciones del protocolo más recientes pueden requerir un servidor más reciente.Uso básico
Obtén los detalles de conexión
Para conectarse a ClickHouse con HTTP(S), necesita esta información:
Los detalles de su servicio de ClickHouse Cloud están disponibles en la consola de ClickHouse Cloud.
Seleccione un servicio y haga clic en Connect:

curl de ejemplo.

Establecer una conexión
Se muestran dos ejemplos de conexión a ClickHouse:- Conexión a un servidor de ClickHouse en localhost.
- Conexión a un servicio de ClickHouse Cloud.
Usa una instancia Client de ClickHouse Connect para conectarte a un servidor de ClickHouse en localhost:
Usa una instancia del Client ClickHouse Connect para conectarte a un servicio de ClickHouse Cloud:
Interactúa con tu base de datos
Para ejecutar un comando de ClickHouse SQL, usa el métodocommand del Client:
insert del Client con un array bidimensional de filas y valores:
query del Client:
Backend embebido de chDB
El backend experimental de chDB ejecuta consultas de ClickHouse dentro del proceso de Python, sin necesidad de un servidor HTTP. Instala el extrachdb y luego selecciona el backend con interface="chdb" o un DSN chdb://:
path="/data/my_chdb" o use dsn="chdb:///data/my_chdb" para almacenamiento persistente. chDB permite una sola ruta de engine por proceso. No es compatible con el Client async ni con datos externos.