跳转到主要内容

已被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 (7.8 kB 查看哈希值)

上传时间

由以下提供支持