Requirements
Before installing bofa, ensure your system meets these requirements:- Python 3.10 or higher
- Terminal with Unicode support (recommended for best experience)
- Most modern terminals (iTerm2, Windows Terminal, GNOME Terminal, etc.) support Unicode
- Falls back to ASCII characters if Unicode is not available
The tool automatically detects your terminal’s encoding capabilities and adjusts the display accordingly. It works in both Unicode and ASCII-only terminals.
Installation Methods
Quick Run with uvx (Recommended)
The fastest way to try bofa is using This method:
uvx, which runs the tool instantly without permanent installation:- Downloads and runs bofa in an isolated environment
- Requires no manual installation or setup
- Perfect for one-time use or trying the tool
- Always uses the latest version from PyPI
Global Installation with uv
For regular use, install bofa as a global tool using After installation, the This method:
uv:bofa command will be available globally:- Installs bofa permanently on your system
- Makes the command available from any directory
- Ideal for frequent use
- Manages dependencies automatically in an isolated environment
To update bofa later, run:
uv tool upgrade bofaDependencies
bofa depends on the following package, which is automatically installed:- terminaltexteffects >= 0.14.2 - Powers the animated terminal effects including:
- ColorShift (color cycling animations)
- Fireworks (explosive particle effects)
- Highlight (glitter effects)
- Spotlights (dramatic lighting)
- Spray (particle spray animations)
- VHSTape (glitch effects)
You don’t need to install dependencies manually. Both
uvx and uv tool install handle dependency management automatically.Terminal Compatibility
Unicode Support
For the best visual experience, use a terminal that supports Unicode characters. The tool uses decorative characters like ✦, ✧, ❖, ✺, ❇ for enhanced visual effects. The tool detects Unicode support by:- Checking if
sys.stdout.encodingis set - Testing if Unicode characters can be encoded
- Falling back to ASCII characters (
*,+,x,~,^,@) if Unicode is unavailable
TTY Detection
bofa automatically detects if it’s running in a proper terminal:- In interactive terminals: Displays full animated effects
- In non-TTY environments (pipes, dumb terminals): Outputs plain text fallback
- With
TERM=dumb: Uses simple text output