Skip to content
/ py-clui Public

Python toolkit for quickly building nice looking command line interfaces

License

Notifications You must be signed in to change notification settings

hmleal/py-clui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Python toolkit for quickly building nice looking command line interfaces

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published