- Les principales interfaces sont le
Clientsynchrone et l’AsyncClientnatif basé sur aiohttp dansclickhouse_connect.driver. Le paquet du driver fournit également des contextes de requête et d’insertion, des helpers de streaming, la prise en charge de la DB-API, ainsi que des méthodes HTTP de plus bas niveau. - Le paquet
clickhouse_connect.datatypessérialise et désérialise les types ClickHouse à l’aide du format binaire natif en colonnes de ClickHouse. - Les extensions Cython optionnelles dans
clickhouse_connect.drivercaccélèrent les opérations courantes de sérialisation, de conversion et de mise en mémoire tampon. Une implémentation pure Python reste disponible sur les plateformes où les extensions ne peuvent pas être compilées. Un codec Rust expérimental, activable sur demande, peut remplacer entièrement le traitement du format natif. - Le paquet inclut les informations de typage PEP 561, afin que les vérificateurs de types en aval puissent exploiter les annotations pour les interfaces publiques du driver, de la DB-API et de SQLAlchemy.
- Les dialectes SQLAlchemy de
clickhouse_connect.cc_sqlalchemyproposent des connexions synchronesclickhousedb://et des connexions asynchronesclickhousedb+async://. Ils prennent en charge SQLAlchemy Core, la réflexion de schéma, les clauses de requête spécifiques à ClickHouse et les moteurs de table, ainsi que les migrations Alembic. Les lectures et insertions ORM de base fonctionnent, mais le dialecte est conçu pour des workloads analytiques plutôt que pour un comportement ORM complet de type unit-of-work. - Le driver principal et l’implémentation ClickHouse Connect SQLAlchemy sont la méthode privilégiée pour connecter ClickHouse à Apache Superset. Utilisez la connexion de base de données
ClickHouse Connectou la chaîne de connexion du dialecte SQLAlchemyclickhousedb.
Les clients ClickHouse Connect standard utilisent l’interface HTTP. Cela prend en charge les load balancers HTTP, les proxys et les contrôles réseau courants en entreprise. ClickHouse Connect dispose également d’un backend chDB expérimental en processus.
Exigences et compatibilité
Le paquet inclut des wheels compilées lorsqu’elles sont disponibles et bascule sinon vers une implémentation pure Python lorsque les extensions Cython ne peuvent pas être compilées. PyArrow est pris en charge avec Python 3.10 à 3.14. Python 3.14 nécessite PyArrow 22 ou version ultérieure.
Installation
Installez ClickHouse Connect depuis PyPI à l’aide de pip :- Exécutez
git clonesur le dépôt GitHub. - Placez-vous à la racine du projet et exécutez
pip install .. Le système de build installe automatiquement Cython pour compiler les extensions C optionnelles.
Modes de build depuis les sources
Les builds depuis les sources prennent en charge trois modes. Les modes par défaut et requis échouent si Cython n’est pas disponible ou sicythonize() échoue. Le mode skip n’importe pas Cython.
Définir à la fois
CLICKHOUSE_CONNECT_SKIP_CYTHON=1 et CLICKHOUSE_CONNECT_REQUIRE_C=1 constitue une erreur.
Les wheels de fallback par défaut ne contiennent aucune extension compilée, mais conservent les tags de plateforme et d’interpréteur. Seul le mode skip produit py3-none-any. pip peut mettre en cache un wheel de fallback construit à partir d’un sdist d’index et le réutiliser pour un Python et une plateforme compatibles une fois le compilateur corrigé. Videz-le avec :
True si c’est le cas :
clickhouse_connect.driverc.npconv nécessite également que NumPy soit installé.
La version installée est accessible via clickhouse_connect.__version__.
Politique de support
Mettez à jour vers la dernière version de ClickHouse Connect avant de signaler un problème. Ouvrez les tickets dans le projet GitHub. ClickHouse Connect cible les versions de ClickHouse activement prises en charge au moment de chaque publication du driver. Il fonctionne souvent avec des versions plus anciennes du serveur, mais les nouveaux types de données et les fonctionnalités plus récentes du protocole peuvent nécessiter un serveur plus récent.Utilisation de base
Rassemblez vos paramètres de connexion
Pour vous connecter à ClickHouse via HTTP(S), vous avez besoin des informations suivantes :
Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud.
Sélectionnez un service, puis cliquez sur Connect :

curl.

Établir une connexion
Voici deux exemples de connexion à ClickHouse :- Connexion à un serveur ClickHouse sur localhost.
- Connexion à un service ClickHouse Cloud.
Utilisez une instance du client ClickHouse Connect pour vous connecter à un serveur ClickHouse sur localhost :
Utilisez une instance du client ClickHouse Connect pour vous connecter à un service ClickHouse Cloud :
Interagissez avec votre base de données
Pour exécuter une commande en ClickHouse SQL, utilisez la méthodecommand du client :
insert du client avec un tableau bidimensionnel de lignes et de valeurs :
query du client :
Backend chDB intégré
Le backend chDB expérimental exécute des requêtes ClickHouse au sein du processus Python, sans serveur HTTP. Installez l’extrachdb, puis sélectionnez le backend avec interface="chdb" ou un DSN chdb:// :
path="/data/my_chdb" ou utilisez dsn="chdb:///data/my_chdb" pour bénéficier d’un stockage persistant. chDB n’autorise qu’un seul chemin d’engine par processus. Il ne prend pas en charge le client async ni les données externes.