summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/index.rst25
-rw-r--r--docs/install.rst40
2 files changed, 40 insertions, 25 deletions
diff --git a/docs/index.rst b/docs/index.rst
index 18aeb29..e1cb8e7 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -33,6 +33,7 @@ documentation, please see readthedocs and/or python's inline help.
>>> pip install kafka-python
+
KafkaConsumer
*************
@@ -122,12 +123,26 @@ multiprocessing is recommended.
Compression
***********
-kafka-python supports multiple compression types:
+kafka-python supports the following compression formats:
+
+ - gzip
+ - LZ4
+ - Snappy
+ - Zstandard (zstd)
+
+gzip is supported natively, the others require installing additional libraries.
+See `Install <install.html>`_ for more information.
+
+
+Optimized CRC32 Validation
+**************************
+
+Kafka uses CRC32 checksums to validate messages. kafka-python includes a pure
+python implementation for compatibility. To improve performance for high-throughput
+applications, kafka-python will use `crc32c` for optimized native code if installed.
+See `Install <install.html>`_ for installation instructions and
+https://pypi.org/project/crc32c/ for details on the underlying crc32c lib.
- - gzip : supported natively
- - lz4 : requires `python-lz4 <https://pypi.org/project/lz4/>`_ installed
- - snappy : requires the `python-snappy <https://pypi.org/project/python-snappy/>`_ package (which requires the snappy C library)
- - zstd : requires the `python-zstandard <https://github.com/indygreg/python-zstandard>`_ package installed
Protocol
********
diff --git a/docs/install.rst b/docs/install.rst
index 200ca17..19901ee 100644
--- a/docs/install.rst
+++ b/docs/install.rst
@@ -23,20 +23,33 @@ Bleeding-Edge
pip install ./kafka-python
-Optional LZ4 install
+Optional crc32c install
+***********************
+Highly recommended if you are using Kafka 11+ brokers. For those `kafka-python`
+uses a new message protocol version, that requires calculation of `crc32c`,
+which differs from the `zlib.crc32` hash implementation. By default `kafka-python`
+calculates it in pure python, which is quite slow. To speed it up we optionally
+support https://pypi.python.org/pypi/crc32c package if it's installed.
+
+.. code:: bash
+
+ pip install 'kafka-python[crc32c]'
+
+
+Optional ZSTD install
********************
-To enable LZ4 compression/decompression, install python-lz4:
+To enable ZSTD compression/decompression, install python-zstandard:
->>> pip install lz4
+>>> pip install 'kafka-python[zstd]'
-Optional crc32c install
+Optional LZ4 install
********************
-To enable optimized CRC32 checksum validation, install crc32c:
+To enable LZ4 compression/decompression, install python-lz4:
->>> pip install crc32c
+>>> pip install 'kafka-python[lz4]'
Optional Snappy install
@@ -77,17 +90,4 @@ Install the `python-snappy` module
.. code:: bash
- pip install python-snappy
-
-
-Optional crc32c install
-***********************
-Highly recommended if you are using Kafka 11+ brokers. For those `kafka-python`
-uses a new message protocol version, that requires calculation of `crc32c`,
-which differs from `zlib.crc32` hash implementation. By default `kafka-python`
-calculates it in pure python, which is quite slow. To speed it up we optionally
-support https://pypi.python.org/pypi/crc32c package if it's installed.
-
-.. code:: bash
-
- pip install crc32c
+ pip install 'kafka-python[snappy]'