Metadata-Version: 2.4
Name: suipian
Version: 1.0.1
Summary: SuiPian (碎片) - File disguise and restoration tool, hide files in plain sight
Author-email: Fred <fred@example.com>
License: GPL-3.0
Keywords: steganography,file-transformation,cryptography,file-hiding,碎片
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: lz4>=4.0.0
Requires-Dist: cryptography>=41.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Dynamic: license-file

# SuiPian (碎片)

File disguise and restoration tool - hide files in plain sight.

将任意文件拆散伪装成看似普通的文本文件，再用密码还原。

## Features

- **Hide**: Embed any file (images, documents, etc.) inside a seemingly normal text file
- **Reveal**: Restore a hidden file from a morphed file using the password
- **Validate**: Check if a file is a valid morphed file
- **Info**: Get metadata about a morphed file

## Requirements

- Python 3.10+
- lz4
- cryptography

## Installation

```bash
pip install suipian
```

Or install from source:

```bash
pip install -e .
```

## Quick Start

### CLI

Hide a file:
```bash
suipian hide image.png readme.txt -o output.txt -p mypassword
```

Reveal a hidden file:
```bash
suipian reveal output.txt -o restored.png -p mypassword
```

Validate a morphed file:
```bash
suipian validate output.txt
```

Get info:
```bash
suipian info output.txt
```

### Python API

```python
from suipian import hide_file, reveal_file, validate_morph

result = hide_file(
    source="image.png",
    carrier="readme.txt",
    output="output.txt",
    password="secret"
)

result = reveal_file(
    morphed="output.txt",
    output="restored.png",
    password="secret"
)

result = validate_morph(file="output.txt")
print(result.success)
print(result.data)
```

## Agent Integration

```python
from suipian.tools import TOOLS, dispatch
```

## Development

```bash
pip install -e ".[dev]"
pytest tests/test_unified_api.py -v
```

## License

GPL-3.0
