mirror of
https://github.com/google/brotli.git
synced 2026-02-13 05:34:58 +00:00
Avoid file IO. Drive-by: drop bro.py and bro_test.py; we do not support it well and likely no one uses it. PiperOrigin-RevId: 834206605
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
This directory contains the code for the Python `brotli` module,
|
|
and roundtrip tests.
|
|
|
|
Only Python 3.10+ 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
|
|
|
|
If you already have native Brotli installed on your system and want to use
|
|
this one instead of the vendored sources, you should set
|
|
the `USE_SYSTEM_BROTLI=1` environment variable when building the wheel,
|
|
like this:
|
|
|
|
$ USE_SYSTEM_BROTLI=1 pip install brotli --no-binary brotli
|
|
|
|
Brotli is found via the `pkg-config` utility. Moreover, you must build
|
|
all 3 `brotlicommon`, `brotlienc`, and `brotlidec` components. If you're
|
|
installing brotli from the package manager, you need the development package,
|
|
like this on Fedora:
|
|
|
|
$ dnf install brotli brotli-devel
|
|
|
|
### 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 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.
|
|
|
|
[PyPI]: https://pypi.org/project/Brotli/
|
|
[development mode]: https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
|
|
[Google Python Style Guide]: https://google.github.io/styleguide/pyguide.html
|
|
[YAPF]: https://github.com/google/yapf
|
|
[YAPF usage]: https://github.com/google/yapf#usage
|