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.2.tar.gz (280.1 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.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

hexz-0.8.2-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.2-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.2-cp38-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

hexz-0.8.2-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.2.tar.gz.

File metadata

  • Download URL: hexz-0.8.2.tar.gz
  • Upload date:
  • Size: 280.1 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.2.tar.gz
Algorithm Hash digest
SHA256 8a6b305c0d774a9e2bdb94e2f9048040447367149a2a94b2434725baad3e9240
MD5 70f6cbe885e0af03d5759ae8ee41b782
BLAKE2b-256 f11ed65b8576a8772864cb44e0819a12ea47534019b4f2f88ef51fbe497121a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2.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.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 84536d7ade3294fbecc43f5c4123e8c48f3a4e363acf1ba6a0bc51553d765397
MD5 3cf12b3985d4608140bd4258f13e156a
BLAKE2b-256 a6e0534d32c6f37adb8d7ec0e31eed94f89ff20e0ae734c6a9d80ce9979f2df6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 09bffca17035a9428576d6a640affd043451b04cbb4565e45986ff073e469c88
MD5 04ea7ba762616034b3dc8d597927ba4f
BLAKE2b-256 ae7168fff3f7d3e0e8f42aa15dba6a3d4e16f8d301203f563ea9388685d0348a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: hexz-0.8.2-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.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 629f6495dd59f42e67914aa2ca70cbcd0e4a46a5a2b829431b87db03700c2db6
MD5 97c56e4ab3b78b6478ded89fe0d16090
BLAKE2b-256 ac991b44e1a53296de9550111744231dbe517d273c09960a44a4123148255719

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hexz-0.8.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b7fb26708021f3f0cd67be3ce5cc26af8af8bc919154d25e652ba445e751f14
MD5 73e75b15dadfe9ce5524fb0805ea9f71
BLAKE2b-256 67e1cdc87906350dae07da83cb70e7814352712e552f2646bb46356bdcc257b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hexz-0.8.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66916645a0d8eadf0df912af739bca88fb032d1e6dcb0c6ef5f77e165e037688
MD5 8e23cb95bf6a91366a6fa5c2a90ee88f
BLAKE2b-256 c32696aefef7fa342292fee71b3b9929f51eb2bbd12425486d7adadaeba4cf3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: hexz-0.8.2-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.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f73fa098587cb83844caa2792c85183b0cee199a8b0b395156d0ec032458de8
MD5 ab50eb498436c1c613caf3b0520700cf
BLAKE2b-256 a06e88c70a978e37e30f0229a281da4abb5d63e7c1fca54a5a839f6b12ad4a25

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hexz-0.8.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 92a4f2701e508e88343460bc3f10c06fb18e1e62e17008d8c4c342df20434810
MD5 fbc9386672fd75bc4f2b486e7e8dc6af
BLAKE2b-256 a083983a2ecc4528ba6ca26d7c9f186c72764ef3886f70aa513a9d70cffc08f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexz-0.8.2-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