brotli/python
Ma Lin c8df4b3049
Python: use a new output buffer code (#902)
Currently, the output buffer is a std::vector<uint8_t>.
When the buffer grows, resizing will cause unnecessary memcpy().

This change uses a list of bytes object to represent output buffer, can avoid the extra overhead of resizing.
In addition, C++ code can be removed, it's a pure C extension.
2022-12-29 14:07:16 +01:00
..
tests Prepare for copybara (#939) 2021-11-10 10:34:39 +01:00
_brotli.c Python: use a new output buffer code (#902) 2022-12-29 14:07:16 +01:00
bro.py Update (#807) 2020-05-15 11:06:21 +02:00
brotli.py Update (#918) 2021-08-18 19:15:07 +02:00
Makefile disable buidling/deployment of python wheels (#583) 2017-08-23 20:45:13 +02:00
README.md Update (#590) 2017-08-28 11:31:29 +02:00

This directory contains the code for the Python brotli module, bro.py tool, and roundtrip tests.

Only Python 2.7+ is supported.

We provide a Makefile to simplify common development commands.

Installation

If you just want to install the latest release of the Python brotli module, we recommend installing from PyPI:

$ pip install brotli

Alternatively, you may install directly from source by running the following command from this directory:

$ make install

Development

You may run the following commands from this directory:

$ make          # Build the module in-place

$ make test     # Test the module

$ make clean    # Remove all temporary files and build output

If you wish to make the module available while still being able to edit the source files, you can use the setuptools "development mode":

$ make develop  # Install the module in "development mode"

Code Style

Brotli's code follows the Google Python Style Guide. To automatically format your code, first install YAPF:

$ pip install yapf

Then, to format all files in the project, you can run:

$ make fix      # Automatically format code

See the YAPF usage documentation for more information.