This library contains Python CFFI bindings for the reference Brotli encoder/decoder, available here. This allows Python software to use the Brotli compression algorithm directly from Python code.
Install from PyPI:
$ python -m pip install brotlicffi
Install from Conda:
$ conda install -c conda-forge brotlicffi
To use it simply, try this:
import brotlicffi
data = brotlicffi.decompress(compressed_data)
More information can be found in the documentation.
The API is 100% compatible with the Brotli Python C bindings. We recommend installing the C bindings on CPython and the CFFI bindings everywhere else (PyPy, etc)
Essentially you use requirements like this:
install_requires=[ "brotli; platform_python_implementation == 'CPython'", "brotlicffi; platform_python_implementation != 'CPython'" ]
and then import the correct Brotli library like so:
try: import brotlicffi as brotli except ImportError: import brotli
We provide an example project that shows how to use both libraries together to support Brotli with multiple Python implementations.
The source code of BrotliCFFI is available under the MIT license. Brotli itself is made available under the Version 2.0 of the Apache Software License. See the LICENSE and libbrotli/LICENSE files for more information.
BrotliCFFI/brotlipy was authored by Cory Benfield and is currently maintained by Seth Michael Larson.