Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/badboy/minilzo-rs

A wrapper for minilzo, a lightweight subset of the LZO library
https://github.com/badboy/minilzo-rs

Last synced: 24 days ago
JSON representation

A wrapper for minilzo, a lightweight subset of the LZO library

Awesome Lists containing this project

README

        

# minilzo-rs - A wrapper around minilzo, the lightweight subset of the LZO library

[![Build Status](https://travis-ci.org/badboy/minilzo-rs.svg?branch=master)](https://travis-ci.org/badboy/minilzo-rs)
[![crates.io](http://meritbadge.herokuapp.com/minilzo)](https://crates.io/crates/minilzo)

LZO is a compression library with focus on decompression speed.
originally implemented by Markus F.X.J. Oberhumer.
minilzo is a lightweight subset of the full LZO library.

It is available [online as a C library](http://www.oberhumer.com/opensource/lzo/#minilzo).

This rust library is a wrapper around the minilzo library
and is fully compatible with LZO/minilzo compressed data.

## Build

```
cargo build --release
```

## Usage

```rust
use minilzo;

fn main() {
let data = b"foobar";

let compressed = minilzo::compress(&data[..]).unwrap();

let decompressed = minilzo::decompress(&compressed, data.len()).unwrap();
}
```

## Tests

Run tests with:

```
cargo test
```

Run benchmarks with:

```
cargo bench
```

## License

The `minilzo-rs` wrapper library is licensed under the terms of the [MIT License](LICENSE).
LZO itself is licensed under the terms of the [GNU General Public License](http://www.oberhumer.com/opensource/gpl.html) (GPL v2+).