A pure C# compression library for .NET that reads and writes multiple archive formats with forward-only streaming support.
SharpCompress is a pure C# library for .NET that provides comprehensive compression and archive handling capabilities. It solves the problem of dealing with multiple archive formats in managed code by offering unified APIs to read and write popular formats like ZIP, RAR, 7Zip, and TAR, with special emphasis on streamable processing for large files.
.NET developers who need to integrate compression or archive extraction into their applications, especially those working with large files, network streams, or multiple archive formats in a cross-platform environment.
Developers choose SharpCompress for its pure C# implementation, broad format support, and forward-only streaming capabilities that avoid memory overhead. Its async APIs and customizable compression providers offer flexibility and performance advantages over built-in .NET compression options.
SharpCompress is a fully managed C# library to deal with many compression types and formats.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports reading 10+ archive types including RAR, 7Zip, and ZIP, with forward-only streams for large files, as highlighted in the README's feature list.
All I/O operations support async/await for improved scalability, with examples provided in the USAGE.md documentation for modern .NET applications.
Allows swapping built-in codecs with alternatives like System.GZip via a configurable provider registry, enabling integration with third-party solutions as detailed in the docs.
Enables on-the-fly decompression of non-seekable streams, ideal for network downloads or large file handling without full extraction, a key emphasis in the project description.
Only supports writing to ZIP, TAR, BZip2, GZip, and LZip formats, missing write functionality for many readable formats like RAR and 7Zip, which restricts archival flexibility.
The README admits that ZIP is a 'hap-hazard' format with variation in headers, making it hard to ensure correctness across all implementations, posing reliability risks.
Relies on external implementations for formats like XZ and ZStandard, sourced from other projects, which could lead to maintenance issues or version conflicts over time.