• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

c/H14-Feb-2020-

csharp/H03-May-2022-

docs/H03-May-2022-

fetch-spec/H03-May-2022-

go/H14-Feb-2020-

java/H14-Feb-2020-

js/H03-May-2022-

python/H14-Feb-2020-

research/H14-Feb-2020-

scripts/H14-Feb-2020-

tests/H14-Feb-2020-

.editorconfigH A D14-Feb-2020660

.gitattributesH A D14-Feb-202024

.gitignoreH A D14-Feb-2020140

.gitmodulesH A D14-Feb-2020210

.travis.ymlH A D14-Feb-20205.8 KiB

BUILDH A D14-Feb-20202.6 KiB

CONTRIBUTING.mdH A D14-Feb-20201.4 KiB

LICENSEH A D14-Feb-20201.1 KiB

MANIFEST.inH A D14-Feb-2020361

MakefileH A D14-Feb-20201.4 KiB

Makefile.amH A D14-Feb-20201.2 KiB

READMEH A D14-Feb-2020652

README.mdH A D14-Feb-20203.8 KiB

WORKSPACEH A D14-Feb-2020339

bootstrapH A D14-Feb-20201.4 KiB

compiler_config_setting.bzlH A D14-Feb-20201 KiB

configureH A D14-Feb-2020425

configure-cmakeH A D14-Feb-202011.1 KiB

configure.acH A D14-Feb-2020321

premake5.luaH A D14-Feb-20201.7 KiB

setup.cfgH A D14-Feb-202053

setup.pyH A D14-Feb-20209.3 KiB

README

1BROTLI DATA COMPRESSION LIBRARY
2
3Brotli is a generic-purpose lossless compression algorithm that compresses data
4using a combination of a modern variant of the LZ77 algorithm, Huffman coding
5and 2nd order context modeling, with a compression ratio comparable to the best
6currently available general-purpose compression methods. It is similar in speed
7with deflate but offers more dense compression.
8
9The specification of the Brotli Compressed Data Format is defined in RFC 7932
10https://tools.ietf.org/html/rfc7932
11
12Brotli is open-sourced under the MIT License, see the LICENSE file.
13
14Brotli mailing list:
15https://groups.google.com/forum/#!forum/brotli
16

README.md

1<p align="center"><img src="https://brotli.org/brotli.svg" alt="Brotli" width="64"></p>
2
3### Introduction
4
5Brotli is a generic-purpose lossless compression algorithm that compresses data
6using a combination of a modern variant of the LZ77 algorithm, Huffman coding
7and 2nd order context modeling, with a compression ratio comparable to the best
8currently available general-purpose compression methods. It is similar in speed
9with deflate but offers more dense compression.
10
11The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://tools.ietf.org/html/rfc7932).
12
13Brotli is open-sourced under the MIT License, see the LICENSE file.
14
15Brotli mailing list:
16https://groups.google.com/forum/#!forum/brotli
17
18[![TravisCI Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
19[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/google/brotli?branch=master&svg=true)](https://ci.appveyor.com/project/szabadka/brotli)
20[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/brotli.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html#brotli)
21
22### Build instructions
23
24#### Vcpkg
25
26You can download and install brotli using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
27
28    git clone https://github.com/Microsoft/vcpkg.git
29    cd vcpkg
30    ./bootstrap-vcpkg.sh
31    ./vcpkg integrate install
32    vcpkg install brotli
33
34The brotli port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
35
36#### Autotools-style CMake
37
38[configure-cmake](https://github.com/nemequ/configure-cmake) is an
39autotools-style configure script for CMake-based projects (not supported on Windows).
40
41The basic commands to build, test and install brotli are:
42
43    $ mkdir out && cd out
44    $ ../configure-cmake
45    $ make
46    $ make test
47    $ make install
48
49By default, debug binaries are built. To generate "release" `Makefile` specify `--disable-debug` option to `configure-cmake`.
50
51#### Bazel
52
53See [Bazel](http://www.bazel.build/)
54
55#### CMake
56
57The basic commands to build and install brotli are:
58
59    $ mkdir out && cd out
60    $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed ..
61    $ cmake --build . --config Release --target install
62
63You can use other [CMake](https://cmake.org/) configuration.
64
65#### Premake5
66
67See [Premake5](https://premake.github.io/)
68
69#### Python
70
71To install the latest release of the Python module, run the following:
72
73    $ pip install brotli
74
75To install the tip-of-the-tree version, run:
76
77    $ pip install --upgrade git+https://github.com/google/brotli
78
79See the [Python readme](python/README.md) for more details on installing
80from source, development, and testing.
81
82### Benchmarks
83* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
84* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
85* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
86
87### Related projects
88> **Disclaimer:** Brotli authors take no responsibility for the third party projects mentioned in this section.
89
90Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
91
92JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`
93
94Hand ported [decoder / encoder](https://github.com/dominikhlbg/BrotliHaxe) in haxe by Dominik Homberger. Output source code: JavaScript, PHP, Python, Java and C#
95
967Zip [plugin](https://github.com/mcmilk/7-Zip-Zstd)
97
98Dart [native bindings](https://github.com/thosakwe/brotli)
99