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 e400a2be49 Added osx screenshot, removed debug from README 2 years ago
.github/workflows removed python3.8 from the tested releases 3 years ago
.vscode Added vscode debug profile 3 years ago
TermTk Removed regex warnings 2 years ago
demo Added Debug and Install documentation 2 years ago
docs Added osx screenshot, removed debug from README 2 years ago
tests Adapted mock test objects to the new driver 2 years ago
tools Added auto version in the doc 2 years ago
ttkDesigner Added list support in TTkDesigner + other stuff 2 years ago
tutorial Q/A: #185 Add simple focus example 2 years ago
.gitignore exclude the VizTracker files and add vscode debug stuff 3 years ago
LICENSE Formalizing the structure 5 years ago
Makefile Makefile 2 years ago
README.md Added osx screenshot, removed debug from README 2 years ago
setup.py Added extra controls in the MenuEditor 3 years ago
setup.ttkDesigner.py Updated README 2 years ago

README.md

Linux Usage Python pyTermTk_version Test Status pypi_version pypi_version

screenshot

pyTermTk

(python Terminal Toolkit) is a 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

pyTermTk.Showcase.002.webm

Features

  • Self Contained (no external lib required)
  • Cross compatible: Linux🐧, MacOS🍎, MS Windows🪟, HTML5🌍(Try)
  • 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
  • Ful/Half/Zero sized Unicode characters 😎
  • I am pretty sure there is something else...

Limitations

  • Only the key combinations forwarded by the terminal emulator used are detected (ALT,CTRL may not be handled)

Try the Sandbox straight from your browser

SandBox

Powered by Pyodide and xterm.js and CodeMirror5 and w2ui


the Tutorials and the Examples

Be inspired by the Tutorials and the Examples

Api Definitions

Don't get bored by the Api Definitions

ttkDesigner

Smell deliciousness with the official pyTermTk tool for designing and building Text-based user interfaces (TUIs)


Install/Upgrade

pyTermTk is available on PyPI

pip3 install --upgrade pyTermTk

Quick Test/Try - no install required

Clone

git clone https://github.com/ceccopierangiolieugenio/pyTermTk.git
cd pyTermTk

Demos

# Press CTRL-C to exit (CTRL-Break on Windows)

# Showcase Demo
python3 demo/demo.py -f

# run the ttkDesigner
python3 -m ttkDesigner

# Text edit with "Pygments" highlight integrated
# it require pygments
#   pip install pygments
python3 tests/test.ui.018.TextEdit.Pygments.py README.md

Projects using pyTermTk

  • ttkDesigner - the official pyTermTk tool for designing and building Text-based user interfaces (TUIs)
  • tlogg - A fast, advanced log explorer.
  • ttkode - TerminalToolKit (Studio) Code (editor)
  • pytest-fold - A Pytest plugin to make console output more manageable when there are multiple failed tests
  • pytest-tui - A Text User Interface (TUI) for Pytest, automatically launched after your test run is finished
  • Honourable mention

    • bpytop - Linux/OSX/FreeBSD resource monitor
      This was the base inspiration for my core library
  • 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)
    • pyTooling.TerminalUI - A set of helpers to implement a text user interface (TUI) in a terminal.
  • Non Python