Skip to main content

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

PyPI version Python Support Platform Support License CI Status

English | 繁體中文

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 archives
  • cpack extract - Extract archives with parameter restoration
  • cpack verify - Verify archive integrity using multiple methods
  • cpack repair - Repair corrupted archives using PAR2 recovery
  • cpack info - Display archive metadata
  • cpack 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

  1. 7z Integrity: Native 7z archive structure validation
  2. SHA-256: Cryptographic hash verification (legacy compatibility)
  3. BLAKE3: Modern high-performance cryptographic hash
  4. 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:

Support: GitHub Issues | Discussions

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

coldpack-0.5.0-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

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

Hashes for coldpack-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ac975ba86881384c29fc882b916284f3a222f3b6d25c4ebe7bbc89e2b702d84
MD5 c7de3d6eacf3d05e1be5f07e972494f2
BLAKE2b-256 3a4141c4d751518e35237a2f1ff7b45578fbab9b27ecb5ea38601cf88ca05a6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for coldpack-0.5.0-py3-none-any.whl:

Publisher: release.yml on RxChi1d/coldpack

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