coldpack


Namecoldpack JSON
Version 0.5.0 PyPI version JSON
download
home_pageNone
SummaryProfessional 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.
upload_time2025-08-10 07:11:42
maintainercoldpack team
docs_urlNone
authorcoldpack contributors
requires_python>=3.9
licenseMIT License Copyright (c) 2025 coldpack contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords 7z archive backup blake3 cli cold-storage compression cross-platform enterprise integrity par2 professional recovery sha256 verification
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
SPDX-FileCopyrightText: 2025 coldpack contributors
SPDX-License-Identifier: MIT
-->

# coldpack

[![PyPI version](https://badge.fury.io/py/coldpack.svg)](https://badge.fury.io/py/coldpack)
[![Python Support](https://img.shields.io/pypi/pyversions/coldpack.svg)](https://pypi.org/project/coldpack/)
[![Platform Support](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](https://github.com/rxchi1d/coldpack)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![CI Status](https://github.com/rxchi1d/coldpack/workflows/CI/badge.svg)](https://github.com/rxchi1d/coldpack/actions)

[English](README.md) | [繁體中文](README.zh-tw.md)

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](docs/INSTALLATION.md) and [CLI Reference](docs/CLI_REFERENCE.md).

## Quick Start

### Installation

```bash
# 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](docs/INSTALLATION.md).

### Basic Usage

```bash
# 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

```bash
# 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](docs/EXAMPLES.md) 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](docs/ARCHITECTURE.md).

## Development & Contributing

### Development Setup

```bash
# Clone and setup development environment
git clone https://github.com/rxchi1d/coldpack.git
cd coldpack
uv sync --dev
source .venv/bin/activate
```

### Quality Assurance

```bash
# 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](CLAUDE.md) for complete development instructions.


## License & Support

**License**: MIT - See [LICENSE](LICENSE) and [LICENSES/MIT.txt](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](docs/INSTALLATION.md) - Setup instructions
- [CLI Reference](docs/CLI_REFERENCE.md) - Command documentation
- [Usage Examples](docs/EXAMPLES.md) - Use cases and workflows
- [Architecture Guide](docs/ARCHITECTURE.md) - Technical implementation details

**Support**: [GitHub Issues](https://github.com/rxchi1d/coldpack/issues) | [Discussions](https://github.com/rxchi1d/coldpack/discussions)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "coldpack",
    "maintainer": "coldpack team",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "7z, archive, backup, blake3, cli, cold-storage, compression, cross-platform, enterprise, integrity, par2, professional, recovery, sha256, verification",
    "author": "coldpack contributors",
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "<!--\nSPDX-FileCopyrightText: 2025 coldpack contributors\nSPDX-License-Identifier: MIT\n-->\n\n# coldpack\n\n[![PyPI version](https://badge.fury.io/py/coldpack.svg)](https://badge.fury.io/py/coldpack)\n[![Python Support](https://img.shields.io/pypi/pyversions/coldpack.svg)](https://pypi.org/project/coldpack/)\n[![Platform Support](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](https://github.com/rxchi1d/coldpack)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![CI Status](https://github.com/rxchi1d/coldpack/workflows/CI/badge.svg)](https://github.com/rxchi1d/coldpack/actions)\n\n[English](README.md) | [\u7e41\u9ad4\u4e2d\u6587](README.zh-tw.md)\n\nA Python CLI tool for creating standardized 7z archives for long-term data storage with integrity verification, PAR2 recovery, and cross-platform compatibility.\n\n## Overview\n\ncoldpack 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.\n\n## Features\n\n### Core Functionality\n- **7z-only output**: Converts various input formats to standardized 7z archives\n- **Adaptive compression**: Automatically selects compression parameters based on file size\n- **Command-line interface**: Simple CLI commands for archive management\n\n### Available Commands\n- **`cpack create`** - Create 7z cold storage archives\n- **`cpack extract`** - Extract archives with parameter restoration\n- **`cpack verify`** - Verify archive integrity using multiple methods\n- **`cpack repair`** - Repair corrupted archives using PAR2 recovery\n- **`cpack info`** - Display archive metadata\n- **`cpack list`** - List archive contents with filtering options\n\n### Verification and Recovery\n- **Multiple verification layers**: 7z integrity, SHA-256, BLAKE3, and PAR2\n- **Dual hash algorithms**: SHA-256 for compatibility, BLAKE3 for performance\n- **PAR2 recovery files**: 10% redundancy for error correction\n- **Metadata preservation**: Stores compression parameters in metadata.toml\n\n### Cross-Platform Support\n- **Operating systems**: Windows, macOS, Linux\n- **System file handling**: Automatically excludes platform-specific files (.DS_Store, Thumbs.db)\n- **Unicode support**: Handles international filenames correctly with automatic compatibility\n- **Progress tracking**: Real-time progress display during operations\n\nFor detailed installation and usage instructions, see [Installation Guide](docs/INSTALLATION.md) and [CLI Reference](docs/CLI_REFERENCE.md).\n\n## Quick Start\n\n### Installation\n\n```bash\n# Using pip (recommended)\npip install coldpack\n\n# Using uv\nuv add coldpack\n```\n\n**Requirements**: Python 3.9+ | Windows, macOS, Linux\n\nFor detailed installation instructions including development setup, see [Installation Guide](docs/INSTALLATION.md).\n\n### Basic Usage\n\n```bash\n# Create 7z cold storage archive\ncpack create /path/to/documents --output-dir ~/cold-storage\n\n# Extract with automatic parameter recovery\ncpack extract ~/cold-storage/documents.7z --output-dir ~/restored\n\n# Verify 4-layer integrity\ncpack verify ~/cold-storage/documents.7z\n\n# Advanced file listing with filtering\ncpack list ~/cold-storage/documents.7z --filter \"*.pdf\" --limit 10\n```\n\n### Advanced Usage\n\n```bash\n# Custom compression levels (0-9) with memory limit\ncpack create large-dataset/ --level 9 --dict 512m --memory-limit 2g --output-dir ~/archives\n\n# Memory-constrained compression for limited systems\ncpack create documents/ --memory-limit 512m --output-dir ~/archives\n\n# Pre-verification before extraction\ncpack extract suspicious-archive.7z --verify --output-dir ~/safe-extraction\n\n# Repair corrupted files using PAR2\ncpack repair ~/cold-storage/damaged-archive.7z\n\n# Display metadata information\ncpack info ~/cold-storage/documents.7z\n```\n\nSee [Usage Examples](docs/EXAMPLES.md) for more use cases and workflows.\n\n## Technical Specifications\n\n### Supported Input Formats\n- **Directories**: Any filesystem directory structure\n- **Archive Formats**: 7z, zip, rar, tar, tar.gz, tar.bz2, tar.xz, tar.zst\n\n### Output Structure\n```\narchive-name/\n\u251c\u2500\u2500 archive-name.7z              # Main 7z archive\n\u251c\u2500\u2500 archive-name.7z.sha256       # SHA-256 hash\n\u251c\u2500\u2500 archive-name.7z.blake3       # BLAKE3 hash\n\u251c\u2500\u2500 archive-name.7z.par2         # PAR2 recovery files\n\u2514\u2500\u2500 metadata/\n    \u2514\u2500\u2500 metadata.toml            # Complete archive metadata\n```\n\n### Verification System\n\n1. **7z Integrity**: Native 7z archive structure validation\n2. **SHA-256**: Cryptographic hash verification (legacy compatibility)\n3. **BLAKE3**: Modern high-performance cryptographic hash\n4. **PAR2 Recovery**: Error correction with 10% redundancy\n\n### Compression Optimization\n\n| File Size Range | Compression Level | Dictionary Size | Use Case |\n|-----------------|-------------------|-----------------|----------|\n| < 256 KiB | Level 1 | 128k | Minimal resources |\n| 256 KiB \u2013 1 MiB | Level 3 | 1m | Light compression |\n| 1 \u2013 8 MiB | Level 5 | 4m | Balanced performance |\n| 8 \u2013 64 MiB | Level 6 | 16m | Good compression |\n| 64 \u2013 512 MiB | Level 7 | 64m | High compression |\n| 512 MiB \u2013 2 GiB | Level 9 | 256m | Maximum compression |\n| > 2 GiB | Level 9 | 512m | Maximum efficiency |\n\nFor detailed architecture documentation and configuration options, see [Architecture Guide](docs/ARCHITECTURE.md).\n\n## Development & Contributing\n\n### Development Setup\n\n```bash\n# Clone and setup development environment\ngit clone https://github.com/rxchi1d/coldpack.git\ncd coldpack\nuv sync --dev\nsource .venv/bin/activate\n```\n\n### Quality Assurance\n\n```bash\n# Code formatting and linting\nuv run ruff format . && uv run ruff check --fix .\n\n# Type checking and testing\nuv run mypy src/ && uv run pytest\n```\n\n**Development Standards**: Comprehensive test suite, ruff formatting, MyPy type checking, cross-platform CI/CD\n\nSee [CLAUDE.md](CLAUDE.md) for complete development instructions.\n\n\n## License & Support\n\n**License**: MIT - See [LICENSE](LICENSE) and [LICENSES/MIT.txt](LICENSES/MIT.txt) for details\n**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.\n\n**Documentation**:\n- [Installation Guide](docs/INSTALLATION.md) - Setup instructions\n- [CLI Reference](docs/CLI_REFERENCE.md) - Command documentation\n- [Usage Examples](docs/EXAMPLES.md) - Use cases and workflows\n- [Architecture Guide](docs/ARCHITECTURE.md) - Technical implementation details\n\n**Support**: [GitHub Issues](https://github.com/rxchi1d/coldpack/issues) | [Discussions](https://github.com/rxchi1d/coldpack/discussions)\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2025 coldpack contributors\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "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.",
    "version": "0.5.0",
    "project_urls": {
        "Changelog": "https://github.com/rxchi1d/coldpack/blob/main/CHANGELOG.md",
        "Discussions": "https://github.com/rxchi1d/coldpack/discussions",
        "Documentation": "https://github.com/rxchi1d/coldpack#readme",
        "Homepage": "https://github.com/rxchi1d/coldpack",
        "Issues": "https://github.com/rxchi1d/coldpack/issues",
        "Repository": "https://github.com/rxchi1d/coldpack"
    },
    "split_keywords": [
        "7z",
        " archive",
        " backup",
        " blake3",
        " cli",
        " cold-storage",
        " compression",
        " cross-platform",
        " enterprise",
        " integrity",
        " par2",
        " professional",
        " recovery",
        " sha256",
        " verification"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3a4141c4d751518e35237a2f1ff7b45578fbab9b27ecb5ea38601cf88ca05a6d",
                "md5": "c7de3d6eacf3d05e1be5f07e972494f2",
                "sha256": "0ac975ba86881384c29fc882b916284f3a222f3b6d25c4ebe7bbc89e2b702d84"
            },
            "downloads": -1,
            "filename": "coldpack-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c7de3d6eacf3d05e1be5f07e972494f2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 89306,
            "upload_time": "2025-08-10T07:11:42",
            "upload_time_iso_8601": "2025-08-10T07:11:42.101919Z",
            "url": "https://files.pythonhosted.org/packages/3a/41/41c4d751518e35237a2f1ff7b45578fbab9b27ecb5ea38601cf88ca05a6d/coldpack-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-10 07:11:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rxchi1d",
    "github_project": "coldpack",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "coldpack"
}
        
Elapsed time: 2.01384s