Skip to content
/ clime Public
forked from moskytw/clime

A Python module let you quickly convert the functions into a multi-command CLI program

Notifications You must be signed in to change notification settings

alcho/clime

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clime

Note: The 0.1.4 is a rewrote version and it does not provide backward compatibility.

Clime let you convert a module, a dict or an instance into a multi-command CLI program.

It scans the object to find the functions out, so it is low couple with your source.

And, it scans the aliases and metavars of options from docstring, so you are free from writing the settings of options. You can focus on writing the help text of your CLI program.

It is a better choice than the heavy optparse or argparse for simple CLI tasks.

Let me show an example for you.

See the full documentaion on http://docs.mosky.tw/clime/ .

CLI-ize ME!

Here we have a simple script with docstring here:

# filename: repeat.py

def repeat(string, time=2):
    '''repeat string n times

    options:
        -n N, --time N  repeat N times.
    '''

    print string * time

After add this line,

import clime.now

... you now have a CLI program!

$ python repeat.py twice
twice
twice

$ python repeat.py -n3 thrice
thrice
thrice
thrice

And it gerneate the usage from your function:

$ python repeat.py --help
usage: [--time N | -n N] STRING
   or: repeat [--time N | -n N] STRING

If you wrote a docstring, it will also show up in help text.

$ python repeat.py repeat --help
usage: [--time N | -n N] STRING
   or: repeat [--time N | -n N] STRING

repeat string n times

options:
    -n N, --time N  repeat N times.

You can find more examples in the clime/examples.

See Command.scan for more details about argument parsing.

Installation

Clime is hosted on two different platforms, PyPI and GitHub.

  1. Install from PyPI

    Install Clime from PyPI for a stable version

    $ sudo pip install clime
    

    If you don't have pip, execute

    $ sudo apt-get install python-pip
    

    to install pip on Debian-base Linux distribution.

  2. Get Clime from GitHub

    If you want to follow the lastest version of Clime, use

    $ git clone git://github.com/moskied/clime.git
    

    to clone a Clime repository. Or download manually from GitHub.

Usage

Here is the basic usage of Clime.

You have two different ways to use Clime.

  1. Insert A Line into Your Source

    Just add this line into your source

    import clime.now
    

    It is recommend to put the codes into the if __name__ == '__main__': block.

  2. Use Clime as A Command

    clime is also an executable module. Use it to convert a module or a Python file temporarily.

    $ python -m clime TARGET
    

See clime.Program for more usages.

More Details

These are the basics of Clime usage. If you want to know more, details are here: Take a Deeper Look at Clime.

About

A Python module let you quickly convert the functions into a multi-command CLI program

Resources

Stars

Watchers

Forks

Packages

No packages published