Metadata-Version: 2.4
Name: kode8
Version: 0.1.1
Summary: Encodage/décodage réversible de texte selon le protocole KODE 8
License: MIT
Keywords: encoding,hex,text-transformation,cli,codec
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# KODE 8

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

**KODE 8** est une petite bibliothèque Python (+ CLI) qui implémente un
encodage texte réversible : chaque octet UTF-8 devient un token
hexadécimal préfixé par `8` (ex. `'S'` → `853`), regroupé par blocs de
6 caractères.

> ⚠️ **Ce n'est pas un outil de sécurité.** KODE 8 est une simple
> transformation de représentation, au même titre que `base64` ou
> `hex` — pas un chiffrement. N'importe qui connaissant le format peut
> décoder instantanément le contenu. Ne l'utilisez pas pour protéger
> des données sensibles, contourner des dispositifs de sécurité ou
> masquer du trafic malveillant.

## Installation

```bash
pip install kode8
```

## Utilisation en Python

```python
import kode8

encoded = kode8.encode("Hello")
print(encoded)
# '848865 86C86C 86F'

decoded = kode8.decode(encoded)
print(decoded)
# 'Hello'
```

Taille de bloc personnalisée (doit être un multiple de 3) :

```python
kode8.encode("Hi", group_size=3)
# '848 869'
```

## Utilisation en ligne de commande

```bash
kode8 encode "Hello"
# 848865 86C86C 86F

kode8 decode "848865 86C86C 86F"
# Hello
```

## API

| Fonction | Signature | Description |
|---|---|---|
| `encode` | `encode(text: str, group_size: int = 6) -> str` | Encode un texte en tokens KODE 8 |
| `decode` | `decode(code: str) -> str` | Décode une chaîne KODE 8 en texte |

## Développement

Depuis le dossier source du projet :

```bash
pip install -e ".[dev]"
pytest
```

## Licence

MIT — voir [LICENSE](LICENSE).
