RecursiveAI.OneCompress
1.1.1
dotnet add package RecursiveAI.OneCompress --version 1.1.1
NuGet\Install-Package RecursiveAI.OneCompress -Version 1.1.1
<PackageReference Include="RecursiveAI.OneCompress" Version="1.1.1" />
<PackageVersion Include="RecursiveAI.OneCompress" Version="1.1.1" />
<PackageReference Include="RecursiveAI.OneCompress" />
paket add RecursiveAI.OneCompress --version 1.1.1
#r "nuget: RecursiveAI.OneCompress, 1.1.1"
#:package RecursiveAI.OneCompress@1.1.1
#addin nuget:?package=RecursiveAI.OneCompress&version=1.1.1
#tool nuget:?package=RecursiveAI.OneCompress&version=1.1.1
RecursiveAI.OneCompress
Compression codecs for .NET, written from first principles in managed code: no native libraries, and the same compressed bytes on every operating system, CPU, runtime and thread count, WebAssembly included. The only runtime dependency is the .NET base class library.
Stable from 1.0: semantic versioning, and compressed bytes per codec and level stay the same within 1.x (see the README).
- Zstandard: every level, dictionaries and dictionary training (COVER, fast-COVER), long-distance matching, multithreaded compression in fixed-size jobs, the seekable format.
- LZ4: block and frame, with dictionaries. Deflate, zlib, gzip and Deflate64. Brotli with its built-in dictionary.
- LZMA, LZMA2, xz (CRC-32, CRC-64 and SHA-256 checks; x86, ARM, ARM64, ARM-Thumb, PowerPC, SPARC, IA-64 and RISC-V branch filters; Delta) and lzip.
- bzip2, PPMd (variants H and I), and the LZX decoder.
- CRC-32, CRC-32C, CRC-64, Adler-32, xxHash32 and xxHash64, with SIMD paths.
- Three tiers: one-liners (
Zstd.Compress(data, new ZstdCompressionOptions { Level = 19 })), encoder/decoder structs and streams shaped likeBrotliEncoderandBrotliStream, and the raw parts (tables, match finders, range coders) public and documented. - Safe on hostile input: every length and table is validated, decoder memory is bounded by the declared window and checked against a configurable maximum, and errors are one typed hierarchy naming the format, the offset and what was expected.
- Trim and NativeAOT friendly: no static registry roots the codecs, so an app that uses one trims the rest; Brotli's dictionary is only in apps that use Brotli.
byte[] packed = Zstd.Compress(data, new ZstdCompressionOptions { Level = 19 });
byte[] again = Zstd.Decompress(packed);
See the README for the quick start, the speed tables against the fastest managed .NET libraries, and the safety and determinism notes; docs has one page per codec. Archives (zip, tar, 7z and more) are in RecursiveAI.OneArchive.
Licensed under MIT OR Apache-2.0. Third-party material is listed in THIRD-PARTY-NOTICES.md, included in the package.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RecursiveAI.OneCompress:
| Package | Downloads |
|---|---|
|
RecursiveAI.OneArchive
Archive and container formats in managed code, with safe extraction by default: zip (zip64, AES), tar, 7z, cpio, ar, ISO 9660, cab, RAR 5 listing, Microsoft compound files and single compressed streams, behind one Archive API. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.1 | 0 | 11/1/2026 |
| 1.1.0 | 0 | 10/31/2026 |
| 1.0.0 | 44 | 10/31/2026 |
| 0.7.0-preview.1 | 199 | 10/30/2026 |
| 0.5.1-preview.1 | 31 | 10/29/2026 |
| 0.5.0-preview.1 | 41 | 10/29/2026 |
| 0.4.0-preview.1 | 45 | 10/29/2026 |
| 0.3.0-preview.1 | 39 | 10/29/2026 |
| 0.2.0-preview.1 | 43 | 10/28/2026 |
| 0.1.0-preview.1 | 48 | 10/28/2026 |
See CHANGELOG.md in the repository.