A Python module let you quickly convert the functions into a multi-command CLI program
Switch branches/tags
Pull request Compare This branch is 253 commits behind moskytw:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
clime
docs
examples
tests
.gitignore
MANIFEST.in
README.rst
setup.py

README.rst

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.