A Python module that provides GNU Readline-like line editing functions (the default Emacs-style ones). If you just want to use Readline, use the readline package in the standard library--but this package allows access to those capabilties in settings outside of a standard CLI.
Currently, all stateless Readline commands are implemented. This means that yanking and history are not supported.
This module is especially well-suited to interfacing with Urwid due to a shared syntax for describing key inputs.
Install or upgrade to the latest version from PyPI:
[sudo] pip install -U readlike
>>> import readlike >>> readlike.edit('perilous siege', 9, 'meta t') ('siege perilous', 14)
Implemented commands and their correspondings keys are as follows:
backward-char ctrl b, left backward-delete-char ctrl h, backspace backward-kill-word ctrl meta h, meta backspace backward-word meta b, meta left beginning-of-line ctrl a, home capitalize-word meta c delete-char ctrl d, delete delete-horizontal-space meta \ downcase-word meta l end-of-line ctrl e, end forward-char ctrl f, right forward-word meta f, meta right kill-line ctrl k kill-word meta d, meta delete transpose-chars ctrl t transpose-words meta t unix-line-discard ctrl u unix-word-rubout ctrl w upcase-word meta u
For more information about each command, see readline(3) or see the doc strings in readlike.py.