Skip to main content

A simple and robust terminal UI library, written in Python.

Project description

title

A simple yet powerful TUI framework for your Python (3.7+) applications

pip3 install pytermgui

PyPI version Pylint quality

Core principles

PTG was written with some core ideas in mind, such as:

  • Pythonic syntax
  • Flexible systems
  • High quality code
  • Extensibility by design

What we provide

An example to get started with

# Note: This example uses the auto-conversion syntax. 
#       For more info, check out `help(pytermgui.auto)`.

import sys
from pytermgui import WindowManager, Window

manager = WindowManager()
window = (
    Window(min_width=50)
    + "[210 bold]My first Window!"
    + ""
    + "[157]Try resizing the window by dragging the right border"
    + "[157]Or drag the top border to move the window"
    + "[193 bold]Alt-Tab[/bold 157] cycles windows"
    + "[193 bold]CTRL_C[/bold 157] exits the program"
    + ""
    + ["New window", lambda *_: manager.add(window.copy().center())]
    + ["Close current", lambda _, button: manager.close(button.parent)]
    + ["Exit program", lambda *_: sys.exit(0)]
)

manager.add(window)
manager.run()

readme wm gif

Some screenshots

hello_world bezo calc

Documentation

As the project is in its infancy, dedicated documentation is not yet available.

If you are interested in help about anything the module provides, you can read its docstring:

python3 -c "help(pytermgui.<name>)"

However, proper documentation is coming once the API is stable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytermgui-0.4.1.tar.gz (46.3 kB view details)

Uploaded Source

File details

Details for the file pytermgui-0.4.1.tar.gz.

File metadata

  • Download URL: pytermgui-0.4.1.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.5

File hashes

Hashes for pytermgui-0.4.1.tar.gz
Algorithm Hash digest
SHA256 99794ac206c180ea6d0dcb11dd5e0b885f7d145fc0af0e731e70b77c0fb90baf
MD5 87538a596816b09c29240c1211fca04b
BLAKE2b-256 10f95f8ade02c89f5d50e9baae04d003373e2002605aef41fd9295676b277654

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page