SeedPack
Lossless GPU archiver for GGUF model repositories. A whole repository, the BF16 model and all its quants from IQ1 to Q8, packs into one archive about the size of a single compressed BF16 file. Every file comes back byte for byte.
| unsloth/Qwen3-0.6B-GGUF, BF16 + 25 quants (10.95 GB) | Archive | Ratio |
|---|---|---|
| SeedPack | 782 MB | 7.14% |
| lmz 1.3.0 | 4.54 GB | 41.47% |
| zstd 1.5.7 -19 --long=30 | 6.57 GB | 59.99% |
| 7-Zip 23.01 -mx9 | 10.21 GB | 93.26% |
| ZipNN 0.5.4 | 10.33 GB | 94.34% |
The archive is smaller than the repository's largest single quant (UD-Q8_K_XL, 844 MB). The full benchmark against 10 other compressors, with speeds and single files, is on the example archive's page.
Install
pip install seedpack
Requirements:
- An NVIDIA GPU, Turing (RTX 20xx) or newer, with a CUDA 13 driver (R580 or newer).
- Python 3.11+.
- Windows 10/11 or Linux. Tested on an RTX 5070 under Windows 10 (Python 3.11) and Ubuntu on WSL2 (Python 3.14).
- No CUDA Toolkit is needed: NVRTC, nvJitLink and the CUDA headers come from pip.
Archives are portable between operating systems: an archive packed on Windows unpacks bit-exactly on Linux, and the other way round. The first run compiles the GPU quantizers for your card (about 15 s) and caches them in %LOCALAPPDATA%\seedpack\cache or ~/.cache/seedpack; set SEEDPACK_CACHE to move the cache.
Use
# straight from the Hugging Face Hub: download once, extract what you need
seedpack list hf://neurosquad/Qwen3-0.6B-SEEDPACK
seedpack x hf://neurosquad/Qwen3-0.6B-SEEDPACK Qwen3-0.6B-Q4_K_M.gguf -o models
seedpack x hf://neurosquad/Qwen3-0.6B-SEEDPACK "*Q4_K*" "*Q8_0*" -o models
seedpack x hf://neurosquad/Qwen3-0.6B-SEEDPACK -o models # everything
# local archives
seedpack pack models/Qwen3-0.6B-GGUF -o qwen3.seedpack # files and/or folders
seedpack x qwen3.seedpack Qwen3-0.6B-Q4_K_M.gguf -o out
seedpack test qwen3.seedpack # decode and verify, write nothing
Notes on the commands:
hf://OWNER/REPO[/FILE.seedpack][@REVISION]andhttps://huggingface.co/...links work wherever an archive is expected.listreads only the archive's index over the network;xandtestdownload the archive once into the Hugging Face cache.- Extracted files are checked against BLAKE3 hashes. Every chunk of the archive carries a CRC32.
How it works
A GGUF repository ships the same weights 20–30 times: the BF16 model plus each quantization of it. To a general-purpose compressor that looks like gigabytes of almost incompressible bytes. SeedPack uses the fact that every quant is a deterministic function of the same weights:
- The seed is stored once. The most precise model (the BF16 file, or the senior quant when there is none) is coded with an entropy coder built for its weights.
- Quants are re-derived, not stored. Each quant is computed again on the GPU by a bit-exact CUDA port of llama.cpp's quantizers (
ggml-quants.c, compiled without FMA contraction), with the repository's importance matrix. - Only the residual is kept. Where a re-derived quant differs from the published file, the residual is coded with the quantizer's own probabilities: scales first, then each code relative to its rounding boundary. For Qwen3-0.6B, all 25 quants together cost about 1 MB on top of the seed.
- Duplicates are stored once. Identical tensors in different files are kept once. Files that are not GGUF are compressed with LZMA or zstd.
Links
- Source and research notes: https://github.com/glmn-ai/seedpack
- Example archive: https://huggingface.co/neurosquad/Qwen3-0.6B-SEEDPACK
- A NeuroSquad project.
License
Apache-2.0. The bundled llama.cpp / ggml quantization sources (seedpack/ggml/) are MIT-licensed; see NOTICE.
Metadata
Release files for seedpack 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| seedpack-0.2.0.tar.gz | 2.7 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seedpack-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.4 MB
Release files / seedpack-0.2.0.tar.gz
| Download URL | seedpack-0.2.0.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
832c84e7e754771cf843ab068f000eb41611e8fd2af544b140b4f15f08c4e037
|
|
BLAKE2b-256 checksum How to use checksums |
7048a7d76d6bed3d5190a13584cda2d657a2a35526bb69c753e33ab7bd15f589
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / seedpack-0.2.0-py3-none-any.whl
| Download URL | seedpack-0.2.0-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9481de48d64df11122ae6c259ae653620f18a3b80686640afe9d5ae28fee0eec
|
|
BLAKE2b-256 checksum How to use checksums |
bcf4fb2b084221f7b88f548cd7199a0cdaaaee58463f978cbb9242ebdbb0c9f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Security for seedpack 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.