{"id":16687861,"url":"https://github.com/picohz/lzzzz","last_synced_at":"2025-04-06T12:11:46.231Z","repository":{"id":43016404,"uuid":"269355726","full_name":"picoHz/lzzzz","owner":"picoHz","description":"Full-featured liblz4 binding for Rust","archived":false,"fork":false,"pushed_at":"2024-07-07T04:12:37.000Z","size":1104,"stargazers_count":67,"open_issues_count":1,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-13T15:25:21.457Z","etag":null,"topics":["compression","decompression","liblz4","lz4","lz4-hc","lz4f","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/picoHz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-04T12:38:30.000Z","updated_at":"2024-09-21T06:19:37.000Z","dependencies_parsed_at":"2024-06-21T05:45:28.909Z","dependency_job_id":"2bdeda3d-b5ef-443f-8a93-3890c5c1dc23","html_url":"https://github.com/picoHz/lzzzz","commit_stats":{"total_commits":117,"total_committers":6,"mean_commits":19.5,"dds":"0.46153846153846156","last_synced_commit":"8110637c87f04a1ebcf26cab14c861eb5328a589"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/picoHz%2Flzzzz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/picoHz%2Flzzzz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/picoHz%2Flzzzz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/picoHz%2Flzzzz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/picoHz","download_url":"https://codeload.github.com/picoHz/lzzzz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247478324,"owners_count":20945266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compression","decompression","liblz4","lz4","lz4-hc","lz4f","rust"],"created_at":"2024-10-12T15:25:26.897Z","updated_at":"2025-04-06T12:11:46.212Z","avatar_url":"https://github.com/picoHz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"lzzzz\" src=\"lzzzz.png\" height=\"80\" /\u003e\n\nFull-featured [liblz4](https://github.com/lz4/lz4) binding for Rust\n\n[![Crates.io](https://img.shields.io/crates/v/lzzzz.svg)](https://crates.io/crates/lzzzz)\n[![GitHub license](https://img.shields.io/github/license/picoHz/lzzzz.svg)](https://github.com/picoHz/lzzzz/blob/master/LICENSE)\n[![Rustdoc](https://img.shields.io/badge/doc-rustdoc-green.svg)](https://docs.rs/lzzzz)\n![Rust](https://github.com/picoHz/lzzzz/workflows/Rust/badge.svg)\n\n\u003c/div\u003e\n\n---\n\n## About\n\nRust APIs for the [LZ4](https://lz4.github.io/lz4/) compression algorithm.\n\n- Supports almost all liblz4 features\n- Zero dependencies except liblz4\n- Tested on Windows / macOS / Linux\n\n## Usage\n\nAdd this to your `Cargo.toml`:\n\n```toml\n[dependencies]\nlzzzz = \"2.0.0\"\n```\n\n[API Documentation](https://docs.rs/lzzzz)\n\n## Features\n\n- LZ4\n    - Compression (Block / Streaming)\n    - Decompression (Block / Streaming)\n    - Partial Decompression\n    - Custom Dictionary\n- LZ4_HC \n    - Compression (Block / Streaming)\n    - Partial Compression\n    - Custom Dictionary\n- LZ4F \n    - Compression\n    - Decompression\n    - Custom Dictionary\n    - Streaming I/O (`Read` / `BufRead` / `Write`)\n\n## Examples\n\n### Block Mode\n\n```rust\nuse lzzzz::{lz4, lz4_hc, lz4f};\n\nlet data = b\"The quick brown fox jumps over the lazy dog.\";\n\n// LZ4 compression\nlet mut comp = Vec::new();\nlz4::compress_to_vec(data, \u0026mut comp, lz4::ACC_LEVEL_DEFAULT)?;\n\n// LZ4_HC compression\nlet mut comp = Vec::new();\nlz4_hc::compress_to_vec(data, \u0026mut comp, lz4_hc::CLEVEL_DEFAULT)?;\n\n// LZ4/LZ4_HC decompression\nlet mut decomp = vec![0; data.len()];\nlz4::decompress(\u0026comp, \u0026mut decomp)?;\n\n// LZ4F compression\nlet prefs = lz4f::Preferences::default();\nlet mut comp = Vec::new();\nlz4f::compress_to_vec(data, \u0026mut comp, \u0026prefs)?;\n\n// LZ4F decompression\nlet mut decomp = Vec::new();\nlz4f::decompress_to_vec(\u0026comp, \u0026mut decomp)?;\n```\n\n### Streaming Mode\n\n```rust\nuse lzzzz::{lz4, lz4_hc};\n\nlet data = b\"The quick brown fox jumps over the lazy dog.\";\n\n// LZ4 compression\nlet mut comp = lz4::Compressor::new()?;\nlet mut buf = Vec::new();\ncomp.next_to_vec(data, \u0026mut buf, lz4::ACC_LEVEL_DEFAULT)?;\n\n// LZ4_HC compression\nlet mut comp = lz4_hc::Compressor::new()?;\nlet mut buf = Vec::new();\ncomp.next_to_vec(data, \u0026mut buf)?;\n\n// LZ4/LZ4_HC decompression\nlet mut decomp = lz4::Decompressor::new()?;\nlet result = decomp.next(\u0026data, data.len())?;\n```\n\n```rust\nuse lzzzz::lz4f::{WriteCompressor, ReadDecompressor, Preferences};\nuse std::{fs::File, io::prelude::*};\n\n// LZ4F Write-based compression\nlet mut f = File::create(\"foo.lz4\")?;\nlet mut w = WriteCompressor::new(\u0026mut f, Preferences::default())?;\nw.write_all(b\"Hello world!\")?;\n\n// LZ4F Read-based decompression\nlet mut f = File::open(\"foo.lz4\")?;\nlet mut r = ReadDecompressor::new(\u0026mut f)?;\nlet mut buf = Vec::new();\nr.read_to_end(\u0026mut buf)?;\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpicohz%2Flzzzz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpicohz%2Flzzzz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpicohz%2Flzzzz/lists"}