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.
 
 
 
 
 
Eugenio Parodi baf59d9ac5 Moved old table/tree to 'FancyTable/Tre' 4 years ago
.github/workflows Removed python 3.7 test 5 years ago
TermTk Moved old table/tree to 'FancyTable/Tre' 4 years ago
demo Moved old table/tree to 'FancyTable/Tre' 4 years ago
docs Improved the doc images 5 years ago
tests Moved old table/tree to 'FancyTable/Tre' 4 years ago
tools Few improvements required to 'tlogg' 5 years ago
tutorial Added layout doc image 5 years ago
.gitignore Improved the documentation, initial packaging 5 years ago
LICENSE Formalizing the structure 5 years ago
Makefile Improved the doc images 5 years ago
README.md Added replit link 5 years ago
setup.py First color picker draft 5 years ago

README.md

Linux Usage Python pyTermTk_version Test Status pypi_version pypi_version

screenshot

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

screenshot

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

screenshot

Tutorial

Be inspired by the tutorial examples

Api Definitions

Don't get bored by the Api Definitions

Install/Upgrade

pyTermTk is available on PyPI

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