summaryrefslogtreecommitdiff
path: root/docs/index.rst
diff options
context:
space:
mode:
authorJeff Widman <jeff@jeffwidman.com>2020-11-15 12:10:12 -0800
committerGitHub <noreply@github.com>2020-11-15 12:10:12 -0800
commitb0c59303fc71c287b001c83ca123d57c58085f1a (patch)
treedcf841b0daab44ac21ac32804e995f420113658d /docs/index.rst
parent8b8a48ba09677e38088c61ade2dab2e42198ab3f (diff)
downloadkafka-python-b0c59303fc71c287b001c83ca123d57c58085f1a.tar.gz
Cleanup install instructions for optional libs (#2139)
This cleans up the install instructions to specify that optional libs should be installed using the `kafka-python[opt]` format. This leverages `setuptools`' `extra_requires` feature to let our users choose to inherit any versions pins we might apply to our optional dependencies. This also re-orders the docs slightly to give more visibility to the `crc32c` install because users are unlikely to realize it exists. It also cleans up the formatting of the compression libraries slightly, as they were getting a little unwieldy.
Diffstat (limited to 'docs/index.rst')
-rw-r--r--docs/index.rst25
1 files changed, 20 insertions, 5 deletions
diff --git a/docs/index.rst b/docs/index.rst
index 536a058..1f2a4ce 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
********