Click的REPL插件
项目描述
click-repl
安装
安装通过pip完成
pip install click-repl
用法
在您的click应用中
import click
from click_repl import register_repl
@click.group()
def cli():
pass
@cli.command()
def hello():
click.echo("Hello world!")
register_repl(cli)
cli()
在shell中
$ my_app repl
> hello
Hello world!
> ^C
$ echo hello | my_app repl
Hello world!
未显示的功能
- Tab补全。
- 父上下文被重用,这意味着
ctx.obj
在子命令之间持续存在。如果您在那个对象上保留缓存(例如,我就是这样做的),使用应用程序的repl而不是shell将大大提高性能。 !
前缀执行shell命令。
您可以使用内部的:help
命令来解释用法。
高级用法
为了对REPL的工作方式有更多的灵活性,您可以直接使用repl
函数而不是register_repl
。例如,在您的应用中
import click
from click_repl import repl
from prompt_toolkit.history import FileHistory
@click.group()
def cli():
pass
@cli.command()
def myrepl():
prompt_kwargs = {
'history': FileHistory('/etc/myrepl/myrepl-history'),
}
repl(click.get_current_context(), prompt_kwargs=prompt_kwargs)
cli()
然后您的自定义myrepl
命令将在您的CLI上可用,它将启动一个REPL,其历史记录存储在/etc/myrepl/myrepl-history
中,并在会话之间持续存在。
可以传递给python-prompt-toolkit
Prompt类的任何参数都可以传递给prompt_kwargs
参数,并在实例化Prompt
时使用。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
click-repl-0.3.0.tar.gz (10.4 kB 查看哈希值)
构建分发
click_repl-0.3.0-py3-none-any.whl (10.3 kB 查看哈希值)