更多点击。
项目描述
more_click
我在几乎所有存储库中使用的click的额外功能
更多选项
模块 more_click.options
包含几个选项(预定义的 click.option()
实例),我经常使用。首先,verbose_option
通过使用 -v
使调整你的软件包的日志记录器变得容易。
还有一些对Web内容有用的选项,包括
名称 | 类型 | 标志 |
---|---|---|
more_click.host_option |
str | --host |
more_click.port_option |
str | --port |
Web工具
在许多软件包中,我已经在 wsgi.py
中包含了一个Flask Web应用程序。我通常在 cli.py
文件中使用以下形式导入Web应用程序,并使其与其他软件包相关使用隔离开来
# cli.py
import click
from more_click import host_option, port_option
@click.command()
@host_option
@port_option
def web(host: str, port: str):
from .wsgi import app # modify to point to your module-level flask.Flask instance
app.run(host=host, port=port)
if __name__ == '__main__':
web()
但是,有时我想通过CLI使用 gunicorn
来运行它,所以我将使用以下扩展来自动确定应该使用Flask的开发服务器还是gunicorn。
# cli.py
import click
from more_click import host_option, port_option, with_gunicorn_option, workers_option, run_app
@click.command()
@host_option
@port_option
@with_gunicorn_option
@workers_option
def web(host: str, port: str, with_gunicorn: bool, workers: int):
from .wsgi import app # modify to point to your module-level flask.Flask instance
run_app(app=app, with_gunicorn=with_gunicorn, host=host, port=port, workers=workers)
if __name__ == '__main__':
web()
对于终极懒惰模式,我编写了一个围绕第二个的包装器
# cli.py
from more_click import make_web_command
web = make_web_command('my_package_name.wsgi:app')
if __name__ == '__main__':
web()
这使用标准的 wsgi
风格字符串来定位应用程序,因为你不想在CLI中急切地导入应用程序,因为它可能依赖于像Flask这样的可选依赖。如果你的CLI有其他内容,可以将Web命令包含在一个组中,如
# cli.py
import click
from more_click import make_web_command
@click.group()
def main():
"""My awesome CLI."""
make_web_command('my_package_name.wsgi:app', group=main)
if __name__ == '__main__':
main()
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
more_click-0.1.2.tar.gz (8.0 kB 查看哈希值)
构建分发
more_click-0.1.2-py3-none-any.whl (6.7 kB 查看哈希值)
关闭
more_click-0.1.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 085da66d5a9b823c5d912a888dca1fa0c8b3a14ed1b21ea9c8a1b814857a3981 |
|
MD5 | cb1e412ce364d9f752accf3e920cacff |
|
BLAKE2b-256 | cfc7da345a948fb09129c524e81209c32c07c56f5e30786b973116247c4eba61 |
关闭
more_click-0.1.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f6387af37ef7e7423bd94b72a81a53c79c5086a3bfe5cc035da534ff0c2a0a9e |
|
MD5 | 169a1ea214448f83202d7ce860077f6a |
|
BLAKE2b-256 | ad8e4e25da8883c5d661eaf4225a951046b8f4466e75eadb8594e204550b3179 |