可组合的命令行界面工具包,异步版本
项目描述
什么是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!
捐赠
Pallets组织开发和支持Click以及其他流行的包。为了扩大贡献者和用户的社区,并允许维护者将更多时间投入到项目中,请今天捐赠。
AsyncClick分支由Matthias Urlichs维护 <matthias@urlichs.de>。这不是很多工作,所以如果您想激励我,请向您选择的慈善机构捐赠,并告诉我您已经这样做。;-)
链接
AsyncClick 足够简单,没有自己的网页。
这些链接指向了原始的、非异步启用的 Click 版本。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
asyncclick-8.1.7.2.tar.gz (349.1 kB 查看散列)
构建分发
asyncclick-8.1.7.2-py3-none-any.whl (99.2 kB 查看散列)
关闭
asyncclick-8.1.7.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 219ea0f29ccdc1bb4ff43bcab7ce0769ac6d48a04f997b43ec6bee99a222daa0 |
|
MD5 | 542e83089a55129ca2fe7ccdbc65ba77 |
|
BLAKE2b-256 | 5ebf59d836c3433d7aa07f76c2b95c4eb763195ea8a5d7f9ad3311ed30c2af61 |
关闭
asyncclick-8.1.7.2-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1ab940b04b22cb89b5b400725132b069d01b0c3472a9702c7a2c9d5d007ded02 |
|
MD5 | 49632e6ec71c943f612faaf7722be1ed |
|
BLAKE2b-256 | 1e6e9acdbb25733e1de411663b59abe521bec738e72fe4e85843f6ff8b212832 |