Skip to main content

effective and intuitive CLI framework

Project description

RTPY is an intuitive and effective CLI framework which is scalable and practical.

The most common use case might be an alternative of Python’s argparser, also you can enrich your terminal commands by using wisepy.

The terminal utilities have been removed from wisepy. One project, one goal.

Install

pip install -U Redy rbnf wisepy

Usage

from wisepy.talking import Talking
talking = Talking()

@talking
def add(left: 'an integer', right: 'another integer'):
    """
    add up two numbers.
    """
    left = int(left)
    right = int(right)
    return left + right

if __name__ == '__main__':
    talking.on()

And then use this python script:

cmd> python add --help # not only `cmd`, support all terminal as well.

  add
      add up two numbers.

  - left(positional or keyword arg)  : an integer
  - right(positional or keyword arg) : another integer

cmd> python demo.py add 1 2

3

Another example here shows that wisepy can translate python functions with any kinds of parameter signatures into terminal command.

@talking.alias('sum')
def another(*args,
            to_float: bool = False,
            double=None,
            additional_add: int = None):
    """
    my sum command
    """

    # using type annotation in keyword argument makes the argument
    # cast to the specific type.

    ret = sum(map(int, args))

    if double:
        ret = ret * 2

    if to_float:
        ret = float(ret)

    if additional_add:
        ret += additional_add

    return ret

See terminal:

cmd> python demo.py sum --help

  sum
      my sum command

  - args(*args)
  - to_float(keyword only) = False      : <class 'bool'>
  - double(keyword only) = None
  - additional_add(keyword only) = None : <class 'int'>

cmd> python demo.py sum 1 2 3

6

cmd> python demo.py sum 1 2 3 --double

12

cmd> python demo.py sum 1 2 3 -additional_add 5 --double --to_float

17.0

Project details


Release history Release notifications

Download files

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

Files for wisepy, version 0.2.10
Filename, size File type Python version Upload date Hashes
Filename, size wisepy-0.2.10-py3-none-any.whl (8.1 kB) File type Wheel Python version 3.6 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