Blame README.md

Packit Service 214d95

Brotli

Packit Service 214d95
Packit Service 214d95
### Introduction
Packit Service 214d95
Packit Service 214d95
Brotli is a generic-purpose lossless compression algorithm that compresses data
Packit Service 214d95
using a combination of a modern variant of the LZ77 algorithm, Huffman coding
Packit Service 214d95
and 2nd order context modeling, with a compression ratio comparable to the best
Packit Service 214d95
currently available general-purpose compression methods. It is similar in speed
Packit Service 214d95
with deflate but offers more dense compression.
Packit Service 214d95
Packit Service 214d95
The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://tools.ietf.org/html/rfc7932).
Packit Service 214d95
Packit Service 214d95
Brotli is open-sourced under the MIT License, see the LICENSE file.
Packit Service 214d95
Packit Service 214d95
Brotli mailing list:
Packit Service 214d95
https://groups.google.com/forum/#!forum/brotli
Packit Service 214d95
Packit Service 214d95
[![TravisCI Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
Packit Service 214d95
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/google/brotli?branch=master&svg=true)](https://ci.appveyor.com/project/szabadka/brotli)
Packit Service 214d95
Packit Service 214d95
### Build instructions
Packit Service 214d95
Packit Service 214d95
#### Autotools-style CMake
Packit Service 214d95
Packit Service 214d95
[configure-cmake](https://github.com/nemequ/configure-cmake) is an
Packit Service 214d95
autotools-style configure script for CMake-based projects (not supported on Windows).
Packit Service 214d95
Packit Service 214d95
The basic commands to build, test and install brotli are:
Packit Service 214d95
Packit Service 214d95
    $ mkdir out && cd out
Packit Service 214d95
    $ ../configure-cmake
Packit Service 214d95
    $ make
Packit Service 214d95
    $ make test
Packit Service 214d95
    $ make install
Packit Service 214d95
  
Packit Service 214d95
By default, debug binaries are built. To generate "release" `Makefile` specify `--disable-debug` option to `configure-cmake`.
Packit Service 214d95
Packit Service 214d95
#### Bazel
Packit Service 214d95
Packit Service 214d95
See [Bazel](http://www.bazel.build/)
Packit Service 214d95
Packit Service 214d95
#### CMake
Packit Service 214d95
Packit Service 214d95
The basic commands to build and install brotli are:
Packit Service 214d95
Packit Service 214d95
    $ mkdir out && cd out
Packit Service 214d95
    $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed ..
Packit Service 214d95
    $ cmake --build . --config Release --target install
Packit Service 214d95
Packit Service 214d95
You can use other [CMake](https://cmake.org/) configuration.
Packit Service 214d95
Packit Service 214d95
#### Premake5
Packit Service 214d95
Packit Service 214d95
See [Premake5](https://premake.github.io/)
Packit Service 214d95
Packit Service 214d95
#### Python
Packit Service 214d95
Packit Service 214d95
To install the latest release of the Python module, run the following:
Packit Service 214d95
Packit Service 214d95
    $ pip install brotli
Packit Service 214d95
Packit Service 214d95
To install the tip-of-the-tree version, run:
Packit Service 214d95
Packit Service 214d95
    $ pip install --upgrade git+https://github.com/google/brotli
Packit Service 214d95
Packit Service 214d95
See the [Python readme](python/README.md) for more details on installing
Packit Service 214d95
from source, development, and testing.
Packit Service 214d95
Packit Service 214d95
### Benchmarks
Packit Service 214d95
* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
Packit Service 214d95
* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
Packit Service 214d95
* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
Packit Service 214d95
Packit Service 214d95
### Related projects
Packit Service 214d95
> **Disclaimer:** Brotli authors take no responsibility for the third party projects mentioned in this section.
Packit Service 214d95
Packit Service 214d95
Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
Packit Service 214d95
Packit Service 214d95
JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`
Packit Service 214d95
Packit Service 214d95
Hand ported [decoder / encoder](https://github.com/dominikhlbg/BrotliHaxe) in haxe by Dominik Homberger. Output source code: JavaScript, PHP, Python, Java and C#
Packit Service 214d95
Packit Service 214d95
7Zip [plugin](https://github.com/mcmilk/7-Zip-Zstd)
Packit Service 214d95
Packit Service 214d95
Dart [native bindings](https://github.com/thosakwe/brotli)