Welcome to clickhouse-driver

Release 0.2.7.

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 provides two protocols for communication:

  • HTTP protocol (port 8123 by default);

  • Native (TCP) protocol (port 9000 by default).

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.

Once again: clickhouse-driver uses native protocol (port 9000).

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.