Curses is an efficient cross-platform solution for receiving user input and drawing text content in a terminal. As a fairly low level library with regard to the functionality that is available, Curses does not provide the sort of abstractions that are desirable when building complex user interfaces. This framework layers abstractions on top of Curses in an effort to simplify the process of creating a user interface. It exists as the product of an educational exercise and is not intended to be a competitive alternative to more mature Python widget libraries/frameworks.
I created this framework as part of a university group project. Students were tasked with creating a Curses-based UI for PostgreSQL database access. My fellow classmates, Woo Choi and Eric Christensen, implemented a database manager component that communicates with my front-end UI, as seen in the following demo:
