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


Download files

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

Source Distribution

tinyprompt-0.1.0.tar.gz (4.2 kB view hashes)

Uploaded Source

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