The full version of this documentaion is at clime.mosky.tw.
Clime lets you convert any module into a multi-command CLI program without any configuration.
The main features:
- It works well with zero configuration. Free you from the configuration hell.
- Docstring is just config. When you finish the docstring, the config of the aliases and metavars are also finished.
- It generates the usage of each command from the functions automatically.
It is a better choice than the heavy optparse or argparse for most of the CLI tasks.
Let me show you Clime with an example.
Here we have a simple script with a docstring here: :
# file: repeat.py
def repeat(message, times=2, count=False):
'''It repeats the message.
options:
-m=<str>, --message=<str> The description of this option.
-t=<int>, --times=<int>
-c, --count
'''
s = message * times
return len(s) if count else s
After adding this line, :
import clime.now
clime.now <http://clime.mosky.tw/api.html#module-clime.now> describes more about how to customize your program.
... your CLI program is ready! :
$ python repeat.py twice
twicetwice
$ python repeat.py --times=3 thrice
thricethricethrice
And it generates the usage manual: :
$ python repeat.py --help
usage: [-t<int> | --times=<int>] [-c | --count] <message>
or: repeat [-t<int> | --times=<int>] [-c | --count] <message>
If you have a docstring in your function, it also show up in usage manual with --help
. :
$ python repeat.py repeat --help
usage: [-t<int> | --times=<int>] [-c | --count] <message>
or: repeat [-t<int> | --times=<int>] [-c | --count] <message>
It repeats the message.
options:
-m=<str>, --message=<str> The message.
-t=<int>, --times=<int>
-c, --count
You can find more examples in the clime/examples.
.Command <http://clime.mosky.tw/api.html#clime.core.Command> describes more about how it works.
Clime is hosted on two different platforms, PyPI and GitHub.
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.
If you want to follow the latest version of Clime, use :
$ git clone git://github.com/moskytw/clime.git
to clone a Clime repository, or download manually from GitHub.