Skip to main content
ClickHouse Connect est un driver de base de données central qui assure l’interopérabilité avec un large éventail d’applications Python.
  • Les principales interfaces sont le Client synchrone et l’AsyncClient natif basé sur aiohttp dans clickhouse_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.datatypes sé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.driverc accé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.
  • 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.
  • Le dialecte SQLAlchemy dans clickhouse_connect.cc_sqlalchemy prend 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 Connect ou la chaîne de connexion du dialecte SQLAlchemy clickhousedb.
Cette documentation est à jour pour clickhouse-connect 1.6.0. Si vous effectuez une mise à niveau depuis la version 0.15.x ou une version antérieure, consultez le guide de migration 1.0.
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 :
Les intégrations facultatives s’installent à l’aide d’extras :
ClickHouse Connect peut également être installé à partir du code source :
  • Exécutez git clone sur 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.
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 :
Bouton Connect du service ClickHouse Cloud
Choisissez HTTPS. Les détails de connexion s’affichent dans un exemple de commande curl.
Détails de connexion HTTPS ClickHouse Cloud
Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.

É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 :

Utilisez les paramètres de connexion recueillis précédemment. Les services ClickHouse Cloud nécessitent le protocole TLS ; utilisez donc le port 8443.

Interagissez avec votre base de données

Pour exécuter une commande en ClickHouse SQL, utilisez la méthode command du client :
Pour insérer des données par lot, utilisez la méthode insert du client avec un tableau bidimensionnel de lignes et de valeurs :
Pour récupérer des données à l’aide de ClickHouse SQL, utilisez la méthode 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’extra chdb, puis sélectionnez le backend avec interface="chdb" ou un DSN chdb:// :
La base de données par défaut est en mémoire. Passez 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.
Dernière modification le 14 août 2026