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 details)

Uploaded Source

File details

Details for the file tinyprompt-0.1.0.tar.gz.

File metadata

  • Download URL: tinyprompt-0.1.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for tinyprompt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cfa6a67b9f31e3a745f262317814b7701cedfd60d4459b17e1b84fbfbba10f6c
MD5 1a39babf78b5daf1d17b8b474de07a64
BLAKE2b-256 56ed7685ecf5e549536df8a18ea6c3a889835bcd7e391fcc1d056499828d4a31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page