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
Back to willmcgugan/textual

Projects sharing features with Textual

30 open-source projects similar to willmcgugan/textual, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • textualize/textualTextualize avatar

    Textualize/textual

    36,285View on GitHub↗

    This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int

    Pythoncliframeworkpython
    View on GitHub↗36,285
  • gyscos/cursivegyscos avatar

    gyscos/Cursive

    4,810View on GitHub↗

    Cursive is a cross-platform terminal user interface toolkit and framework for building interactive applications in Rust. It provides a modular system for creating text-based graphical interfaces, utilizing a dedicated engine to manage the main display loop and view hierarchies. The toolkit features a backend-agnostic abstraction layer to ensure consistent rendering and input handling across different operating systems. It distinguishes itself through a palette-based theme engine that supports runtime theme loading and true color rendering, as well as the ability to generate user interface hie

    Rust
    View on GitHub↗4,810
  • gdamore/tcellgdamore avatar

    gdamore/tcell

    5,076View on GitHub↗

    tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab

    Go
    View on GitHub↗5,076

AI search

Explore more awesome repositories

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

Find more with AI search
  • rivo/tviewrivo avatar

    rivo/tview

    13,928View on GitHub↗

    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

    Gogolangterminal-baseduser-interface
    View on GitHub↗13,928
  • 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
  • migueldeicaza/gui.csmigueldeicaza avatar

    migueldeicaza/gui.cs

    11,070View on GitHub↗

    gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine. The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.

    C#
    View on GitHub↗11,070
  • anomalyco/opentuianomalyco avatar

    anomalyco/opentui

    12,131View on GitHub↗

    Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit

    TypeScript
    View on GitHub↗12,131
  • chjj/blessedchjj avatar

    chjj/blessed

    11,854View on GitHub↗

    This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive command-line applications. It provides a comprehensive toolkit of high-level widgets that abstract complex terminal escape codes and rendering logic, allowing developers to build functional interfaces using reusable components. The framework distinguishes itself by implementing a box-model-based layout engine and a virtual DOM-style reconciliation system. These mechanisms enable responsive design patterns—such as percentage-based sizing and relative positioning—to function wit

    JavaScript
    View on GitHub↗11,854
  • tui-rs-revival/ratatuitui-rs-revival avatar

    tui-rs-revival/ratatui

    21,091View on GitHub↗

    Ratatui is a Rust framework and cross-platform terminal renderer used to build rich terminal user interfaces. It functions as a toolkit for creating interactive command-line displays, dashboards, and data visualizations. The library employs an immediate mode rendering approach, where the interface is redrawn every frame based on the current application state. It uses a widget-based layout system to compose complex text-based interfaces. The framework includes a rectangle-based layout engine and a backend-agnostic drawing system to decouple UI logic from specific terminal emulators. It furthe

    Rust
    View on GitHub↗21,091
  • fdehau/tui-rsfdehau avatar

    fdehau/tui-rs

    10,875View on GitHub↗

    tui-rs is a Rust framework for building rich terminal user interfaces and dashboards. It provides a terminal layout engine for dividing the screen into flexible rectangular regions and a widget library for rendering data in a terminal. The project includes a cross-platform terminal backend abstraction layer to ensure consistent rendering and compatibility across different operating system terminal drivers. The framework covers a wide range of UI components, including data visualization tools such as charts, progress gauges, and sparklines, as well as structural elements like data tables, ite

    Rust
    View on GitHub↗10,875
  • pythops/bluetuipythops avatar

    pythops/bluetui

    2,556View on GitHub↗

    bluetui is a text-based user interface for managing Bluetooth devices and adapters. It serves as a terminal application that interfaces with the BlueZ stack to control wireless radio hardware and connection states. The project provides a keyboard-driven controller for scanning for nearby discoverable hardware and establishing secure pairings with new peripherals. It allows for the management of paired devices, including the configuration of trust settings and the assignment of custom nicknames to simplify reconnection. The application includes capabilities for Bluetooth adapter control to to

    Rustbluetoothbluezlinux
    View on GitHub↗2,556
  • zellij-org/zellijzellij-org avatar

    zellij-org/zellij

    33,683View on GitHub↗

    Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil

    Rustmultiplexerterminalworkspace
    View on GitHub↗33,683
  • willmcgugan/richwillmcgugan avatar

    willmcgugan/rich

    56,640View on GitHub↗

    Rich is a Python terminal formatting library and user interface framework. It provides tools for rendering rich text, colors, and complex layouts within a terminal environment, including specialized formatters for markdown and source code syntax highlighting. The library distinguishes itself through high-level UI components such as tables with unicode borders, hierarchical tree views for nested data structures, and a system for building structured terminal user interfaces. It also includes a debugging visualizer for pretty-printing complex data and formatting error tracebacks. The capability

    Python
    View on GitHub↗56,640
  • prompt-toolkit/python-prompt-toolkitprompt-toolkit avatar

    prompt-toolkit/python-prompt-toolkit

    10,498View on GitHub↗

    This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers

    Python
    View on GitHub↗10,498
  • rapptz/discord.pyRapptz avatar

    Rapptz/discord.py

    15,928View on GitHub↗

    This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface. The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-base

    Pythonbotdiscorddiscord-api
    View on GitHub↗15,928
  • nodemcu/nodemcu-firmwarenodemcu avatar

    nodemcu/nodemcu-firmware

    7,926View on GitHub↗

    This project is a Lua-based firmware environment for the ESP8266 WiFi chip, providing an embedded Lua interpreter and a development framework for WiFi SoC hardware. It functions as a C-based wrapper around the Espressif non-OS SDK, enabling the execution of asynchronous scripts to manage wireless communication and hardware peripherals. The environment integrates a SPIFFS flash filesystem for storing persistent scripts and data directly on non-volatile memory. To optimize limited hardware resources, the system utilizes execute-in-place flash execution, running read-only constants and instructi

    C
    View on GitHub↗7,926
  • libuv/libuvlibuv avatar

    libuv/libuv

    26,912View on GitHub↗

    libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive

    Casynchronousdeep-ioio
    View on GitHub↗26,912
  • 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
  • crazyguitar/pysheeetcrazyguitar avatar

    crazyguitar/pysheeet

    8,150View on GitHub↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    View on GitHub↗8,150
  • vadimdemedes/inkvadimdemedes avatar

    vadimdemedes/ink

    38,933View on GitHub↗

    Ink is a declarative framework for building interactive command-line applications using a component-based architecture. It functions as a console renderer that maps component trees to terminal output buffers, allowing developers to manage stateful interfaces through standard component reconciliation. By translating high-level layout and style properties into terminal control codes, it enables the creation of responsive, dynamic interfaces within the console. The framework distinguishes itself by integrating a cross-platform layout engine that applies a flexible box model to the character-base

    TypeScriptclicommand-lineflexbox
    View on GitHub↗38,933
  • charmbracelet/gumcharmbracelet avatar

    charmbracelet/gum

    22,814View on GitHub↗

    Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations. The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into t

    Gobashshell
    View on GitHub↗22,814
  • textualize/toolongTextualize avatar

    Textualize/toolong

    3,921View on GitHub↗

    toolong is a terminal log viewer and TUI log manager designed for monitoring live log streams and navigating large log files. It functions as a log aggregator and JSONL formatter, capable of merging multiple log files into a single chronological view by automatically detecting timestamps. The application supports the visualization of structured data by pretty printing JSONL files and applying syntax highlighting to common web server log patterns. It handles large-scale data efficiently through virtual-sized scrollable views, allowing users to open compressed logs or files of any size without

    Pythonjsonlrichterminal
    View on GitHub↗3,921
  • xtermjs/xterm.jsxtermjs avatar

    xtermjs/xterm.js

    20,795View on GitHub↗

    xterm.js is a high-performance terminal emulator library designed for web applications. It provides a core rendering engine and a modular interface that allows developers to embed fully functional, interactive command-line interfaces directly into browser environments. By processing standard terminal data streams and managing internal buffer states, the library enables the creation of rich, text-based user interfaces that support standard terminal protocols. The project distinguishes itself through a highly extensible architecture that allows for deep customization of terminal behavior. Devel

    TypeScriptconsoledevelopmentjavascript
    View on GitHub↗20,795
  • jonathanslenders/python-prompt-toolkitjonathanslenders avatar

    jonathanslenders/python-prompt-toolkit

    10,498View on GitHub↗

    python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface

    Python
    View on GitHub↗10,498
  • charmbracelet/lipglosscharmbracelet avatar

    charmbracelet/lipgloss

    10,591View on GitHub↗

    This project is a framework for composing terminal interfaces through declarative styling and a grid-based layout engine. It provides a comprehensive toolkit for building responsive command-line applications by managing ANSI escape sequences, color profiles, and text rendering to ensure consistent visual output across different terminal environments. The library distinguishes itself through its ability to automatically detect terminal capabilities and background themes, allowing it to adjust color schemes and downsample profiles for optimal readability. It utilizes a layered composition model

    Gocligogolang
    View on GitHub↗10,591
  • enquirer/enquirerenquirer avatar

    enquirer/enquirer

    7,946View on GitHub↗

    Enquirer is a Node.js library for creating interactive command-line interfaces to gather structured user input. It provides a set of terminal prompts, including menus, forms, and text fields, to collect data via autocomplete, multiselect, and boolean confirmations. The project serves as a customizable framework that allows for the creation of custom prompt types through a base class and the extension of functionality via a plugin architecture. The library covers a wide range of interaction patterns, such as capturing numerical and sensitive data, validating user input against custom rules, a

    JavaScript
    View on GitHub↗7,946
  • nsf/termbox-gonsf avatar

    nsf/termbox-go

    4,786View on GitHub↗

    termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a system for creating text-based graphical interfaces by managing a terminal cell buffer and handling raw input events. The library functions as a terminal cell buffer manager and input handler. It maintains an internal grid of characters and colors, using a back buffer to synchronize updates to the physical screen and translate keyboard and mouse events into structured data. Its capability surface covers text user interface rendering and terminal display management, including cur

    Go
    View on GitHub↗4,786
  • gcla/termsharkgcla avatar

    gcla/termshark

    9,908View on GitHub↗

    Termshark is a terminal-based network packet analyzer and protocol flow inspector. It serves as a keyboard-driven interface for the tshark command-line utility, providing a terminal user interface to monitor data flow and analyze network traffic. The tool functions as a terminal interface for Wireshark, utilizing its filtering and inspection logic to analyze recorded capture files or live network interfaces. It specifically enables the reassembly and inspection of TCP and UDP flows to isolate traffic patterns and analyze network conversations by protocol. The system includes capabilities for

    Gogogolanggowid
    View on GitHub↗9,908
  • mps-youtube/mps-youtubemps-youtube avatar

    mps-youtube/mps-youtube

    8,740View on GitHub↗

    mps-youtube is a YouTube terminal client and command-line media player. It allows users to search for, stream, and play YouTube videos and audio directly within a terminal emulator without requiring an API key. The project functions as a media downloader and search tool, providing capabilities to save video and audio content to the local file system in various formats and resolutions. It includes specialized discovery tools for finding music albums and matching individual tracks based on metadata. The software covers a broad range of media management capabilities, including headless media co

    Python
    View on GitHub↗8,740
  • jesseduffield/lazydockerjesseduffield avatar

    jesseduffield/lazydocker

    51,376View on GitHub↗

    Lazydocker is a terminal-based command-line utility that provides an interactive dashboard for monitoring and controlling containerized environments. It functions as a text-based user interface, allowing users to manage containers, images, and volumes directly within a terminal emulator through keyboard-driven navigation. The tool distinguishes itself by replacing manual command-line sequences with a unified workspace that communicates directly with the Docker daemon via the local Unix domain socket. It maintains state synchronization by listening to real-time container events and utilizes co

    Go
    View on GitHub↗51,376