跳转到主要内容

命令行界面框架

项目描述

Knack

https://img.shields.io/pypi/v/knack.svg https://img.shields.io/pypi/pyversions/knack.svg https://dev.azure.com/azure-sdk/public/_apis/build/status/cli/microsoft.knack?branchName=dev
 _                     _
| | ___ __   __ _  ___| | __
| |/ / '_ \ / _` |/ __| |/ /
|   <| | | | (_| | (__|   <
|_|\_\_| |_|\__,_|\___|_|\_\

命令行界面框架

通过pip安装简单易行

pip install knack

Knack可以作为非特权用户安装到您的家目录中,如下所示添加“–user”:

pip install knack --user


用法

import sys
from collections import OrderedDict

from knack import CLI, ArgumentsContext, CLICommandsLoader
from knack.commands import CommandGroup


def abc_str(length=3):
    import string
    return string.ascii_lowercase[:length]


class MyCommandsLoader(CLICommandsLoader):
    def load_command_table(self, args):
        with CommandGroup(self, 'abc', '__main__#{}') as g:
            g.command('str', 'abc_str')
        return OrderedDict(self.command_table)

    def load_arguments(self, command):
        with ArgumentsContext(self, 'abc str') as ac:
            ac.argument('length', type=int)
        super(MyCommandsLoader, self).load_arguments(command)


mycli = CLI(cli_name='mycli', commands_loader_cls=MyCommandsLoader)
exit_code = mycli.invoke(sys.argv[1:])
sys.exit(exit_code)

# $ python mycli.py abc str
# "abc"

# $ python mycli.py abc str --length 5
# "abcde"

# $ python mycli.py abc str --length 100
# "abcdefghijklmnopqrstuvwxyz"

更多示例和代码片段可在示例中找到。

文档

文档可在文档中找到。

开发者设置

在虚拟环境中,安装requirements.txt文件。

pip install -r requirements.txt
pip install -e .

运行自动化

此项目支持使用tox运行自动化。

pip install tox
tox

实际用途

  • Azure CLI:Azure CLI 2.0是Azure管理Azure资源的新命令行体验。

  • VSTS CLI:Visual Studio Team Services(VSTS)和Team Foundation Server(TFS)的命令行界面。使用VSTS CLI,您可以管理并使用包括拉取请求、工作项、构建等资源。

  • Service Fabric CLI:用于与Azure Service Fabric集群及其相关实体交互的命令行界面。

您在CLI中也使用knack吗?请提交一个拉取请求将其包含在此处。我们非常希望将其列入我们的清单。

发行历史

请参阅GitHub发行版

贡献代码

本项目已采用Microsoft开源行为准则

有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com联系以获取任何额外的问题或评论。

如果您想成为本项目的积极贡献者,请按照贡献许可协议中提供的说明操作。

许可证

Knack采用MIT许可证。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

knack-0.12.0.tar.gz (72.4 kB 查看哈希)

上传时间:

构建分布

knack-0.12.0-py3-none-any.whl (60.8 kB 查看哈希)

上传时间: Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面