Metadata-Version: 2.4
Name: ash-encrypt
Version: 0.3.0
Summary: Encrypt and decrypt files and directories with AES-256-GCM
Author-email: shimaf <fshima02@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/shimafallah/ash_encryptor
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pycryptodome>=3.15
Requires-Dist: tqdm>=4.60
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: hypothesis>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Dynamic: license-file

# ash-encrypt

Encrypt and decrypt files and directories with AES-256-GCM.

[![PyPI version](https://img.shields.io/pypi/v/ash-encrypt)](https://pypi.org/project/ash-encrypt/)
[![Python versions](https://img.shields.io/pypi/pyversions/ash-encrypt)](https://pypi.org/project/ash-encrypt/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

## Features

- **AES-256-GCM encryption** — authenticated encryption with strong confidentiality and integrity guarantees
- **File and directory support** — encrypt individual files or entire directories
- **Simple CLI** — intuitive command-line interface with encrypt/decrypt modes
- **Progress bars** — visual feedback for large file operations via tqdm
- **Streaming encryption** — handles large files without loading them entirely into memory
- **Cross-platform** — works on Linux, macOS, and Windows

## Installation

```bash
pip install ash-encrypt
```

## Quick Start

### Encrypt a file

```bash
ash-encrypt e -p <password> -f <file>
```

This produces a `.ash` encrypted file. For example:

```bash
ash-encrypt e -p mysecretpass -f document.pdf
# Output: document.ash
```

### Decrypt a file

```bash
ash-encrypt d -p <password> -f <file.ash>
```

```bash
ash-encrypt d -p mysecretpass -f document.ash
# Output: document.pdf
```

### CLI Flags

| Flag | Description |
|------|-------------|
| `e`  | Encryption mode |
| `d`  | Decryption mode |
| `-p` | Password |
| `-f` | File or directory path |

## Supported Platforms

- Linux
- macOS
- Windows

## Requirements

- Python 3.8+
- [pycryptodome](https://pypi.org/project/pycryptodome/) >= 3.15
- [tqdm](https://pypi.org/project/tqdm/) >= 4.60

## Development

Clone the repository and install with dev dependencies:

```bash
git clone https://github.com/shimafallah/ash_encryptor.git
cd ash_encryptor
pip install -e ".[dev]"
```

## License

[MIT](LICENSE)

## Links

- **GitHub:** https://github.com/shimafallah/ash_encryptor
- **PyPI:** https://pypi.org/project/ash-encrypt/
