picotui - Lightweight, pure-Python Text User Interface (TUI) widget toolkit with minimal dependencies

  •        148

Picotui is a Text User Interface (TUI) widget library for Python3. It is known to work with CPython3 and MicroPython (Unix version is officially supported for the latter), but should work with any Python3 implementation which allows to access stdin/stdout file descriptors. A: Urwid is one well-known such TUI library. Here's an entry from its FAQ: "How do I create drop-downs, floating windows, and scroll bars? - You need to start writing some fairly complex widgets. This functionality hasn't been added to Urwid yet." So, Urwid is a widget library which doesn't have dropdowns. Version 0.8.0 of Urwid was imported into SVN (and later Git) in 2004. Urwid doesn't have dropdowns and stuff for 10+ years.

https://github.com/pfalcon/picotui

Tags
Implementation
License
Platform

   




Related Projects

blessed - A high-level terminal interface library for node.js.

  •    Javascript

A curses-like library with a high level terminal interface API for node.js.Reimplement ncurses entirely by parsing and compiling terminfo and termcap, and exposing a Program object which can output escape sequences compatible with any terminal.

rtv - Browse Reddit from your terminal

  •    Python

RTV provides a text-based interface to view and interact with reddit. It's compatible with most terminal emulators on Linux and macOS. RTV is built in python using the curses library.

termcoin - A bitcoin wallet and blockchain explorer for your terminal.

  •    Javascript

Note that termcoin is no longer maintained. It is not recommended for use.termcoin's UI is rendered by blessed which is a full ncurses replacement and high-level widget library. Expect mouse support, eye-candy hover effects, and so-on.

tui-go - A UI library for terminal applications.

  •    Go

A UI library for terminal applications. tui (pronounced tooey) provides a higher-level programming model for building rich terminal applications. It lets you build layout-based user interfaces that (should) gracefully handle resizing for you.

tui-rs - Build terminal user interfaces and dashboards using Rust

  •    Rust

tui-rs is a Rust library to build rich terminal user interfaces and dashboards. It is heavily inspired by the Javascript library blessed-contrib and the Go library termui. However, some features may only be available in one of the two.


K - Terminal User Interface (TUI) for Kubernetes

  •    Go

I got sick of typing the same kubectl commands over and over again so here is my simplified TUI wrapper, K.

Cursive - A Text User Interface library for the Rust programming language

  •    Rust

Cursive is a TUI (Text User Interface) library for rust. It uses ncurses by default, but other backends are available. It allows you to build rich user interfaces for terminal applications.

micropython-lib - Core Python libraries ported to MicroPython

  •    Python

Note that the main target of micropython-lib is a "Unix" port of the aforementioned fork of MicroPython. Actual system requirements vary per module. Majority of modules are compatible with the upstream MicroPython, though some may require additional functionality/optimizations present in the "advanced" fork. Modules not related to I/O may also work without problems on bare-metal ports, not just on "Unix" port (e.g. pyboard). micropython-lib packages are published on PyPI (Python Package Index), the standard Python community package repository: https://pypi.org/ . On PyPI, you can search for MicroPython related packages and read additional package information. By convention, all micropython-lib package names are prefixed with "micropython-" (the reverse is not true - some package starting with "micropython-" aren't part of micropython-lib and were released by 3rd parties).

GRV - Terminal interface for viewing git repositories

  •    Go

GRV is a terminal based interface for viewing git repositories. It allows refs, commits and diffs to be viewed, searched and filtered. The behaviour and style can be customised through configuration. Its feature include Commits and refs can be filtered using a query language, Commit Graph, Changes to the repository are captured by monitoring the filesystem allowing the UI to be updated automatically, Custom themes and lot more.

brick - A declarative terminal UI programming library written in Haskell

  •    Haskell

brick is a Haskell terminal user interface programming library in the style of gloss. This means you write a function that describes how your user interface should look, but the library takes care of a lot of the book-keeping that so commonly goes into writing such programs. brick exposes a declarative API. Unlike most GUI toolkits which require you to write a long and tedious sequence of "create a widget, now bind an event handler", brick just requires you to describe your interface using a set of declarative combinators. Then you provide a function to transform your application state when input or other kinds of events arrive.

slack-term - Slack client for your terminal

  •    Go

A Slack client for your terminal. Download a compatible binary for your system. For convenience, place slack-term in a directory where you can access it from the command line. Usually this is /usr/local/bin.

wtf - The personal information dashboard for your terminal.

  •    Go

A personal terminal-based dashboard utility, designed for displaying infrequently-needed, but very important, daily data. Follow on Twitter for news and latest updates.

cointop - The fastest and most interactive terminal based UI application for tracking cryptocurrencies

  •    Go

cointop is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time. The interface is inspired by htop and shortcut keys are inspired by vim.

wtf - The personal information dashboard for your terminal.

  •    Go

A personal terminal-based dashboard utility, designed for displaying infrequently-needed, but very important, daily data. Note: WTF is only compatible with Go versions 1.9.2 or later. It currently does not compile with gccgo.

Museek-Plus: Soulseek Client and Daemon

  •    C++

Museek-Plus is a program-suite for the C++ museek daemon, a Soulseek/Soulfind P2P client. It includes the QT GUI, Museeq, and the Python/Curses TUI, Mucous. It supports chat, transferring files, searching, user-management shares browsing and more.

transmission-remote-cli - Curses interface for the daemon of the BitTorrent client Transmission

  •    Python

transmission-remote-cli is no longer maintained. Alternative Transmission TUI clients are tremc (a fork of this project) and stig.

sen - Terminal User Interface for docker engine

  •    Python

You can see the features yourself.This repository has set up automated builds on docker hub. In case you run into some issue, try pulling latest version first before opening an issue.

gotop - A terminal based graphical activity monitor inspired by gtop and vtop

  •    Go

Working and tested on Linux and OSX. Windows support is planned. Then move gotop into your $PATH somewhere.