urwid
Cursive
Our great sponsors
urwid | Cursive | |
---|---|---|
19 | 22 | |
2,725 | 4,105 | |
1.2% | - | |
9.4 | 7.5 | |
4 days ago | 15 days ago | |
Python | Rust | |
GNU Lesser General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
urwid
-
Fx – Terminal JSON Viewer
Pretty cool! I actually wrote something VERY similar a couple of years ago: sless[1]. It's a tool for viewing json-based structured logs. Just like your tool, you can explore into a json object. The difference is, it expects the input to have many json objects, newline separated, and it shows few keys as a preview of the object, to make looking for something in the log easier. It's not quite complete but basic browsing works. It was mainly written to learn more about Urwid[2], a library similar to Curses.
1: https://github.com/dpedu2/sless
2: https://urwid.org/
-
Any guide to creating a terminal application?
In addition to the other great libraries already mentioned, since you're in Python you may want to consider urwid, it's really robust and has a lot of built-ins.
- Menus in Python
-
Grab raw keyboard inputs
To go full in on the latter case, people often use libraries like Cursive (akin to urwid for Python but without the horrendously confusing error messages caused duck typing) or tui.
-
Textual: The Definitive Guide - Part 1.
If you have experience with text user interfaces in the past, you might come across other frameworks such as urwid, curtsies, asciimatics, prompt-toolkit to name a few. Nevertheless, If you have not, you are just fine because you are in the right place to learn about TUIs in general and using Textual specifically. I’ll show you how to develop a wordle clone step by step.
- Is there a library for creating interactive long running terminal applications?
-
How can I make a TUI?
Check also urwid. It's more likely a modern text-based interface library for Python. https://github.com/urwid/urwid
-
What is the correct way to create a console application?
Curses seems difficult to use but you should investigate whether it works with what you want to do. https://urwid.org/ seems fun as an alternative.
-
Print colour in terminal
You can also take a look at https://urwid.org/
-
I looking for a TUI liberary/framework with good aesthetics.
urwid is Python, and looks good.
Cursive
-
Projectable: A TUI file manager built for projects
Rust has great libraries for TUIs. tui-rs (https://github.com/fdehau/tui-rs) has been used in numerous popular applications, but is unmaintained. ratatui (https://github.com/tui-rs-revival/ratatui) is the maintained version, and is pretty new. Less widely known is cursive (https://github.com/gyscos/cursive), which I have yet to try.
Aside from the libraries, I just wanted to start a project that would make be better at Rust. The easy distribution with cargo is a huge bonus though.
- cursive: A Text User Interface library for the Rust programming language
-
How difficult is ncurses?
There are plenty of terminal UI libraries that are actually nice to work with. For Python, there's Textual and PyTermGUI. For Rust, there's ratatui and Cursive (or, if you want something a bit lower level, crosster or termion). For Go, there's bubbletea.
-
AMDGPU_TOP v0.1.2 - switch to crossterm-backend, add simple fdinfo viewer
Switching the backend of Cursive to crossterm removed dependence on ncurses
-
Appreciation post
I'd hear of TUIs so I just searched for tui libraries in Rust and Cursive seemed like a good choice and it turned out great!
-
Sharing Saturday #455
This weekend I started porting my game to a different UI library (egui) as a way of familiarizing myself with egui. I don't think I'll have something useable to build off of before this year's 7DRL challenge so I guess I'll be reusing my existing UI code (using cursive). But, once I finish porting the UI it should be a lot easier to add fancy stuff like animations, tooltips, and graphical tiles since I won't be tied to constraints of a terminal UI.
-
CLIs and TUIs packages
Cursive should let you easily build a layout with a menu and status bars (and mouse works).
-
Dwarf Fortress – randomly generated, persistent fantasy world
The thing that gets me about Dwarf Fortress is that it's a 64-bit text-mode game.
As a grey-haired developer who got excited about "DOS Extenders" that allowed 32-bit mode, seeing a text-mode game written as a native 64-bit application is bizarrely anachronistic.
I get a similar feeling from text-mode GUI frameworks for Rust, which allow multi-threading and 64-bit but are essentially clones of Borland Turbo Vision, where you had to be mindful to keep lists smaller than 64KB: https://github.com/gyscos/cursive
-
How to maintain app state in an app using Cursive
Maybe this helps?
-
Rust TUI libraries
cursive
What are some alternatives?
textual - The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.
tui-rs - Build terminal user interfaces and dashboards using Rust
python-prompt-toolkit - Library for building powerful interactive command line applications in Python
Termion - Mirror of https://gitlab.redox-os.org/redox-os/termion
blessed - Blessed is an easy, practical library for making python terminal apps
ncurses-rs - A low-level ncurses wrapper for Rust
Toga - A Python native, OS native GUI toolkit.
rustbox - Rust implementation of the termbox library
kivy - Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
rust-sciter - Rust bindings for Sciter
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
conrod - An easy-to-use, 2D GUI library written entirely in Rust.