Professional 7z Cold Storage Solution with Revolutionary Architecture - Advanced CLI tool for creating standardized 7z archives with comprehensive verification, PAR2 recovery, and intelligent cross-platform compatibility.
Project description
coldpack
A Python CLI tool for creating standardized 7z archives for long-term data storage with integrity verification, PAR2 recovery, and cross-platform compatibility.
Overview
coldpack is a command-line tool for creating standardized cold storage archives. It converts various source formats (directories, zip, tar, etc.) into 7z archives with integrated verification and recovery mechanisms designed for long-term data preservation.
Features
Core Functionality
- 7z-only output: Converts various input formats to standardized 7z archives
- Adaptive compression: Automatically selects compression parameters based on file size
- Command-line interface: Simple CLI commands for archive management
Available Commands
cpack create- Create 7z cold storage archivescpack extract- Extract archives with parameter restorationcpack verify- Verify archive integrity using multiple methodscpack repair- Repair corrupted archives using PAR2 recoverycpack info- Display archive metadatacpack list- List archive contents with filtering options
Verification and Recovery
- Multiple verification layers: 7z integrity, SHA-256, BLAKE3, and PAR2
- Dual hash algorithms: SHA-256 for compatibility, BLAKE3 for performance
- PAR2 recovery files: 10% redundancy for error correction
- Metadata preservation: Stores compression parameters in metadata.toml
Cross-Platform Support
- Operating systems: Windows, macOS, Linux
- System file handling: Automatically excludes platform-specific files (.DS_Store, Thumbs.db)
- Unicode support: Handles international filenames correctly with automatic compatibility
- Progress tracking: Real-time progress display during operations
For detailed installation and usage instructions, see Installation Guide and CLI Reference.
Quick Start
Installation
# Using pip (recommended)
pip install coldpack
# Using uv
uv add coldpack
Requirements: Python 3.9+ | Windows, macOS, Linux
For detailed installation instructions including development setup, see Installation Guide.
Basic Usage
# Create 7z cold storage archive
cpack create /path/to/documents --output-dir ~/cold-storage
# Extract with automatic parameter recovery
cpack extract ~/cold-storage/documents.7z --output-dir ~/restored
# Verify 4-layer integrity
cpack verify ~/cold-storage/documents.7z
# Advanced file listing with filtering
cpack list ~/cold-storage/documents.7z --filter "*.pdf" --limit 10
Advanced Usage
# Custom compression levels (0-9) with memory limit
cpack create large-dataset/ --level 9 --dict 512m --memory-limit 2g --output-dir ~/archives
# Memory-constrained compression for limited systems
cpack create documents/ --memory-limit 512m --output-dir ~/archives
# Pre-verification before extraction
cpack extract suspicious-archive.7z --verify --output-dir ~/safe-extraction
# Repair corrupted files using PAR2
cpack repair ~/cold-storage/damaged-archive.7z
# Display metadata information
cpack info ~/cold-storage/documents.7z
See Usage Examples for more use cases and workflows.
Technical Specifications
Supported Input Formats
- Directories: Any filesystem directory structure
- Archive Formats: 7z, zip, rar, tar, tar.gz, tar.bz2, tar.xz, tar.zst
Output Structure
archive-name/
├── archive-name.7z # Main 7z archive
├── archive-name.7z.sha256 # SHA-256 hash
├── archive-name.7z.blake3 # BLAKE3 hash
├── archive-name.7z.par2 # PAR2 recovery files
└── metadata/
└── metadata.toml # Complete archive metadata
Verification System
- 7z Integrity: Native 7z archive structure validation
- SHA-256: Cryptographic hash verification (legacy compatibility)
- BLAKE3: Modern high-performance cryptographic hash
- PAR2 Recovery: Error correction with 10% redundancy
Compression Optimization
| File Size Range | Compression Level | Dictionary Size | Use Case |
|---|---|---|---|
| < 256 KiB | Level 1 | 128k | Minimal resources |
| 256 KiB – 1 MiB | Level 3 | 1m | Light compression |
| 1 – 8 MiB | Level 5 | 4m | Balanced performance |
| 8 – 64 MiB | Level 6 | 16m | Good compression |
| 64 – 512 MiB | Level 7 | 64m | High compression |
| 512 MiB – 2 GiB | Level 9 | 256m | Maximum compression |
| > 2 GiB | Level 9 | 512m | Maximum efficiency |
For detailed architecture documentation and configuration options, see Architecture Guide.
Development & Contributing
Development Setup
# Clone and setup development environment
git clone https://github.com/rxchi1d/coldpack.git
cd coldpack
uv sync --dev
source .venv/bin/activate
Quality Assurance
# Code formatting and linting
uv run ruff format . && uv run ruff check --fix .
# Type checking and testing
uv run mypy src/ && uv run pytest
Development Standards: Comprehensive test suite, ruff formatting, MyPy type checking, cross-platform CI/CD
See CLAUDE.md for complete development instructions.
License & Support
License: MIT - See LICENSE and LICENSES/MIT.txt for details Third-party Dependencies: This project does not redistribute 7-Zip binaries; runtime dependencies (py7zz, PAR2 tools) are installed by users and governed by their upstream licenses.
Documentation:
- Installation Guide - Setup instructions
- CLI Reference - Command documentation
- Usage Examples - Use cases and workflows
- Architecture Guide - Technical implementation details
Support: GitHub Issues | Discussions
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 Distribution
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 coldpack-0.5.0-py3-none-any.whl.
File metadata
- Download URL: coldpack-0.5.0-py3-none-any.whl
- Upload date:
- Size: 89.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac975ba86881384c29fc882b916284f3a222f3b6d25c4ebe7bbc89e2b702d84
|
|
| MD5 |
c7de3d6eacf3d05e1be5f07e972494f2
|
|
| BLAKE2b-256 |
3a4141c4d751518e35237a2f1ff7b45578fbab9b27ecb5ea38601cf88ca05a6d
|
Provenance
The following attestation bundles were made for coldpack-0.5.0-py3-none-any.whl:
Publisher:
release.yml on RxChi1d/coldpack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coldpack-0.5.0-py3-none-any.whl -
Subject digest:
0ac975ba86881384c29fc882b916284f3a222f3b6d25c4ebe7bbc89e2b702d84 - Sigstore transparency entry: 375544439
- Sigstore integration time:
-
Permalink:
RxChi1d/coldpack@4b224001dc9cf80bb841b711654638e03f4ba3f2 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/RxChi1d
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4b224001dc9cf80bb841b711654638e03f4ba3f2 -
Trigger Event:
push
-
Statement type: