Python Tools Scripts
Project description
Python Tools Scripts
This is a tool, similar to invoke. It's more recent and uses argparse under the hood and some additional magic to define the CLI arguments.
To use it, you must have a tools
package in your repository root.
On your tools/__init__.py
import your scripts and Python Tools Scripts will add them to it's CLI.
An Example Script 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()
The, on your repository root, run:
❯ 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-tools-scripts-0.9.2.tar.gz
(19.8 kB
view hashes)
Built Distribution
Close
Hashes for python-tools-scripts-0.9.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43e06966cc47e4dc9d976a5adb79d6d14cc0c6614b82d9a5661ec1e822149248 |
|
MD5 | c7d86ff4bb9a6e452443a2d7b06937c4 |
|
BLAKE2b-256 | f4c08b857e04168b11f2cd2fea389e0e6c1529a50527e26e815a8dc39b22939d |
Close
Hashes for python_tools_scripts-0.9.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bda90f0e26405e4980847682ebb329a1baca306d33af433c265ff24e6f4e649e |
|
MD5 | 20396a64ab034421023d6cb02acfaf73 |
|
BLAKE2b-256 | d01b6bb0fb82fffea4c4436a8ca5a3131039832f5d291885f2899ce31d4c95a6 |