Skip to main content

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


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.0rc3.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

python_tools_scripts-0.9.0rc3-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file python-tools-scripts-0.9.0rc3.tar.gz.

File metadata

File hashes

Hashes for python-tools-scripts-0.9.0rc3.tar.gz
Algorithm Hash digest
SHA256 aa60bc4aad389cb2b405a59891501de90e2e9b235fa924f35a3e7ea842d8d015
MD5 ada9022372d01cdbfcd22074a3c923e8
BLAKE2b-256 1c267789c8cdd93ff3284cd077f589c0617b48533c115527e3fa964e9c6b22e4

See more details on using hashes here.

File details

Details for the file python_tools_scripts-0.9.0rc3-py3-none-any.whl.

File metadata

File hashes

Hashes for python_tools_scripts-0.9.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 a61fdaefd08da8c957af5b8581ebf90c176120fd094cd9081bf3de4e4519c334
MD5 18800bdaa41c1c1b99bd9211e24a9091
BLAKE2b-256 00ac120eb188ab4f873638381a949d56ca162bb0f57e19a8a9e3e878faedf185

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page