Metadata-Version: 2.4
Name: monstermash
Version: 1.13.1
Author-email: Mitchell Lisle <m.lisle90@gmail.com>
Requires-Python: <4.0,>=3.10
Requires-Dist: click<9.0.0,>=8.1.3
Requires-Dist: cryptography>=48.0.0
Requires-Dist: pydantic-settings<3.0.0,>=2.11.0
Requires-Dist: pydantic<3.0,>=2.12
Requires-Dist: pynacl<2.0.0,>=1.6.2
Provides-Extra: dev
Requires-Dist: bumpversion<0.7.0,>=0.6.0; extra == 'dev'
Requires-Dist: dlint<0.17,>=0.14; extra == 'dev'
Requires-Dist: flake8-bugbear<25.0.0,>=23.3.23; extra == 'dev'
Requires-Dist: flake8<8,>=6; extra == 'dev'
Requires-Dist: mypy<2.0.0,>=1.19.1; extra == 'dev'
Requires-Dist: pep8-naming<0.16.0,>=0.13.3; extra == 'dev'
Requires-Dist: pre-commit<5.0.0,>=3.2.1; extra == 'dev'
Requires-Dist: setuptools<81.0,>=67.6; extra == 'dev'
Requires-Dist: twine<7.0.0,>=4.0.2; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkautodoc<0.3.0,>=0.2.0; extra == 'docs'
Requires-Dist: mkdocs-gen-files<0.7,>=0.4; extra == 'docs'
Requires-Dist: mkdocs-literate-nav<0.7.0,>=0.6.0; extra == 'docs'
Requires-Dist: mkdocs-material<10.0.0,>=9.7.1; extra == 'docs'
Requires-Dist: mkdocs<2.0.0,>=1.4.2; extra == 'docs'
Requires-Dist: mkdocstrings[python]<0.31,>=0.20; extra == 'docs'
Requires-Dist: pymdown-extensions<11.0.0,>=10.21.0; extra == 'docs'
Provides-Extra: test
Requires-Dist: hypothesis<7.0.0,>=6.141.1; extra == 'test'
Requires-Dist: pytest-cov<8,>=4; extra == 'test'
Requires-Dist: pytest-dotenv<0.6.0,>=0.5.2; extra == 'test'
Requires-Dist: pytest<10.0.0,>=9.0.3; extra == 'test'
Requires-Dist: scipy<2.0.0,>=1.10.1; extra == 'test'
Description-Content-Type: text/markdown

##  🧟 Monstermash

> 1️⃣ version: 1.13.1

> ✍️ author: Mitchell Lisle

## Install
Install from PyPi

```shell
pip install monstermash
```

## Usage
Monstermash can generate keys, encrypt files or text with keys, and decrypt a file or text

### Generate Keys
```shell
monstermash generate
```

```text
-----------------
Private Key (keep is secret, keep it safe)
a715a3d11d0f9c13de3bd6d390e36ba4e3322f4f2e4f1a13a54ba85be606de87
Public Key (you can share this one)
01765c67f451f3175f53bbe11d69d73a36d45074da935271473b4a1c460e3d79
-----------------
```

### Store configuration
```text
Usage: monstermash configure [OPTIONS]

Options:
  --profile TEXT      The name of the profile you want to create.
  --private-key TEXT  Your private key.
  --public-key TEXT   Your public key.
  --help              Show this message and exit.

```
```shell
monstermash configure \
  --profile default \
  --private-key a715a3d11d0f9c13de3bd6d390e36ba4e3322f4f2e4f1a13a54ba85be606de87 \
  --public-key 01765c67f451f3175f53bbe11d69d73a36d45074da935271473b4a1c460e3d79
```

### Encrypt text or file
```text
Usage: monstermash encrypt [OPTIONS]

Options:
  --profile TEXT
  --private-key TEXT  Your private key.
  --public-key TEXT   Your public key.
  --file TEXT         The path to the file you want to encrypt
  --data TEXT         Input data you want to encrypt
  --help              Show this message and exit.
```

```shell
monstermash encrypt \
  --profile default \
  --public-key 03ab4b8a77456729678a8022c2bfe22f64ed2db72692903e5f69e4a92649e646 \
  --data "hello world"
```

### Decryption text
```text
Usage: monstermash decrypt [OPTIONS]

Options:
  --profile TEXT
  --private-key TEXT  Your private key.
  --file TEXT         The path to the file you want to encrypt
  --data TEXT         Input data you want to encrypt
  --help              Show this message and exit.
```

```shell
monstermash decrypt \
  --private-key 91c7b2534454587a3330537bce60056e9da9a9bf75d32507152f49e85514970d
  --data 01765c67f451f3175f53bbe11d69d73a36d45074da935271473b4a1c460e3d797bee92fa7ff1216eb5324b247fd41cce283adbcc4df92baacfea27765360a7c0feb226cccc1538c0397783003d0283d2841d2a
```
