The package which has been around for many years is called Curses. The modern version package is actually called nCurses, but is still compatible with the original one. Here's a sample screenshot:
I haven't tried it with Unicode characters - it should work, and then you can use more fancy characters to mark checkbuttons and such.
Curses is available for Python, Ruby and Go (and C and many other languages!).