Skip to main content

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

1

Quick Run with uvx (Recommended)

The fastest way to try bofa is using uvx, which runs the tool instantly without permanent installation:
uvx bofa
This method:
  • 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
Use uvx when you want to run bofa occasionally without cluttering your system with global installations.
2

Global Installation with uv

For regular use, install bofa as a global tool using uv:
uv tool install bofa
After installation, the bofa command will be available globally:
bofa
This method:
  • 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 bofa

Dependencies

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:
  1. Checking if sys.stdout.encoding is set
  2. Testing if Unicode characters can be encoded
  3. 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

Verification

After installation, verify that bofa is working:
bofa
You should see an animated sequence with colorful effects. If you see the animated effects, the installation was successful!
Try the alternative moon mode to verify ASCII art rendering: bofa --moon

Build docs developers (and LLMs) love