awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rivo avatar

rivo/tview

0
View on GitHub↗
13,928 stars·679 forks·Go·MIT·26 views

Tview

tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing event loops, user input, and screen rendering, providing a framework of pre-built widgets and an integrated layout engine for creating command-line applications.

The project distinguishes itself through a comprehensive layout system that uses grid and flexbox models to create responsive designs. It also supports UI layer stacking to manage multiple screens and modal overlays.

The framework includes a diverse suite of interactive components for data display, such as tables and hierarchical tree views, as well as input forms featuring text fields, checkboxes, and autocomplete suggestions. Visual capabilities extend to Unicode box-drawing, inline text styling for colors and attributes, and the rendering of images via pixel approximation and dithering.

Features

  • Terminal Application Development - Functions as a comprehensive framework for building interactive command-line applications with rich widgets and layouts in Go.
  • Interactive Component Suites - Provides a comprehensive suite of interactive widgets for building complex, data-driven command-line applications.
  • Terminal User Interfaces - A core capability for rendering interactive text-based layouts and widgets within a terminal window.
  • Layout Design - Includes a system for organizing terminal interface elements using grid and flexbox for responsive screen designs.
  • Interactive Input Frameworks - Offers a toolkit for managing event loops and user interaction flows to build complex terminal environments.
  • TUI Primitive Rendering - Implements low-level rendering by mapping graphical primitives and Unicode box-characters to screen coordinates.
  • Focusable Primitives - Provides a framework for defining graphical primitives that manage their own focus state and rectangular positioning.
  • TUI Component Primitives - Defines interactive widgets as independent objects that manage their own internal state and drawing logic.
  • Cross-Platform TUI Frameworks - Provides a comprehensive suite of interactive terminal widgets including tables, trees, and forms.
  • Responsive Layout Engines - Implements a responsive layout engine using flexbox and grid systems to calculate widget positions in the terminal.
  • Flexbox Layouts - Features a flexbox-based layout system for organizing elements using proportional scaling and fixed dimensions.
  • Flexible Grid Layouts - Implements a proportional grid system for positioning components with a mix of absolute and adaptive dimensions.
  • Event-Driven Input Handlers - Ships an event-driven input handler that processes keyboard, mouse, and paste events via an asynchronous loop.
  • Event-Queue Polling - Implements a centralized event-queue polling mechanism to handle keyboard and mouse input for a responsive UI loop.
  • TUI Render Loops - Implements a core lifecycle manager that polls the event queue and triggers widget redraws on the screen.
  • Go TUI Libraries - Provides a rich set of pre-built widgets and layout engines for building interactive TUIs in Go.
  • Grid Layout Engines - Features a grid layout engine for organizing terminal components into responsive rows and columns with proportional sizing.
  • Inline-Tag Styling - A system for formatting output with colors, bold or italic attributes, and hyperlinks using inline style tags.
  • Layout Managers - Integrates multiple layout strategies, including grids and flexboxes, to organize interface components.
  • Flexbox - Provides a flexbox layout system to distribute terminal interface elements horizontally or vertically with weighted scaling.
  • Terminal Layout Engines - Implements a terminal layout engine for composing responsive interfaces using hierarchical widgets and grid/flexbox models.
  • Complex Data Views - Offers a set of navigable tables, trees, and multi-color text areas for structured data browsing.
  • Character-Based Image Approximation - A process for displaying images in the terminal by approximating pixels with graphical characters and applying dithering.
  • Interactive Configuration Forms - Provides interactive forms, checkboxes, and dropdown menus to collect user settings inside the terminal.
  • Box-Drawing Utilities - A capability to create visual borders and layout structures within a terminal using Unicode box-drawing and punctuation characters.
  • Data Display Components - Provides a suite of data display components including scrollable text views, tables, and navigable lists.
  • Screen Layering - Provides a mechanism for stacking multiple interface screens and toggling visibility to handle modal overlays and page transitions.
  • Terminal Image Renderers - A feature for rendering visual image content directly within a text-based user interface.
  • Form Input Components - Provides a collection of form input components combining text fields, selections, and checkboxes.
  • Terminal-Based Dashboards - Provides tools for constructing real-time monitoring dashboards with formatted text and images in the console.
  • Modal Dialogs - Features centered modal dialog windows with customizable text and buttons for user prompts.
  • Overlay Management - Implements a system for managing the lifecycle of interruptive modal windows and critical alerts.
  • Selectable Lists - Provides interactive vertical lists that support keyboard and mouse selection and focus management.
  • Text Rendering - A feature for printing text with specific alignment and width constraints using inline style tags.
  • Terminal Data Visualizations - Enables presenting structured data through navigable tables, tree views, and lists within a text-based interface.
  • Tree Views - Includes a hierarchical tree view widget for displaying and navigating nested data structures.
  • UI Layer Stacking - Supports stacking multiple interface screens to manage modal overlays and page transitions.
  • Form Layouts - Provides form layout systems for aligning input controls and buttons using grid or flexbox containers.
  • Command Line Tools - Library for building terminal UIs.
  • TUI Libraries - Go library with interactive widgets.

