{"id":51002603,"url":"https://github.com/muhammad-fiaz/archive.zig","last_synced_at":"2026-06-20T16:32:40.117Z","repository":{"id":334550759,"uuid":"1141785807","full_name":"muhammad-fiaz/archive.zig","owner":"muhammad-fiaz","description":"All-in-One archive and compression library for Zig, supporting multiple compression algorithms and archive formats with a clean, intuitive API.","archived":false,"fork":false,"pushed_at":"2026-01-29T21:28:34.000Z","size":218,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-22T15:40:31.809Z","etag":null,"topics":["compression-zig-library","decompress-zig","zig","zig-compress","zig-compression","zig-compression-lib","zig-lang","zig-language","zig-lib","zig-library","zig-package"],"latest_commit_sha":null,"homepage":"https://muhammad-fiaz.github.io/archive.zig/","language":"Zig","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/muhammad-fiaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["muhammad-fiaz"],"ko_fi":"muhammadfiaz","custom":["https://pay.muhammadfiaz.com"]}},"created_at":"2026-01-25T12:34:54.000Z","updated_at":"2026-01-30T09:16:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d07b9e1-49fb-4189-8c96-09daf2d6a2e4","html_url":"https://github.com/muhammad-fiaz/archive.zig","commit_stats":null,"previous_names":["muhammad-fiaz/archive.zig"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/muhammad-fiaz/archive.zig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammad-fiaz%2Farchive.zig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammad-fiaz%2Farchive.zig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammad-fiaz%2Farchive.zig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammad-fiaz%2Farchive.zig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhammad-fiaz","download_url":"https://codeload.github.com/muhammad-fiaz/archive.zig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammad-fiaz%2Farchive.zig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34578089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-zig-library","decompress-zig","zig","zig-compress","zig-compression","zig-compression-lib","zig-lang","zig-language","zig-lib","zig-library","zig-package"],"created_at":"2026-06-20T16:32:38.996Z","updated_at":"2026-06-20T16:32:40.084Z","avatar_url":"https://github.com/muhammad-fiaz.png","language":"Zig","funding_links":["https://github.com/sponsors/muhammad-fiaz","https://ko-fi.com/muhammadfiaz","https://pay.muhammadfiaz.com"],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e Archive.zig\u003c/h1\u003e \n\n  \u003ca href=\"https://muhammad-fiaz.github.io/archive.zig/\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs-muhammad--fiaz.github.io-blue\" alt=\"Documentation\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://ziglang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Zig-0.15.2-orange.svg?logo=zig\" alt=\"Zig Version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/muhammad-fiaz/archive.zig\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/muhammad-fiaz/archive.zig\" alt=\"GitHub issues\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/muhammad-fiaz/archive.zig\" alt=\"GitHub pull requests\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/muhammad-fiaz/archive.zig\" alt=\"GitHub last commit\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig\"\u003e\u003cimg src=\"https://img.shields.io/github/license/muhammad-fiaz/archive.zig\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platforms-linux%20%7C%20windows%20%7C%20macos-blue\" alt=\"Supported Platforms\"\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/github-code-scanning/codeql\"\u003e\u003cimg src=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/github-code-scanning/codeql/badge.svg\" alt=\"CodeQL\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/release.yml\"\u003e\u003cimg src=\"https://github.com/muhammad-fiaz/archive.zig/actions/workflows/release.yml/badge.svg\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/muhammad-fiaz/archive.zig/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/muhammad-fiaz/archive.zig?label=Latest%20Release\u0026style=flat-square\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pay.muhammadfiaz.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor-pay.muhammadfiaz.com-ff69b4?style=flat\u0026logo=heart\" alt=\"Sponsor\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/sponsors/muhammad-fiaz\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor-💖-pink?style=social\u0026logo=github\" alt=\"GitHub Sponsors\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hits.sh/muhammad-fiaz/archive.zig/\"\u003e\u003cimg src=\"https://hits.sh/muhammad-fiaz/archive.zig.svg?label=Visitors\u0026extraCount=0\u0026color=green\" alt=\"Repo Visitors\"\u003e\u003c/a\u003e\n\n  \u003cp\u003e\u003cem\u003eA comprehensive, high-performance archive and compression library for Zig.\u003c/em\u003e\u003c/p\u003e\n\n  \u003cb\u003e\n    \u003ca href=\"https://muhammad-fiaz.github.io/archive.zig/\"\u003eDocumentation\u003c/a\u003e |\n    \u003ca href=\"https://muhammad-fiaz.github.io/archive.zig/api/archive\"\u003eAPI Reference\u003c/a\u003e |\n    \u003ca href=\"https://muhammad-fiaz.github.io/archive.zig/guide/quick-start\"\u003eQuick Start\u003c/a\u003e |\n    \u003ca href=\"CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e\n  \u003c/b\u003e\n\u003c/div\u003e\n\nAll-in-One archive and compression library for Zig, supporting multiple compression algorithms and archive formats with a clean, intuitive API.\n\n**⭐️ If you love `archive.zig`, make sure to give it a star! ⭐️**\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTable of Contents\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n- [Prerequisites](#prerequisites)\n- [Supported Platforms](#supported-platforms)\n- [Supported Algorithms](#supported-algorithms)\n- [Installation](#installation)\n  - [Method 1: Zig Fetch (Recommended)](#method-1-zig-fetch-recommended)\n  - [Method 2: Manual Configuration](#method-2-manual-configuration)\n  - [Method 3: Building from Source](#method-3-building-from-source)\n- [Quick Start](#quick-start)\n- [Usage Examples](#usage-examples)\n  - [Basic Compression](#basic-compression)\n  - [Configuration Presets](#configuration-presets)\n  - [Builder Pattern](#builder-pattern)\n  - [Auto-Detection](#auto-detection)\n  - [File Operations](#file-operations)\n  - [Streaming Interface](#streaming-interface)\n- [Configuration](#configuration)\n- [API Reference](#api-reference)\n- [Building](#building)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [License](#license)\n- [Links](#links)\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFeatures of Archive.zig\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n| Feature | Description | Documentation |\n|---------|-------------|---------------|\n| **Multiple Algorithms** | Support for 9 compression algorithms: gzip, zlib, deflate, zstd, lz4, lzma, xz, tar.gz, zip | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/algorithms) |\n| **Simple \u0026 Clean API** | User-friendly compression interface (`archive.compress()`, `archive.decompress()`, etc.) | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/getting-started) |\n| **Configuration Presets** | Pre-configured settings for fast, balanced, best compression, and production use | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/configuration) |\n| **Builder Pattern** | Fluent API for configuring compression with method chaining | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/builder) |\n| **Auto-Detection** | Automatic algorithm detection from compressed data headers | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/auto-detection) |\n| **Streaming Interface** | Memory-efficient streaming compression and decompression | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/streaming) |\n| **File Operations** | Direct file compression and decompression with proper error handling | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/file-operations) |\n| **Cross-Platform** | Works on Windows, Linux, macOS, and bare metal targets | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/platforms) |\n| **Thread-Safe** | Safe concurrent compression from multiple threads | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/threading) |\n| **Memory Efficient** | Optimized memory usage with configurable buffer sizes | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/memory) |\n| **Error Handling** | Comprehensive error types and proper error propagation | [Docs](https://muhammad-fiaz.github.io/archive.zig/guide/errors) |\n| **Utility Functions** | Helper functions for size formatting, CRC calculation, and more | [Docs](https://muhammad-fiaz.github.io/archive.zig/api/utils) |\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePrerequisites \u0026 Supported Platforms\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n## Prerequisites\n\nBefore installing Archive.zig, ensure you have the following:\n\n| Requirement | Version | Notes |\n|-------------|---------|-------|\n| **Zig** | 0.15.0+ | Download from [ziglang.org](https://ziglang.org/download/) |\n| **Operating System** | Windows 10+, Linux, macOS | Cross-platform support |\n| **Memory** | 64MB+ available | For compression operations |\n\n\u003e Verify your Zig installation by running `zig version` in your terminal.\n\n---\n\n## Supported Platforms\n\nArchive.zig supports a wide range of platforms and architectures:\n\n| Platform | Architectures | Status |\n|----------|---------------|--------|\n| **Windows** | x86_64, x86 | Full support |\n| **Linux** | x86_64, x86, aarch64 | Full support |\n| **macOS** | x86_64, aarch64 (Apple Silicon) | Full support |\n| **Bare Metal / Freestanding** | x86_64, aarch64, arm, riscv64 | Full support |\n\n---\n\n## Supported Algorithms\n\n| Algorithm | Extension | Description | Performance |\n|-----------|-----------|-------------|-------------|\n| **gzip** | `.gz` | GNU zip compression with CRC32 | Fast |\n| **zlib** | `.zlib` | Deflate with Adler32 checksum | Fast |\n| **deflate** | `.deflate` | Raw deflate compression | Fastest |\n| **zstd** | `.zst` | Zstandard - modern, fast compression | Very Fast |\n| **lz4** | `.lz4` | Ultra-fast compression | Fastest |\n| **lzma** | `.lzma` | High compression ratio | Slow |\n| **xz** | `.xz` | LZMA2-based compression | Slow |\n| **tar.gz** | `.tar.gz` | TAR archive with gzip compression | Fast |\n| **zip** | `.zip` | ZIP archive format | Fast |\n\n\u003c/details\u003e\n\n---\n\n## Installation\n\n### Method 1: Zig Fetch (Recommended)\n\nThe easiest way to add Archive.zig to your project:\n\n```bash\nzig fetch --save https://github.com/muhammad-fiaz/archive.zig/archive/refs/tags/0.0.1.tar.gz\n```\n\nThis automatically adds the dependency with the correct hash to your `build.zig.zon`.\n\n### Method 2: Manual Configuration\n\nAdd to your `build.zig.zon`:\n\n```zig\n.dependencies = .{\n    .archive = .{\n        .url = \"https://github.com/muhammad-fiaz/archive.zig/archive/refs/tags/0.0.1.tar.gz\",\n        .hash = \"...\", // Run zig fetch to get the hash\n    },\n},\n```\n\nThen in your `build.zig`:\n\n```zig\nconst archive = b.dependency(\"archive\", .{\n    .target = target,\n    .optimize = optimize,\n});\n\nexe.root_module.addImport(\"archive\", archive.module(\"archive\"));\n```\n\n### Method 3: Building from Source\n\nClone the repository and build Archive.zig:\n\n```bash\ngit clone https://github.com/muhammad-fiaz/archive.zig.git\ncd archive.zig\nzig build\n```\n\n## Quick Start\n\n```zig\nconst std = @import(\"std\");\nconst archive = @import(\"archive\");\n\npub fn main() !void {\n    var gpa = std.heap.GeneralPurposeAllocator(.{}){};\n    defer _ = gpa.deinit();\n    const allocator = gpa.allocator();\n\n    // Basic compression\n    const input = \"Hello, World! This is a test of the archive library.\";\n    \n    // Compress with different algorithms\n    const gzip_compressed = try archive.compress(allocator, input, .gzip);\n    defer allocator.free(gzip_compressed);\n    \n    const zstd_compressed = try archive.compress(allocator, input, .zstd);\n    defer allocator.free(zstd_compressed);\n    \n    // Decompress\n    const decompressed = try archive.decompress(allocator, gzip_compressed, .gzip);\n    defer allocator.free(decompressed);\n    \n    std.debug.print(\"Original: {s}\\n\", .{input});\n    std.debug.print(\"Decompressed: {s}\\n\", .{decompressed});\n    std.debug.print(\"Compression ratio: {d:.1}%\\n\", .{\n        @as(f64, @floatFromInt(gzip_compressed.len)) / @as(f64, @floatFromInt(input.len)) * 100\n    });\n}\n```\n\n## Usage Examples\n\n### Basic Compression\n\n```zig\nconst std = @import(\"std\");\nconst archive = @import(\"archive\");\n\npub fn basicCompression(allocator: std.mem.Allocator) !void {\n    const input = \"Hello, World! This is a test of compression.\";\n    \n    // Try different algorithms\n    const algorithms = [_]archive.Algorithm{\n        .gzip, .zlib, .deflate, .zstd, .lz4, .lzma, .xz, .tar_gz, .zip\n    };\n    \n    for (algorithms) |algo| {\n        const compressed = try archive.compress(allocator, input, algo);\n        defer allocator.free(compressed);\n        \n        const decompressed = try archive.decompress(allocator, compressed, algo);\n        defer allocator.free(decompressed);\n        \n        const ratio = @as(f64, @floatFromInt(compressed.len)) / @as(f64, @floatFromInt(input.len)) * 100;\n        std.debug.print(\"{s}: {d} bytes ({d:.1}%)\\n\", .{ @tagName(algo), compressed.len, ratio });\n    }\n}\n```\n\n### Configuration Presets\n\n```zig\npub fn configurationPresets(allocator: std.mem.Allocator) !void {\n    const input = \"Configuration preset test data for compression.\";\n    \n    // Use different presets\n    const presets = [_]archive.CompressionConfig{\n        archive.CompressionConfig.fast(),\n        archive.CompressionConfig.balanced(),\n        archive.CompressionConfig.best(),\n        archive.CompressionConfig.zstd(),\n        archive.CompressionConfig.production(),\n    };\n    \n    for (presets) |preset| {\n        const compressed = try archive.compressWithConfig(allocator, input, preset);\n        defer allocator.free(compressed);\n        \n        std.debug.print(\"Preset: {d} bytes\\n\", .{compressed.len});\n    }\n}\n```\n\n### Builder Pattern\n\n```zig\npub fn builderPattern(allocator: std.mem.Allocator) !void {\n    const input = \"Builder pattern example data.\";\n    \n    // Configure compression with builder pattern\n    const compressor = archive.Compressor.init(allocator, .gzip)\n        .withLevel(6)\n        .withChecksum();\n    \n    const compressed = try compressor.compress_data(input);\n    defer allocator.free(compressed);\n    \n    const decompressed = try compressor.decompress_data(compressed);\n    defer allocator.free(decompressed);\n    \n    std.debug.print(\"Builder pattern: {d} bytes\\n\", .{compressed.len});\n}\n```\n\n### Auto-Detection\n\n```zig\npub fn autoDetection(allocator: std.mem.Allocator) !void {\n    const input = \"Auto-detection test data.\";\n    \n    // Compress with gzip\n    const compressed = try archive.compress(allocator, input, .gzip);\n    defer allocator.free(compressed);\n    \n    // Auto-detect algorithm and decompress\n    const detected = archive.detectAlgorithm(compressed);\n    const auto_decomp = try archive.autoDecompress(allocator, compressed);\n    defer allocator.free(auto_decomp);\n    \n    std.debug.print(\"Detected algorithm: {?}\\n\", .{detected});\n    std.debug.print(\"Auto-decompressed: {s}\\n\", .{auto_decomp});\n}\n```\n\n### File Operations\n\n```zig\npub fn fileOperations(allocator: std.mem.Allocator) !void {\n    const test_data = \"This is test data for file operations.\";\n    \n    // Write test file\n    try std.fs.cwd().writeFile(.{ .sub_path = \"test.txt\", .data = test_data });\n    \n    // Compress to file\n    const compressed = try archive.compress(allocator, test_data, .gzip);\n    defer allocator.free(compressed);\n    \n    try std.fs.cwd().writeFile(.{ .sub_path = \"test.gz\", .data = compressed });\n    \n    // Read and decompress\n    const read_compressed = try std.fs.cwd().readFileAlloc(allocator, \"test.gz\", 1024 * 1024);\n    defer allocator.free(read_compressed);\n    \n    const decompressed = try archive.decompress(allocator, read_compressed, .gzip);\n    defer allocator.free(decompressed);\n    \n    std.debug.print(\"File operations successful: {}\\n\", .{std.mem.eql(u8, test_data, decompressed)});\n    \n    // Cleanup\n    std.fs.cwd().deleteFile(\"test.txt\") catch {};\n    std.fs.cwd().deleteFile(\"test.gz\") catch {};\n}\n```\n\n### Streaming Interface\n\n```zig\npub fn streamingInterface(allocator: std.mem.Allocator) !void {\n    const input = \"Large data for streaming compression...\";\n    \n    // Create streaming compressor\n    var compressor = try archive.StreamingCompressor.init(allocator, .gzip);\n    defer compressor.deinit();\n    \n    // Compress in chunks\n    try compressor.write(input[0..10]);\n    try compressor.write(input[10..]);\n    const compressed = try compressor.finish();\n    defer allocator.free(compressed);\n    \n    // Create streaming decompressor\n    var decompressor = try archive.StreamingDecompressor.init(allocator, .gzip);\n    defer decompressor.deinit();\n    \n    const decompressed = try decompressor.decompress(compressed);\n    defer allocator.free(decompressed);\n    \n    std.debug.print(\"Streaming: {s}\\n\", .{decompressed});\n}\n```\n\n## Configuration\n\n```zig\n// Basic configuration\nvar config = archive.CompressionConfig.default();\nconfig.level = 6;\nconfig.checksum = true;\n\n// Use configuration\nconst compressed = try archive.compressWithConfig(allocator, data, config);\n\n// Preset configurations\nconst fast_config = archive.CompressionConfig.fast();\nconst best_config = archive.CompressionConfig.best();\nconst production_config = archive.CompressionConfig.production();\n\n// Algorithm-specific configurations\nconst zstd_config = archive.CompressionConfig.zstdWithLevel(15);\nconst lz4_config = archive.CompressionConfig.lz4Fast();\n```\n\n## API Reference\n\n### Core Functions\n\n```zig\n// Basic compression/decompression\npub fn compress(allocator: Allocator, data: []const u8, algorithm: Algorithm) ![]u8\npub fn decompress(allocator: Allocator, data: []const u8, algorithm: Algorithm) ![]u8\n\n// With configuration\npub fn compressWithConfig(allocator: Allocator, data: []const u8, config: CompressionConfig) ![]u8\n\n// Auto-detection\npub fn detectAlgorithm(data: []const u8) ?Algorithm\npub fn autoDecompress(allocator: Allocator, data: []const u8) ![]u8\n```\n\n### Algorithms\n\n```zig\npub const Algorithm = enum {\n    gzip,\n    zlib,\n    deflate,\n    zstd,\n    lz4,\n    lzma,\n    xz,\n    tar_gz,\n    zip,\n    \n    pub fn extension(self: Algorithm) []const u8\n};\n```\n\n### Configuration\n\n```zig\npub const CompressionConfig = struct {\n    algorithm: Algorithm,\n    level: ?u8,\n    checksum: bool,\n    include_patterns: []const []const u8,\n    exclude_patterns: []const []const u8,\n    \n    pub fn fast() CompressionConfig\n    pub fn balanced() CompressionConfig\n    pub fn best() CompressionConfig\n    pub fn zstd() CompressionConfig\n    pub fn production() CompressionConfig\n};\n```\n\n## Building\n\n```bash\n# Run tests\nzig build test\n\n# Build library\nzig build\n\n# Run examples\nzig build run\n\n# Build documentation\nzig build docs\n```\n\n## Documentation\n\n### Online Documentation\n\nFull documentation is available at: https://muhammad-fiaz.github.io/archive.zig\n\n### Generating Local Documentation\n\nTo generate documentation locally:\n\n```bash\nzig build docs\n```\n\nThis will generate HTML documentation in the `zig-out/docs/` directory.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Links\n\n- **Documentation**: https://muhammad-fiaz.github.io/archive.zig\n- **Repository**: https://github.com/muhammad-fiaz/archive.zig\n- **Issues**: https://github.com/muhammad-fiaz/archive.zig/issues\n- **Releases**: https://github.com/muhammad-fiaz/archive.zig/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammad-fiaz%2Farchive.zig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhammad-fiaz%2Farchive.zig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammad-fiaz%2Farchive.zig/lists"}