py_clui

Toolkit for quickly building nice looking command line interfaces


License
MIT
Install
pip install py_clui==0.0.3

Documentation

Py-clui

This is a Python toolkit for quickly building nice looking command line interfaces.

Build Status Code style: black

It also includes the following easy to use components:

  • Spinners
  • Gauge
  • Progress

Spinner(message, style=None)

Picture of a spinner

Parameters

  • message - The default status text to display while the spinner is spinning.
  • style - Array of graphical characters used to draw the spinner. By default, on Windows: ['|', '/', '-', ''], on other platforms: ['◜','◠','◝','◞','◡','◟']

Methods

  • run() - Show the spinner on the screen.
  • update_msg(message) - Update the status message that follows the spinner.

Example

from py_clui import Spinner

spinner = Spinner('Processing documents...')
spinner.run()

for x in range(100):
    spinner.update_msg('{0} Processed documents'.format(x))
    spinner.run()

Gauge(value, max_value, width, danger_zone, suffix=None)

Picture of a gauge

Draw a basic horizontal gauge to the screen.

Parameters

  • value
  • max_value
  • width
  • danger_zone
  • suffix

Example

from py_clui import gauge

total = 100
free = 30

used = total - free

print(gauge(used, total, 20, total * 0.8, 'Used memory'))

Progress(width=20)

Picture of a progress

Parameters

  • width - The width in characters of progress_bar

Methods

  • update(percent) - Return a progress bar width a this percente filled.

Example

from py_clui import Progress

progress = Progress(20)

print(progress.update(.5))

Motivation

  1. clui makes NodeJS even more sexy. Python needed something like it.