跳转到主要内容

可组合的命令行界面工具包,异步版本

项目描述

什么是AsyncClick?

AsyncClick是Click的一个分支,与trio或asyncio配合良好。

Click是一个Python包,以可组合的方式创建美丽的命令行界面,代码尽可能少。它是“命令行界面创建套件”。它高度可配置,但默认情况下带有合理的设置。

它的目标是在快速而有趣地编写命令行工具的同时,防止由于无法实现预期的CLI API而导致的任何挫败感。

AsyncClick四点总结

  • 命令的任意嵌套

  • 自动生成帮助页面

  • 支持在运行时懒加载子命令

  • 无缝使用异步命令和子命令处理器

安装

使用 pip 安装和更新

$ pip install asyncclick

AsyncClick支持Python 3.7及更高版本和PyPy3。

简单示例

import anyio
import asyncclick as click
# You can use all of click's features as per its documentation.
# Async commands are supported seamlessly; they just work.

@click.command()
@click.option("--count", default=1, help="Number of greetings.")
@click.option("--name", prompt="Your name", help="The person to greet.")
async def hello(count, name):
    """Simple program that greets NAME for a total of COUNT times."""
    for x in range(count):
        if x: await anyio.sleep(0.1)
        click.echo(f"Hello, {name}!")

if __name__ == '__main__':
    hello(_anyio_backend="trio")  # or asyncio

# You can use your own event loop:
#    import anyio
#    async def main():
#        await hello.main()
#    if __name__ == '__main__':
#        anyio.run(main)
# This is useful for testing.
$ python hello.py --count=3
Your name: Click
Hello, Click!
Hello, Click!
Hello, Click!

项目详情


下载文件

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

源代码分发

asyncclick-8.1.7.2.tar.gz (349.1 kB 查看散列)

上传时间 源代码

构建分发

asyncclick-8.1.7.2-py3-none-any.whl (99.2 kB 查看散列)

上传时间 Python 3

由以下机构支持