Need to convert a Python function into a command line tool? Take a look at begins:

Command line programs for lazy humans.

The following is an example from the documentation:

import begin
def run(name: 'What, is your name?',
        quest: 'What, is your quest?',
        colour: 'What, is your favourite colour?'):

Decorating the run function as above automatically creates the following command:

usage: [-h] -n NAME -q QUEST -c COLOUR

optional arguments:
  -h, --help            show this help message and exit
  -n NAME, --name NAME  What, is your name?
  -q QUEST, --quest QUEST
                        What, is your quest?
  -c COLOUR, --colour COLOUR
                        What, is your favourite colour?

Fire is an alternative package, that is more customisable (allows sub-commands) but it’s help command is more obtuse (command -- -help).