Welcome to bear_hug’s documentation!

bear_hug is a library for building ASCII-art games and apps in Python 3.6+.

Note that this is not curses-like library; bear_hug uses bearliterminal as a backend, which in turn uses SDL. It is not meant to work in a TTY.

Currently available:

  • multiple useful widgets like layouts, labels, animated widgets and so on
  • event system
  • basic input (keyboard and mouse)
  • WAV sound using simpleaudio
  • entity-component system for your gamedev needs

Source code is available (and pull requests are welcome) at the github repository

For an example of a simple game made with this library, check out my Ludum Dare 41 gravity-controlled Tetris variant.

Indirectris screenshot

(LD page | repository )

This one is made using only basic widgets and events. For a more complex ECS-based game, take a look at this repository (work in progress).


Stable version can be downloaded from PyPI with

pip install bear_hug

Latest versions can always be downloaded from the repository. Prerequisites are bearlibterminal and, if you plan to use sound, simpleaudio.


Alexey Morozov aka synedraacus


The library itself is available under the terms of MIT license.

Sounds and images included in the demos are available under the terms of CC-BY 3.0

Indices and tables