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

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jonathanslenders avatar

jonathanslenders/python-prompt-toolkit

0
View on GitHub↗
10,498 stars·793 forks·Python·BSD-3-Clause·10 viewspython-prompt-toolkit.readthedocs.io↗

Python Prompt Toolkit

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 capabilities, including interactive code completion, mouse interaction support, and multi-line input buffering. It also supports configurable keyboard navigation using Vi and Emacs key bindings for text manipulation.

Features

  • Interactive CLI Frameworks - Provides a comprehensive framework for constructing interactive command-line interfaces with advanced layout and input management.
  • Terminal User Interfaces - A comprehensive framework for building complex terminal user interfaces with advanced input and layout management.
  • Command-Line Autocompletion - Provides a robust system for command-line autocompletion with ghost text suggestions and searchable input history.
  • Command Line Input Utilities - Provides tools for implementing specialized text input fields with highlighting and intelligent completions.
  • Interactive CLI Tools - Facilitates the development of interactive command line applications with advanced input handling.
  • Terminal Syntax Highlighting Engines - Implements a real-time syntax highlighting engine specifically designed for terminal environments using lexers.
  • Terminal User Interface Frameworks - Provides a framework for creating professional terminal interfaces with mouse support and multi-line editing.
  • Differential Screen Updates - Implements differential rendering to compare screen states and update only changed characters for efficiency.
  • Terminal UI Frameworks - Offers a full framework for creating sophisticated terminal interfaces with mouse support and multi-line editing.
  • Coordinate-Based Character Rendering - Implements a coordinate-based system to place text characters at specific x and y positions for precise terminal layouts.
  • Event-Driven Input Handlers - Provides an event-driven input loop to process keyboard and mouse sequences and trigger application actions.
  • Keyboard Command Mapping - Translates keyboard sequences into internal commands via configurable maps, supporting Vi and Emacs modes.
  • Code Completion - Provides an interactive system for suggesting completions for current input to reduce data entry errors.
  • Command Line Navigation - Implements efficient text manipulation and navigation using configurable Vi and Emacs key bindings.
  • Multi-line Editing - Supports multi-line editing and multiple input buffers for complex command line interactions.
  • Shell History Search Engines - Provides incremental reverse and forward search capabilities through previously entered command history.
  • Suggestion Engines - Offers ghost text suggestions based on user history and patterns to accelerate command entry.
  • Buffer Managers - Manages multiple independent text buffers to support context switching and multi-line editing.
  • Keyboard Navigation - Supports configurable keyboard navigation through Emacs and Vi bindings for efficient text manipulation.
  • Syntax Highlighters - Includes a syntax highlighting engine that uses lexers to apply colors to text in real time.
  • Real-Time Command Highlighting - Colors input text in real time using a lexer to provide immediate visual feedback during typing.
  • Terminal Text Rendering - Ensures double-width Unicode characters are rendered correctly for precise alignment of international text.
  • Double-Width Character Alignment - Ensures correct alignment and display of double-width Unicode characters for international language support.
  • Unicode Layout Rendering - Ensures correct alignment and display of double-width Unicode characters for precise terminal rendering.
  • CLI Development - Library for building interactive CLI tools.
  • Python Frameworks and Tools - Interactive CLI toolkit for Python.

Star history

Star history chart for jonathanslenders/python-prompt-toolkitStar history chart for jonathanslenders/python-prompt-toolkit

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

Open-source alternatives to Python Prompt Toolkit

Similar open-source projects, ranked by how many features they share with Python Prompt Toolkit.
  • 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
  • sboudrias/inquirer.jsSBoudrias avatar

    SBoudrias/Inquirer.js

    21,578View on GitHub↗

    Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing

    TypeScriptclicommand-linejavascript
    View on GitHub↗21,578
  • 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
  • dthree/vorpaldthree avatar

    dthree/vorpal

    5,628View on GitHub↗

    Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible command-line shells. It functions as an interactive command-line parser that converts string input into executable functions, managing the lifecycle of terminal sessions and command routing. The framework is distinguished by a plugin-based extension architecture that allows external modules to register new commands, shared behaviors, and complete command suites into the core environment. It supports the creation of custom shell environments with specialized namespaces and a system for pe

    JavaScript
    View on GitHub↗5,628
See all 30 alternatives to Python Prompt Toolkit→

Frequently asked questions

What does jonathanslenders/python-prompt-toolkit do?

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.

What are the main features of jonathanslenders/python-prompt-toolkit?

The main features of jonathanslenders/python-prompt-toolkit are: Interactive CLI Frameworks, Terminal User Interfaces, Command-Line Autocompletion, Command Line Input Utilities, Interactive CLI Tools, Terminal Syntax Highlighting Engines, Terminal User Interface Frameworks, Differential Screen Updates.

What are some open-source alternatives to jonathanslenders/python-prompt-toolkit?

Open-source alternatives to jonathanslenders/python-prompt-toolkit include: prompt-toolkit/python-prompt-toolkit — This project is a Python terminal user interface library and toolkit designed for building interactive command-line… sboudrias/inquirer.js — Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured… anomalyco/opentui — Opentui is a terminal user interface framework for building interactive command line applications. It provides a… dthree/vorpal — Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible… gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… ratatui-org/ratatui — Ratatui is a terminal rendering engine and library for the Rust language used to build interactive text-based user…