Bruhanimate¶
bruhanimate is a Python package for creating terminal animations. It provides a collection of visual effects, a double-buffered rendering pipeline, and a simple settings-based configuration system so you can tune every effect without touching internal state.
Each effect is configured through a settings dataclass:
from bruhanimate import Screen, EffectRenderer, SnowSettings, SnowEffect
def demo(screen):
renderer = EffectRenderer(screen, float("inf"), 0.05, "snow", " ", False)
# pass settings at construction time
renderer.effect = SnowEffect(
renderer.effect.buffer, " ",
settings=SnowSettings(intensity=0.01, wind=0.5),
)
renderer.run()
Screen.show(demo)
All effects also expose set_* methods for changes during a running animation:
renderer.effect.set_wind(0.8)
renderer.effect.set_intensity(0.4)
renderer.effect.set_color_properties(color=True, random_colors=True)