Skip to content

programmersd21/bangen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•  β•šβ•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•

Screenshot

v2.0 β€” Premium ASCII rendering engine.

License Python Version


βŒ› Star History

Star History Chart


▢️ Demonstration

πŸ‘† Click the picture below to watch the demo (redirects to YouTube)

Demo video


🎨 What is Bangen?

Bangen is a colorful, animated terminal banner generator built on pyfiglet and rich. Type a word, pick a font and a color, and watch your terminal come alive with big bold ASCII art β€” optionally animated, optionally saved.

No config files. No setup ceremony. Just run and render.


✨ Features

Feature Description
πŸ–‹οΈ Multiple Fonts Choose from a curated preset list or type any pyfiglet font name
🌈 Five Colors cyan · red · green · yellow · magenta
πŸ“¦ Panel Display Clean bordered panel with optional title via rich
🎞️ Line Animation Optional line-by-line reveal for dramatic effect
πŸ’Ύ Save to File Export your banner to a .txt file instantly
πŸ’¬ Interactive Prompts Clear, guided terminal UI β€” no arguments needed

πŸ› οΈ Requirements

  • 🐍 Python 3.9+

Installation

# Clone the repo
git clone https://github.com/pro-grammer-SD/bangen.git
cd bangen
python -m venv .venv && source .venv/bin/activate
pip install -e .
# With image export support:
pip install -e ".[images]"

Usage

Interactive TUI (no arguments)

bangen

Launches a full-screen split-panel TUI:

  • Left panel β€” controls: text, font, gradient, effects, speed, amplitude
  • Right panel β€” live animated preview
  • ↑↓ navigate Β· ←→ adjust Β· Enter edit/toggle Β· s save preset Β· q quit

CLI Mode

# Basic render
bangen "HELLO"

# Custom font and gradient
bangen "HELLO" --font slant --gradient "#ff00ff:#00ffff"

# Multi-stop gradient (vertical)
bangen "HELLO" --gradient "#ff0000:#ffff00:#00ff00" --gradient-dir vertical

# Apply effects
bangen "HELLO" --effect wave --effect pulse --speed 1.5 --amplitude 2.0

# Use a built-in preset
bangen --preset neon_wave "HELLO"
bangen --preset cyberpunk "HACK THE PLANET"
bangen --preset matrix "LOADING"

# AI-driven styling
bangen "HELLO" --ai "cyberpunk neon hacker vibe"
bangen "HELLO" --ai "retro arcade 80s pixel"

# Animated terminal output
bangen "HELLO" --effect wave --animate --animate-duration 8

# Export
bangen "HELLO" --export-txt banner.txt
bangen "HELLO" --export-html banner.html --gradient "#ff00ff:#00ffff"
bangen "HELLO" --export-png banner.png --gradient "#ff0000:#ff8800:#ffff00"
bangen "HELLO" --effect pulse --export-gif banner.gif --gif-duration 3 --gif-fps 20

# Save / list presets
bangen "HELLO" --font doom --gradient "#ff6600:#ffcc00" --save-preset my_retro
bangen --list-presets
bangen --list-fonts

# Pipeline-friendly (no border)
bangen "DEPLOY" --no-border --static | cat

Architecture

bangen/
β”œβ”€β”€ 🐍 bangen.py          # Main application
β”œβ”€β”€ πŸ“¦ pyproject.toml      # Packaging + dependencies
β”œβ”€β”€ πŸ“„ LICENSE            # MIT license
β”œβ”€β”€ πŸ™ˆ .gitignore         # Python defaults
β”œβ”€β”€ πŸ’β€β™‚οΈ README.md          # Project information
β”œβ”€β”€ 🌟 demo.mp4           # A demonstration of the app
└── πŸ“Έ screenshot.png     # A screenshot of the app

Gradient Format

Gradients are colon-separated hex colour stops:

"#ff0000:#ffff00:#00ff00"   # red β†’ yellow β†’ green (3 stops)
"#ff00ff:#00ffff"           # magenta β†’ cyan (2 stops)

Horizontal (default) varies colour left-to-right per line.
Vertical (--gradient-dir vertical) varies colour top-to-bottom.


Requirements

  • Python 3.11+
  • pyfiglet, rich
  • Pillow (optional β€” PNG/GIF export only)

License

MIT β€” see LICENSE.


Made with πŸ–€ and too much terminal time Β· programmersd21

Releases

No releases published

Packages

 
 
 

Contributors

Languages