Star history

Star history chart for rivo/tviewStar history chart for rivo/tview

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Tview

These projects share indexed features with Tview. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gizak/termuigizak avatar

    gizak/termui

    13,574View on GitHub↗

    Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua

    Go
    View on GitHub↗13,574
  • arthursonzogni/ftxuiArthurSonzogni avatar

    ArthurSonzogni/FTXUI

    9,686View on GitHub↗

    FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive command line applications. It functions as a declarative terminal layout engine and a component-based UI toolkit that enables the creation of responsive interfaces. The library is distinguished by its terminal graphics and animation capabilities, allowing for the rendering of custom shapes, data plots, and smooth visual transitions using easing functions. It provides a comprehensive set of interactive widgets and a layout system utilizing flexbox and grid containers that adapt to

    C++arthursonzogniasciiascii-art
    View on GitHub↗9,686
  • yaronn/blessed-contribyaronn avatar

    yaronn/blessed-contrib

    15,745View on GitHub↗

    blessed-contrib is a terminal user interface framework and a Node.js console widget library designed for building data-driven command line interfaces. It serves as an ASCII data visualization toolkit and a dashboard framework for organizing grid-based layouts and interactive elements within a console. The project provides a collection of reusable terminal components, including a command line image renderer and tools for text-based graphic rendering. It specifically enables the creation of terminal dashboards through a system for positioning multiple widgets across rows and columns and a mecha

    JavaScript
    View on GitHub↗15,745
  • gui-cs/terminal.guigui-cs avatar

    gui-cs/Terminal.Gui

    11,068View on GitHub↗

    Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a component-based architecture, a terminal rendering engine, and a declarative layout system to create console applications that run consistently across Windows, macOS, and Linux. The framework distinguishes itself with a comprehensive set of interactive console widgets, including data grids, hex editors, and hierarchical tree components. It supports advanced visual capabilities such as 24-bit True Color, Sixel image support, and a relative-coordinate layout system that adapts to ter

    C#consoleconsole-applicationcross-platform
    View on GitHub↗11,068
Compare all 30 related projects→

Frequently asked questions

What does rivo/tview do?

tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing event loops, user input, and screen rendering, providing a framework of pre-built widgets and an integrated layout engine for creating command-line applications.

What are the main features of rivo/tview?

The main features of rivo/tview are: Terminal Application Development, Interactive Component Suites, Terminal User Interfaces, Layout Design, Interactive Input Frameworks, TUI Primitive Rendering, Focusable Primitives, TUI Component Primitives.

Which projects share features with rivo/tview?

Projects with overlapping indexed features include: gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… arthursonzogni/ftxui — FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive… yaronn/blessed-contrib — blessed-contrib is a terminal user interface framework and a Node.js console widget library designed for building… gui-cs/terminal.gui — Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a… gyscos/cursive — Cursive is a cross-platform terminal user interface toolkit and framework for building interactive applications in… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a…