Python과 urwid로 만든 TextUI

TUI(Text User Interface / Terminal User Interface)

보통 내 경우는 Text User Interface의 의미로 사용한다. 요즘 Python을 자주 쓰니까, Python에서 사용할만한 TUI 라이브러리를 찾아보았다. Python이라 찾은것이긴 하지만, 다른 언어로 찾아봐도 딱히 이만한 것이 없긴 했는데, urwid라는 라이브러리이다. 다만 urwid는 강좌도 없고 Tutorial도 불친절하기 때문에 결국 Examples 소스코드를 이리저리 분석해 보고 Stack Overflow의 질문들을 찾아가며 익힐 수밖에 없었다.

기본적으로 큰 Layout부터 작은 Layout으로 구성해가는 Swift UI나 ftxui의 방식이 아니라, 작은 UI들을 Wrapping해가면서 구성하는 UI라개념이 거꾸로라 익히기가 영 난해하긴 했는데, 보다보니 익혀지긴 했다.

아래는 이번에 Python과 urwid로 만든어본 간단한 TUI 예제이다. 앞으로는 콘솔 UI 만들 때는 Python이랑 urwid를 써서 만들면 괜찮게 만들 수 있을 것 같다.

스크린샷