Welcome to clickhouse-driver

Welcome to clickhouse-driver’s documentation. Get started with Installation and then get an overview with the Quickstart where common queries are described.

User’s Guide

This part of the documentation focuses on step-by-step instructions for development with clickhouse-driver.

Clickhouse-driver is designed to communicate with ClickHouse server from Python over native protocol.

ClickHouse server provider two protocols for communication: HTTP protocol and Native (TCP) protocol.

Each protocol has own advantages and disadvantages. Here we focus on advantages of native protocol:

  • Native protocol is more configurable by various settings.
  • Binary data transfer is more compact than text data.
  • Building python types from binary data is more effective than from text data.
  • LZ4 compression is faster than gzip. Gzip compression is used in HTTP protocol.
  • Query profile info is available over native protocol. We can read rows before limit metric for example.

There is an asynchronous wrapper for clickhouse-driver: aioch. It’s available here.

API Reference

If you are looking for information on a specific function, class or method, this part of the documentation is for you.

Additional Notes

Legal information, changelog and contributing are here for the interested.