Metadata-Version: 2.4
Name: nfo-maker
Version: 1.0.0
Summary: Retro NFO/keygen-style banner generator (CLI + library).
Author-email: Skip Cruse <securityshrimp@proton.me>
License: MIT
Project-URL: Homepage, https://github.com/f8al/nfo-maker
Project-URL: Repository, https://github.com/f8al/nfo-maker
Project-URL: Issues, https://github.com/f8al/nfo-maker/issues
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Artistic Software
Classifier: Topic :: Terminals
Classifier: Topic :: Text Processing :: General
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
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: figlet
Requires-Dist: pyfiglet>=0.8; extra == "figlet"

# 🎨 NFO Art

[![PyPI](https://img.shields.io/pypi/v/nfo-art.svg)](https://pypi.org/project/nfo-art/)
[![Python Versions](https://img.shields.io/pypi/pyversions/nfo-art.svg)](https://pypi.org/project/nfo-art/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

**NFO Art** is a retro-inspired Python library + CLI that generates banners styled like classic `.NFO` and keygen cracktro art from the 80s/90s warez scene.  

It supports Unicode/ANSI/ASCII art, optional color gradients, and `.nfo` file output in CP437 encoding for true nostalgia.

---

## 🚀 Installation

```bash
# Basic install
pip install nfo-art

# With FIGlet support (fancier fonts)
pip install nfo-art[figlet]
```

---

## 🖥️ CLI Usage

Pipe text in via stdin and style it:

```bash
echo "securityshrimp" | nfo-art --border double --gradient cyan
```

### Options

- `--preset` : unicode | ansi | ascii
- `--border` : double | single | ascii | none
- `--gradient` : none | mono | cyan | magenta | grey | gradient | sunset
- `--figlet-font` : Use any FIGlet font (requires `pyfiglet`)
- `--nfo` : Add release metadata (release, group, supplier, etc.)
- `--save-nfo file.nfo` : Save CP437 `.nfo` file (ANSI stripped, ASCII fallback)
- `--python` : Output Python `print()` snippet
- `--save-py file.py` : Save snippet directly to file
- `--max-width` : ANSI-aware wrapping
- `--no-color` : Strip all color/bold codes
- `--network-safe` : Cisco/Fortinet compatible (ASCII only, no color)

### Example

```bash
echo "NFO-MAKER" | nfo-art --nfo   --group "w00w00"   --release "Ghost Shrimp Keygen Deluxe Art Maker"   --cracked-by "f8al"   --title "Crustacean Release"   --preset unicode --border double --gradient gradient   --save-py banner.py --save-nfo banner.nfo
```

---

## 🐍 Library Usage

```python
from nfo_art import NFOArtOptions, make_art, make_art_string, save_py_snippet, save_nfo_file

# Simple banner
opts = NFOArtOptions(border="double", gradient="cyan")
print(make_art_string("SECURITYSHRIMP", opts))

# With NFO metadata
opts = NFOArtOptions(
    preset="unicode", border="double", gradient="gradient",
    nfo=True, group="w00w00",
    release="Ghost Shrimp Keygen Deluxe",
    cracked_by="f8al",
    notes="For educational demos only."
)
print(make_art_string("NFO-MAKER", opts))

# Save outputs
lines = make_art("securityshrimp", opts)
save_py_snippet("banner.py", lines)   # Python snippet with ANSI \x1b escapes
save_nfo_file("banner.nfo", lines)    # Pure CP437 .nfo file
```

---

## 🛠️ Development

Clone and install in editable mode:

```bash
git clone https://github.com/f8al/nfo-art.git
cd nfo-art
pip install -e .[figlet]
```

Run CLI locally:

```bash
echo "HELLO" | python -m nfo_art.cli --gradient magenta
```

---

## 📜 License

MIT © 2025 Security Shrimp LTD, LLC ([@securityshrimp](https://securityshrimp.com))

