You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 years ago | |
|---|---|---|
| .github/workflows | 5 years ago | |
| TermTk | 4 years ago | |
| demo | 4 years ago | |
| docs | 4 years ago | |
| tests | 4 years ago | |
| tools | 4 years ago | |
| tutorial | 4 years ago | |
| .gitignore | 4 years ago | |
| LICENSE | 5 years ago | |
| Makefile | 4 years ago | |
| README.md | 4 years ago | |
| setup.py | 4 years ago | |
README.md
python Terminal Toolkit
Text-based user interface library (TUI) Evolved from the discontinued project pyCuT and inspired by a mix of Qt5,GTK, and tkinter api definition with a touch of personal interpretation
Features
- Basic widgets for TUI development (Button, Label, checkbox, ...)
- Specialized widgets to improve the usability (Windows, Frames, Tables, ...)
- QT Like Layout system to help arrange the widgets in the terminal
- True color support
- [TBD] Fullsize/Halfsize UTF-8 characters
Limitations
- Only the key combinations forwarded by the terminal emulator used are detected (ALT,CTRL may not be handled)
Try
Tutorial
Be inspired by the tutorial examples
Api Definitions
Don't get bored by the Api Definitions
Install/Upgrade
pip3 install --upgrade pyTermTk
Quick Test/Try - no install required
Clone
clone git@github.com:ceccopierangiolieugenio/pyTermTk.git
cd pyTermTk
Run Basic (non ui) input test
python3 tests/test.input.py
Run demo
# Press CTRL-C to exit
# the logs are written to "session.log"
make runDemo
# or
python3 demo/demo.py -f
# Try gittk
make runGittk
Profiling
cProfile, cProfilev
python3 -m cProfile -o profiler.txt tests/test.ui.004.py
# install cprofilev:
# pip3 install cprofilev
cprofilev -f profiler.txt
# open http://127.0.0.1:4000
pyroscope
pyroscope can be used as well for profiling
Related Projects
-
honourable mention
- bpytop - Linux/OSX/FreeBSD resource monitor
This was the base inspiration for my core library
- bpytop - Linux/OSX/FreeBSD resource monitor
-
Python
- urwid - Console user interface library for Python
- pyTermGUI - A simple yet powerful TUI framework for your Python (3.7+) applications
- Textual - TUI (Text User Interface) framework for Python inspired by modern web development
- Rich - Python library for rich text and beautiful formatting in the terminal
- PyCuT - terminal graphic library loosely based on QT api (my previous failed attempt)
-
Non Python
- Turbo Vision
- ncurses
- tui.el - An experimental text-based UI framework for Emacs modeled after React


