/runp

export python functions from files to the command line

Primary LanguagePython

runp

https://coveralls.io/repos/vascop/runp/badge.svg?branch=master&service=github

runp exports Python functions from files to the command line. You don't need to change your existing code.

If you have a file named myfile.py with:

def foo():
    """beeps a lot"""
    print "beep beep"

def bar(text):
    """Prints things

    Args:
        text (str): The text to print
    """
    print text

And you want to run it in the command line just do:

$ runp myfile.py foo
beep beep

You can also pass arguments to your functions:

$ runp myfile.py bar:"this is sweet!"
this is sweet!

Functions with names starting with _ are hidden.

You can list available functions with:

$ runp myfile.py -l
Available functions:
foo    beeps a lot
bar    Prints things

And get info on a specific function:

$ runp myfile.py -d bar
Displaying docstring for function bar in module myfile

bar(text)
    Prints things

    Args:
        text (str): The text to print

Syntax for calling functions is:

$ runp myfile.py function_name:arg1value,arg2=arg2value

The concept, syntax for commands and initial code are heavily inspired by fabric's task system.