bruhanimate

Composable terminal animations for Python

Run a built-in effect, combine layers, or animate snapshots from your own solver. One player handles timing, input, changed-cell rendering, and terminal cleanup. Requires Python 3.13 or newer.

from bruhanimate import play

play("snow", preset="light", fps=60, updates_per_second=30)

Press q, Escape, or Ctrl+C to quit and restore the terminal.

Start here

  • New to the library? Follow Getting started to install and run a demo.

  • Building your own animation? Read Core concepts for state, drawing, layers, and the animation lifecycle before diving into the API.

  • Visualizing Advent of Code? Use Solver playback and Grid viewport to connect a snapshot generator to board drawing and interactive playback controls.

  • Upgrading from 0.2.x? Follow Migrating to 1.0; v1 removes the old renderers.

  • Contributing or publishing? Use Contributing and Release process.