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
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.210501
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tui-editor-1.20220821.210501.tar.gz | 9.8 kB | Details |
Release files / tui-editor-1.20220821.210501.tar.gz
| Download URL | tui-editor-1.20220821.210501.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e65d696f772a8c89f1ca4663a098b8951f15a98a8f07e22fe27ac797f7f3f62
|
|
BLAKE2b-256 checksum How to use checksums |
202f0078377b1fe4c61b9ec3ea8b4b01b713c9f2cb5abb9e4d151dac23377aaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|