- As principais interfaces são o
Clientsíncrono e oAsyncClient, nativo e baseado em aiohttp, emclickhouse_connect.driver. O pacote do driver também fornece contextos de consulta e insert, utilitários de streaming, suporte a DB-API e métodos HTTP de nível mais baixo. - O pacote
clickhouse_connect.datatypesserializa e desserializa tipos do ClickHouse usando o formato colunar binário Native do ClickHouse. - As extensões opcionais em Cython em
clickhouse_connect.drivercaceleram caminhos comuns de serialização, conversão e bufferização. Uma implementação em Python puro continua disponível em plataformas nas quais as extensões não podem ser compiladas. Um codec Rust experimental e opcional pode substituir totalmente o processamento do formato Native. - O pacote inclui informações de tipos do PEP 561, para que verificadores de tipo downstream consumam anotações para as interfaces públicas do driver, da DB-API e do SQLAlchemy.
- Os dialects do SQLAlchemy em
clickhouse_connect.cc_sqlalchemyincluem conexões síncronasclickhousedb://e conexões assíncronasclickhousedb+async://. Eles oferecem suporte ao SQLAlchemy Core, reflexão de esquema, cláusulas de consulta específicas do ClickHouse e motores de tabela, além de migrações do Alembic. Leituras e inserts básicos com ORM funcionam, mas o dialect foi projetado para workloads analíticas, e não para o comportamento ORM completo de unit-of-work. - O driver principal e a implementação ClickHouse Connect SQLAlchemy são o método preferido para conectar o ClickHouse ao Apache Superset. Use a conexão de banco de dados
ClickHouse Connectou a string de conexão do dialect SQLAlchemyclickhousedb.
Os clientes padrão do ClickHouse Connect usam a interface HTTP. Isso oferece suporte a balanceadores de carga HTTP, proxies e controles de rede corporativos comuns. O ClickHouse Connect também tem um backend chDB experimental in-process.
Requisitos e compatibilidade
O pacote inclui wheels compiladas quando disponíveis e usa uma implementação em Python puro quando as extensões Cython não podem ser compiladas. PyArrow é compatível com Python 3.10 a 3.14. Python 3.14 requer PyArrow 22 ou posterior.
Instalação
Instale o ClickHouse Connect do PyPI via pip:- Execute
git clonedo repositório no GitHub. - Acesse a raiz do projeto e execute
pip install .. O sistema de compilação instala o Cython automaticamente para compilar as extensões C opcionais.
Modos de compilação a partir do código-fonte
As compilações a partir do código-fonte suportam três modos. Os modos padrão e obrigatório falham se o Cython não estiver disponível ou secythonize() falhar. O modo de omissão não importa o Cython.
Definir
CLICKHOUSE_CONNECT_SKIP_CYTHON=1 e CLICKHOUSE_CONNECT_REQUIRE_C=1 ao mesmo tempo é um erro.
As wheels geradas pelo fallback padrão não contêm extensões compiladas, mas mantêm as tags de plataforma e de interpretador. Somente o modo de omissão produz py3-none-any. O pip pode armazenar em cache uma wheel de fallback compilada a partir de um sdist do índice e reutilizá-la em um Python e plataforma compatíveis mesmo depois de o compilador ser corrigido. Limpe-o com:
True quando estiverem:
clickhouse_connect.driverc.npconv diretamente também exige que o NumPy esteja instalado.
A versão instalada está disponível em clickhouse_connect.__version__.
Política de suporte
Atualize para a versão mais recente do ClickHouse Connect antes de relatar um issue. Registre issues no projeto do GitHub. O ClickHouse Connect é direcionado aos lançamentos do ClickHouse com suporte ativo no momento de cada lançamento do driver. Em geral, ele também funciona com versões mais antigas do servidor, mas tipos de dados e recursos de protocolo mais recentes podem exigir um servidor mais novo.Uso básico
Obtenha os detalhes da conexão
Para se conectar ao ClickHouse via HTTP(S), você precisa das seguintes informações:
Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud.
Selecione um serviço e clique em Connect:

curl de exemplo.

Estabeleça uma conexão
Há dois exemplos de como se conectar ao ClickHouse:- Conectar-se a um servidor ClickHouse em localhost.
- Conectar-se a um serviço do ClickHouse Cloud.
Use uma instância do cliente ClickHouse Connect para se conectar a um servidor ClickHouse no localhost:
Use uma instância do cliente ClickHouse Connect para se conectar a um serviço do ClickHouse Cloud:
Interaja com o seu banco de dados
Para executar um comando do ClickHouse SQL, use o métodocommand do client:
insert do cliente com um array bidimensional de linhas e valores:
query do cliente:
Backend embutido do chDB
O backend experimental do chDB executa consultas do ClickHouse dentro do processo do Python, sem um servidor HTTP. Instale o extrachdb e, em seguida, selecione o backend com interface="chdb" ou uma DSN chdb://:
path="/data/my_chdb" ou use dsn="chdb:///data/my_chdb" para armazenamento persistente. O chDB permite apenas um caminho de engine por processo. Ele não oferece suporte ao cliente async nem a dados externos.