Skip to main content

Simple Python terminal (TUI) multi-line editor

This is just a simple multi-line editor for the terminal (VT100). It is a bit like input (doc) but supporting multiple lines and behaving more like a simple editor. It is different to other editors and other TUI frameworks in that it will not go full-screen but only use the last N lines of the terminal. It is intended to be simple and flexible and hackable, i.e. the behavior can be changed, typing events can be handled, etc. It takes extra care to handle terminal resizing. It also supports to show a status bar (potential multi-line).

Homepage: https://github.com/albertz/py-tui-editor

Installation

The project is on PyPI: https://pypi.org/project/tui-editor/

Thus you can just do:

pip install tui-editor

Usage

Simple empty editor:

>>> from tui_editor import TuiEditor
>>> editor = TuiEditor()
>>> editor.edit()
>>> editor.get_text()
'Hello World!'

Predefined editable text:

>>> from tui_editor import TuiEditor
>>> editor = TuiEditor()
>>> editor.set_text('Hello World!')
>>> editor.edit()
>>> editor.get_text()
'Hello World!'

Screenshot

https://raw.githubusercontent.com/albertz/py-tui-editor/master/screenshots/2022-08-21.png?sanitize=true

Motivation

Python TUI?

What I want:

  • simple multi-line editor

  • not whole screen but only next N lines

  • show interactive feedback. e.g. mark edits, show number of edits, show diff in separate plane or so

Licence

MIT License

History

2015 Paul Sokolovsky: picotui project seditor.py example. 2022 Albert Zeyer: extend and redesign and package just the text editor as this library.

References

https://en.wikipedia.org/wiki/ANSI_escape_code https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Metadata

Release files for tui-editor 1.20220821.195516

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tui-editor 1.20220821.195516
File Size Uploaded
tui-editor-1.20220821.195516.tar.gz 8.6 kB Details

Release files / tui-editor-1.20220821.195516.tar.gz

Download URL tui-editor-1.20220821.195516.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3cb23c7005484fb67faf592d2d76c5df43ae833b80ea797b2c871a835d6839d7
BLAKE2b-256 checksum
How to use checksums
e54910b3837581c665d459228b212c2149a11ca83d12c6f779211e1517fd1c92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page