TACO ZIP: CIP64 (always ZIP64) writer with a fixed 64-byte ghost LFH
Project description
🥙 tacozip
tacozip is a high-performance, CIP64 (always ZIP64) archive writer with a fixed 64-byte "ghost" Local File Header (LFH).
It is designed for fast, large-scale data packaging with predictable layout.
Key features:
- Always ZIP64 — no 4 GB limits.
- STORE-only — zero-compression for maximum speed.
- Fixed ghost LFH — reserves 64 bytes for application metadata (offset, length, etc.).
- C API + Python bindings — use it directly from C, Python, or wrap in other languages.
- Cross-platform — Linux, macOS, Windows.
📦 Installation
From PyPI:
pip install tacozip
From TestPyPI (testing builds):
pip install --index-url https://test.pypi.org/simple --no-deps tacozip
From source:
git clone https://github.com/YOUR_USER/tacozip.git
cd tacozip
cmake --preset release
cmake --build --preset release -j
pip install ./python
🚀 Quickstart (Python)
import tacozip
from pathlib import Path
# Input folder with files to archive
src_dir = Path("/path/to/data")
zip_out = Path("my_archive.taco.zip")
# File paths (source) and names (inside archive)
src_files = [str(f) for f in src_dir.iterdir() if f.is_file()]
arc_files = [f.name for f in src_dir.iterdir() if f.is_file()]
# Create the archive
rc = tacozip.create(
str(zip_out),
src_files,
arc_files,
meta_offset=0, # placeholder offset in ghost LFH
meta_length=0 # placeholder length in ghost LFH
)
print(f"Created: {zip_out} (rc={rc})")
# Read ghost metadata
rc, offset, length = tacozip.read_ghost(str(zip_out))
print(f"Ghost: offset={offset}, length={length}")
# Update ghost metadata in-place
tacozip.update_ghost(str(zip_out), new_offset=1234, new_length=5678)
print("Ghost metadata updated.")
⚙️ Quickstart (C)
#include <tacozip.h>
int main() {
const char *src_files[] = { "file1.bin", "file2.bin" };
const char *arc_names[] = { "file1.bin", "file2.bin" };
int rc = tacozip_create(
"my_archive.taco.zip",
src_files,
arc_names,
2, // number of files
0, 0 // meta_offset, meta_length
);
return rc;
}
Compile with:
gcc -Iinclude -Lbuild/release -ltacozip main.c -o example
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tacozip-0.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0efd99b3b06dfdc5957bfb9698517d6085833bab8bd3f7de2b55f8a6820958f
|
|
| MD5 |
d062f2711b687f2e4c28648084ce5997
|
|
| BLAKE2b-256 |
69b12c30c1b4d227cec5d5b9079658298c97c55105a839f8d0c3d5b70dc8ce8b
|
File details
Details for the file tacozip-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 9.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef7fde25e5f913f42736a9f48e23837cff9b6da5ce7161a56d52e5fb177bb8cc
|
|
| MD5 |
0173a63e3c51375a583ba17c80ac4c6b
|
|
| BLAKE2b-256 |
2e0fbe6e0a5befdf317707d1e4793b80604addaf8ffe0d2bb28038cf474b2afd
|
File details
Details for the file tacozip-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
- Upload date:
- Size: 7.6 kB
- Tags: CPython 3.12, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bd717d1ccd1daae9c485e32bfe1d9d5614bbd64cc5af480ff60c7a38a094d16
|
|
| MD5 |
6b88f974205297f8f4cc347f372d8066
|
|
| BLAKE2b-256 |
b8755ed8843323b3b07229b11ded07e4bb13e0f756953e3c3b70df0a68ea5308
|
File details
Details for the file tacozip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dbba405ddba8e5c5ff71e3a27ace19b16db07540fc21447414a4e53639d48cf
|
|
| MD5 |
3d427832b386241d5f6b0217c21cbfa9
|
|
| BLAKE2b-256 |
148c286fc403b00daeffffb30e5909ebfef1c80ebd07ba00a34ad64277638a02
|
File details
Details for the file tacozip-0.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 2.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0155f224c64c90ed5a60d9cd4b646f521497a2dd0f9bf45e8b2457af24cdd447
|
|
| MD5 |
b59cef38ba91225c2441d67a73373bc7
|
|
| BLAKE2b-256 |
d259b084dea1c342780c32df41f67f3b049fda601aa27fe7ccacb6dd098a3c13
|
File details
Details for the file tacozip-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 9.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18dc298281faa4c7c2227a5ad252baeb668da0da4b200a4aa5cee4229a712894
|
|
| MD5 |
86641bfc5d82e32cd121229bd7a71e4e
|
|
| BLAKE2b-256 |
bbb25784308a46b64c6bcadf3c483409af634ca4eb48208d5fd614528a7f8ebe
|
File details
Details for the file tacozip-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
- Upload date:
- Size: 7.6 kB
- Tags: CPython 3.11, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e38f6a4179605a75776df48d4fcbe5f4569a89c2f6aec1d2589d95ace4fa26e2
|
|
| MD5 |
00ab3d26ceb6688063816ef16bbbbfa2
|
|
| BLAKE2b-256 |
8debe6307415ff43cb41afe062e222ac12575dc14ca0fdbc9b663f4e54f55e82
|
File details
Details for the file tacozip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.8 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d72c7766df575d59d77de9b379e77bf4b1cf81b6b9d33581c2e5288305d28e51
|
|
| MD5 |
361da98e944bdf5f5fbfe5cf11b3e104
|
|
| BLAKE2b-256 |
421346b735f6d0a9ba8758da6dcd0a6c04d5d66815a9317255eae9fced80f06a
|
File details
Details for the file tacozip-0.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 2.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9109d054ba1e744fae551e4eae1c635af3eea254ba8a0379be65374a4795125b
|
|
| MD5 |
7968eaa5eae8c37e8aff505c2b8773fd
|
|
| BLAKE2b-256 |
8e7ac20d28909261a056a201d63769d00a2629a308938b7500ef4f7efa17eb5f
|
File details
Details for the file tacozip-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 9.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee457cba6157cfe35a69206f2e79328f360f652535b212c8bd50f2fdb5c20e9a
|
|
| MD5 |
926b6a6c279d8b8be851ad4255523022
|
|
| BLAKE2b-256 |
3b0491dd11ea1c2e869b9bbc28e4c5261579b96aeedac58a9b1f82dd9f007b47
|
File details
Details for the file tacozip-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
- Upload date:
- Size: 7.6 kB
- Tags: CPython 3.10, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62605e8677cb1d5dddb4d59813b2e4944b5317fd57b0f6bb08904a54338e22ac
|
|
| MD5 |
ce42c084b036ecf86b3816072e47bdd3
|
|
| BLAKE2b-256 |
a347ef8804442ec4c8c80444ae2007e1165cbc73ad3e2bcb0ab7c1870d693f48
|
File details
Details for the file tacozip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd0ecbdb5806f4f74303b7de8a9555fa5bf4fea4f26e4bc5e857bb980e9e3db
|
|
| MD5 |
8d81535ba8c751d4472657a1c4635a55
|
|
| BLAKE2b-256 |
884cffd90d9e814175ce1dba9003be4da0a7f7b67cbc64f4994f8bf186b626e4
|
File details
Details for the file tacozip-0.1.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 2.2 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae6358fefe3003888d9523f5dd36aa0afb5c44fd96aada183fcf1cd9ce826c41
|
|
| MD5 |
2340b296590acb8fd4b32308bb59a2b7
|
|
| BLAKE2b-256 |
0ed826b46989e609e2076db7d5f8c5f9f6477f08b4f1dadd0fb236d40fda7e2d
|
File details
Details for the file tacozip-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 9.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b050cbdaf87d5d49af171df29d26c677873b7ac70985a594b2b7e9574f31541
|
|
| MD5 |
ff57683e2dcb62d96c7090c56fe9aaf9
|
|
| BLAKE2b-256 |
b422e80bcea513e2f7e58b7ffcbcb5c10f920f1f82afe76d636717d2bc832cb2
|
File details
Details for the file tacozip-0.1.0-cp39-cp39-macosx_11_0_x86_64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp39-cp39-macosx_11_0_x86_64.whl
- Upload date:
- Size: 7.6 kB
- Tags: CPython 3.9, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1aaada44da0b2ad4c26882e49592801507a897189ca5ffcb11faf1e38273d797
|
|
| MD5 |
4ce6bc0b0ccc1b8ce040115c42dc25d8
|
|
| BLAKE2b-256 |
806f08f214bfad739ae8d03b93e5cc89d5622ac55a1b6b495337ba5e27d9e02c
|
File details
Details for the file tacozip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: tacozip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.8 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7458f6e5f202f94f9da697cca5abb6934094acc751d5e4b31b7edd630ef50a1a
|
|
| MD5 |
e3f0e4c9b70ac818634c01a7b5acb792
|
|
| BLAKE2b-256 |
29c328cba730ce4f6ad48abaf10a90c6e029ad1414e09230e6d0d19340aabc29
|