Skip to main content

Tiny Handy Prompting Lib

Project description

build status Latest Released Version Supported Python Versions License

tinyprompt

A tiny lib for nice, handy prompts, primarily for Ops scripts.

This README contains all documentation.

Usage

pip install tinyprompt

Use tinyprompt.skippable to wrap script steps with a Yes / Skip / Quit prompt. This is very useful for simple scripted operations where - yes is the normal case - skip can be used to resume after a failure or abort - quit is used to abort when issues are encountered

import tinyprompt

# note: tinyprompt.skippable passes arguments through verbatim, but it's
# not guaranteed to return a meaningful result
# `quit` does a sys.exit(1) and `skip` makes it return `None`

@tinyprompt.skippable('skippable script step')
def my_func():
    """
    Do some things, this docstring will show up as a command description
    when the script is run.
    The "skippable script step" arg will be uppercased and used as the step
    name.
    """
    print('this skippable step')


@tinyprompt.skippable('other skippable script step', color=False)
def my_func2():
    """another func"""
    print('hi')


def otherfunc():
    # yes, it's on purpose
    tinyprompt.color_print('red string', tinyprompt.RED)
    tinyprompt.color_print('yellow string', tinyprompt.BLUE)
    tinyprompt.color_print('green string', tinyprompt.GRAY)
    tinyprompt.color_print('blue string', tinyprompt.GREEN)
    tinyprompt.color_print('gray  string', tinyprompt.YELLOW)


def main():
    my_func()  # skippable
    my_func2()  # skippable
    otherfunc()  # not skippable, but not reached on quit

if __name__ == '__main__':
    main()

Contributing

  • All code must pass make test
  • All code is autoformatted with black and isort
  • Try to write a test whenever you find a bug
  • Make your PRs clean. Rebase to avoid merge conflicts and squash fixup commits

Project details


Release history Release notifications

This version

0.1.0

Download files

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

Files for tinyprompt, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size tinyprompt-0.1.0.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page