Python工具脚本
项目描述
Python工具脚本
这是一个工具,类似于invoke。它更新,底层使用argparse和一些额外的魔法来定义CLI参数。
要使用它,您必须在您的仓库根目录中有一个tools
包。在您的tools/__init__.py
中导入您的脚本,Python工具脚本将它们添加到它的CLI中。
示例脚本 tools/vm.py
"""
These commands are used to create/destroy VMs, sync the local checkout
to the VM and to run commands on the VM.
"""
from ptscripts import Context, command_group
# Define the command group
vm = command_group(name="vm", help="VM Related Commands", description=__doc__)
@vm.command(
arguments={
"name": {
"help": "The VM Name",
"metavar": "VM_NAME",
"choices": list(AMIS),
},
"key_name": {
"help": "The SSH key name.",
},
"instance_type": {
"help": "The instance type to use.",
},
"region": {
"help": "The AWS regsion.",
},
}
)
def create(
ctx: Context,
name: str,
key_name: str = None,
instance_type: str = None,
region: str = "eu-central-1",
):
"""
Create VM.
"""
vm = VM(ctx=ctx, name=name)
vm.create(region_name=region, key_name=key_name, instance_type=instance_type)
@vm.command(
arguments={
"name": {
"help": "The VM Name",
"metavar": "VM_NAME",
},
}
)
def destroy(ctx: Context, name: str):
"""
Destroy VM.
"""
vm = VM(ctx=ctx, name=name)
vm.destroy()
然后,在您的仓库根目录下运行
❯ tools -h
usage: tools [-h] [--debug] {vm} ...
Python Tools Scripts
optional arguments:
-h, --help show this help message and exit
--debug, -d Show debug messages
Commands:
{vm}
vm VM Related Commands
These tools are discovered under `<repo-root>/tools`.
❯ tools vm -h
usage: tools vm [-h] {create,destroy} ...
These commands are used to create/destroy VMs, sync the local checkout to the VM and to run commands on the VM.
optional arguments:
-h, --help show this help message and exit
Commands:
{create,destroy}
create Create VM.
destroy Destroy VM.
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
python-tools-scripts-0.20.5.tar.gz (31.2 kB 查看哈希值)
构建分布
关闭
python-tools-scripts-0.20.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2a3ffb6a0ec6ccb3cfe0bee1ae73447d3ea4ba7583b07fa219d2dddaff4a36e |
|
MD5 | d7acf1d3f0c4178c5119659a173d5012 |
|
BLAKE2b-256 | 184d9aae16821648c0019e4b989a216548a56d4e3af9ce3a8e711802e873cae2 |
关闭
python_tools_scripts-0.20.5-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a2c88c2d14537432ed0b0513f8025e2f67b2a5da8b00d465a2ae2de7e7dd6b08 |
|
MD5 | 6b801ad23a9afdc55ef08cef8a8df8ce |
|
BLAKE2b-256 | 9d7fcb725bf93405f0a7f8e0840890674820cf6407f097ad52b13926cb9e42b5 |