Skip to main content

High-performance deduplicated archives

Project description

Hexz

High-performance, deduplicated archive format for large-scale data distribution.

Hexz is a single-file archive format (.hxz) designed for storing and distributing massive datasets, disk images, and binary blobs. Unlike traditional archive formats (tar, zip) or deduplication tools (Git LFS), Hexz archives are natively seekable, allowing you to mount a multi-terabyte archive and access any byte instantly without decompressing the entire file.

Key Features

  • Block-Level Deduplication: Uses Content-Defined Chunking (CDC) to identify shared blocks across different versions of the same data, even if offsets shift.
  • Random Access (Seekable): O(1) seek time. Mount archives via FUSE to treat them as standard block devices or filesystems.
  • Thin Archives (Deltas): Create archives that only store changed blocks, referencing a "base" archive for common data. Ideal for versioning large datasets.
  • Git-like Workspaces: Checkout archives into writable workspaces. Hexz creates a standard, transparent directory structure using advanced FUSE passthrough while keeping state securely isolated in global storage (~/.hexz/workspaces/).
  • Transparent Compression & Encryption: Supports LZ4 and Zstandard compression, and AES-256-GCM encryption.
  • Self-Contained: A single .hxz file contains the data, the index, and the metadata. No complex repository structure required.
  • Cloud Native: Supports byte-range requests for on-demand fetching from S3-compatible object storage.

Why Hexz?

Feature Git LFS Hexz
Deduplication File-level Block-level (CDC)
Access Pattern Full Download Random Access (Seekable)
Update Efficiency Re-upload whole file Only upload changed blocks
Mountable No Yes (FUSE)

Quick Start

Install

make install

Pack an archive

hexz pack ./large_dataset.bin data.hxz --compression zstd

Mount and inspect

mkdir /mnt/data
hexz mount data.hxz /mnt/data
ls -lh /mnt/data
# Access contents via /mnt/data/disk

Create a thin delta

# Create a new version that dedups against the base
hexz pack ./large_dataset_v2.bin v2.hxz --base v1.hxz

Workspaces (Git-like Workflow)

# Checkout an archive into a writable workspace
hexz checkout data.hxz ./my_workspace
cd my_workspace

# Make changes to the mounted files
echo "New data" > README.md

# View changes
hexz status

# Commit changes to a new thin archive (delta)
hexz commit ../data_v2.hxz

Documentation

See the docs/ directory for detailed information on:

License

Licensed under Apache 2.0 or MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hexz-0.8.1.tar.gz (277.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hexz-0.8.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

hexz-0.8.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

hexz-0.8.1-cp38-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

hexz-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

hexz-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

hexz-0.8.1-cp38-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

hexz-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file hexz-0.8.1.tar.gz.

File metadata

  • Download URL: hexz-0.8.1.tar.gz
  • Upload date:
  • Size: 277.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hexz-0.8.1.tar.gz
Algorithm Hash digest
SHA256 4b400b5db10b8dbc490c0cb07fed4e135cd1d180aabab954e85faa06dbe55dcd
MD5 ceef6fce537012016b416bd8448a9c89
BLAKE2b-256 d5e4e4bc9a872a72b3172165322b06a6c5ab9bceefffc072a4c629282d49fc27

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1.tar.gz:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a5d5dd6dfa55507b6e1c3f48343d1eb8daa6556e0d428ee0fc82204d07b983b
MD5 2f97f4ed1b7b259daf0758ccfd83034d
BLAKE2b-256 a86270e121299c178a14cad3078dd8419185d4b3a31e6af3872655229e5bd9fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 637c1f3fc7e51454c70770fd671fc7b94c28f0bee36149f365877ca5466d017d
MD5 636f1f3c672b78cdf5afd3c007073264
BLAKE2b-256 64d91a63920dd3c9d017fe691f42df4deaa3a3df6c70e0832729eda9be79bc6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: hexz-0.8.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hexz-0.8.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0dcd63952f4c29bf9204a61e5a3f7434ae2e8b2793e0c7c97c51ed8ec2f32a5a
MD5 91a2114dace1c9d78a72243e115647ce
BLAKE2b-256 d60726b455c0117192ff6ce3f69d06a049b9a5fe15d52347cdc6793436d8be42

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-cp38-abi3-win_amd64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hexz-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32a8b92fb3166eb4192616ca6fae03656ee1e64e0aa7345dcf94eeb3ed989cd8
MD5 5655cf6e6ec7d1890c8160805aadaf79
BLAKE2b-256 b1fca3d668158cd92c38a730adcac85f3c4aadc8a765ab329b60636f82eb42e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 48d60b89a73840f9e349e57395141920861ab991223f62a360f2945ff8285522
MD5 1f5f8dc00bb4fa92b2607ba1fc140f13
BLAKE2b-256 2291902e11b4d14aa1d961fe965f2db891afe743c09320e8f999fb070f3514e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: hexz-0.8.1-cp38-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hexz-0.8.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f29ea9cc72b75ffc40db143df3a0a43ed6c851526d3a6731ceb3f185e27aa84
MD5 7cb2b25f8cf0157ad6a3b740e7dcfc7e
BLAKE2b-256 cf814440a54d9777a72b137f1c2821cdaad93c67a89c8f57a3c3851d972ec935

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexz-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hexz-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 07cff847efba3871b00d70358b057d7a5fa9c004b02121d4134bb5866e113f65
MD5 514b9f35f626f56a25ec77d9a2ada7f5
BLAKE2b-256 1d26859a31b46f7590040ea81c6fff7e55db8ed4c21b471ab16e6a74b53c7323

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on hexz-org/hexz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page