Skip to main content

simple and robust terminal user interface library for the command line.

Project description

pytermgui

A simple module to display UI in the terminal, as well as to read input.

For now, a good example of use would be teahaz-client, but documentation will be coming soon.

getting started

# version with comments & explanation: examples/readme_example.py

from pytermgui import Container,container_from_dict,getch

data = {
    "ui__title": "Test data",
    "key": "value",
    "key2": "value2",
    "ui__button": {
        "id": "test-data_button",
        "value": "publish!"
    }
}

containers = container_from_dict(data,width=40)
c = containers[0]

c.select()
c.center()
print('\033[2J')
print(c)

# - this can be substituted for:
# from pytermgui.utils import basic_selection
# basic_selection(c)
# - but for anything more advanced than basic use
#   you should define your own method.
while True:
    key = getch()

    if key == "ARROW_UP":
        c.selected_index -= 1

    elif key == "ARROW_DOWN":
        c.selected_index += 1

    elif key == "SIGTERM":
        raise KeyboardInterrupt

    c.select()
    print(c)

readme-example

images

examples/basic_menu.py:

basic_menu

examples/project_picker.py:

project_picker

teahaz menu picker:

menu_picker

teahaz file picker:

filepicker

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.0.9.tar.gz (23.9 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pytermgui-0.0.9.tar.gz
  • Upload date:
  • Size: 23.9 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.4

File hashes

Hashes for pytermgui-0.0.9.tar.gz
Algorithm Hash digest
SHA256 635f259185ca9f75e580845778947e7286f6f73241ef5e5250d49ee653694963
MD5 a281f85cf7f03171e11d206a4fef6331
BLAKE2b-256 81b61f335be44ab51d3fb0c0441f4d0864f53f26c09038b4ab0087b0fe466d72

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