
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
.. image:: https://img.shields.io/pypi/v/brotlicffi :alt: Version :target: https://pypi.org/project/brotlicffi
.. image:: https://img.shields.io/conda/vn/conda-forge/brotlicffi :alt: Version-Conda :target: https://anaconda.org/conda-forge/brotlicffi
.. image:: https://pepy.tech/badge/brotlicffi :alt: Downloads :target: https://pepy.tech/project/brotlicffi
.. image:: https://img.shields.io/github/workflow/status/python-hyper/brotlicffi/CI/master :alt: CI Status :target: https://github.com/python-hyper/brotlicffi/actions
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:
.. code-block::
$ python -m pip install brotlicffi
Install from Conda:
.. code-block::
$ conda install -c conda-forge brotlicffi
To use it simply, try this:
.. code-block:: python
import brotlicffi
data = brotlicffi.decompress(compressed_data)
More information can be found in the documentation
_.
.. _available here: https://github.com/google/brotli .. _in the documentation: https://brotlipy.readthedocs.org
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:
.. code-block:: python
install_requires=[
"brotli; platform_python_implementation == 'CPython'",
"brotlicffi; platform_python_implementation != 'CPython'"
]
and then import the correct Brotli library like so:
.. code-block:: python
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.
.. _Brotli Python C bindings: https://pypi.org/project/Brotli .. _example project: https://github.com/python-hyper/brotlipy/tree/master/example
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.
manylinux_aarch64
wheelsdictionary
parameter from compress
and Compressor
google/brotli#848
_ is resolved.. _google/brotli#848: https://github.com/google/brotli/issues/848
brotlicffi
, all further updates will be
published to the new package. Using the brotlipy
is deprecated.brotli
to brotlicffi
to no longer
conflict with the Brotli
PyPI package.process()
method to Compressor
and Decompressor
.is_finished()
method to Decompressor
.decompress()
would return an empty bytestring
instead of erroring if the provided bytestring was small enough.finish()
method to the streaming decompressor.Error
).Error
to error
.Update to v0.4.0 of the Brotli library.
Update to v0.3.0 of the Brotli library.
Fix broken brotli.compress
support on Windows.
brotli.compress
through a C wrapper included in this
library.FAQs
Python CFFI bindings to the Brotli library
We found that brotlicffi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.