已被clitoo弃用
项目描述
已被clitoo弃用 https://yourlabs.io/oss/clitoo
和djcli https://yourlabs.io/oss/djcli
clilabs:完成工作的python CLI。
有时我想在命令行上执行带有一些参数的python回调,但我很沮丧,因为这总是需要将我的命令包装在一些包装器中。Clilabs让我不再沮丧。
安装
$ pip install clilabs
帮助
$ clilabs
clilabs automates python callables parametered calls.
Things starting with - will arrive in clilabs.context.
Examples:
clilabs help your.mod:main
clilabs debug your.mod -a --b --something='to see' how it=parses
clilabs your.mod:funcname with your=args
clilabs help clilabs.django
clilabs help django
clilabs clilabs.django:list auth.user
clilabs django:list auth.user # also works
# refer to the root one
clilabs ~django.db.models:somefunc somearg some=kwarg
演示
$ clilabs debug ~your.mod:yourfunc -a --b --something='to see' how it=parses
Could not import your.mod
Args: ('how',)
Kwargs: {'it': 'parses'}
Context args: ['a', 'b']
Context kwargs: {'something': 'to see'}
更多信息请见tutorial.md
创建自己的命令
添加到您的setup.py
entry_points={
'console_scripts': [
'yourcmd = yourpkg.cli:cli',
],
},
在您的ypkg/cli.py中添加
'''Your documentation that shows by default:
yourcmd somefunc ...
'''
import clilabs
def cli(*argv):
argv = list(argv) if argv else ['help', 'yourpkg.cli']
cb = clilabs.modfuncimp(*clilabs.funcexpand(argv[0], 'yourpkg.cli'))
args, kwargs = clilabs.expand(*argv[1:])
return cb(*args, **kwargs)
def main(...):
'''Put your help text, that will show when the
user runs the command without argument.'''
项目详情
关闭
clilabs-1.3.1.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2d2c2f08f695d129d0ba9a0734356bc2e71c2fa0d57fa9ac93bad9c237c58a69 |
|
| MD5 | 68afcc42246a77ebfd517b9c76afe763 |
|
| BLAKE2b-256 | 3d12eb6b1fa6939255daa5432f134b26d2a4bbbdaeef06d0d6aad96a0f225eda |