Skip to main content

Human friendly CLI builder

Project description

Human friendly CLI builder.

https://drone.io/github.com/Birdback/manage.py/status.png

Installation

pip install manage.py

Quickstart

cat manage.py

from manager import Manager

manager = Manager()

@manager.command
def echo(text, capitalyze=False):
    """print the given <name>"""
    if capitalyze:
        text = text.upper()
    return text

if __name__ == '__main__':
    manager.main()

manage --help:

usage: manage [<namespace>.]<command> [<args>]

positional arguments:
  command     the command to run

optional arguments:
  -h, --help  show this help message and exit

available commands:
  echo        print the given <name>

manage echo --help:

$ manage echo --help

usage: manage [-h] [--capitalyze] text

print the given <name>

positional arguments:
  text          no description

optional arguments:
  -h, --help    show this help message and exit
  --capitalyze  no description

Managers

Managers can be used together by merging them

from third_party import manager

my_app_manager.merge(manager)

# Merge within a new namespace:
my_app_manager.merge(manager, namespace='third_party')

Commands

Commands can be organized within namespaces

@manager.command(namespace='config')
def set(key, value):
    # ...

Arguments

Argument definition can be overridden

@manager.arg('first_arg', help='this is help for first arg')
@manager.command
def my_command(first_arg):
    # ...

Arguments can be prompted

@manager.prompt('password', hidden=True, confirm=True)
@manager.command
def connect(username, password):
    # ...

Environment

Environment variables can be sourced from a .env file as key=value pair.

Environment variable can be enforce using Manager.env decorator

@manager.env('MY_ENV_VAR')
@manager.command
def my_command():
    return os.environ['MY_ENV_VAR']

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

manage.py-0.2.4.tar.gz (8.9 kB view details)

Uploaded Source

File details

Details for the file manage.py-0.2.4.tar.gz.

File metadata

  • Download URL: manage.py-0.2.4.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for manage.py-0.2.4.tar.gz
Algorithm Hash digest
SHA256 1e01ab38760468af2733f2d401f1b35235d5e057d9402c5b384b80b1d7938b03
MD5 2bdebbf15eee7a6206a45f4a1c89ba03
BLAKE2b-256 32fe902582215e64f0276a5c974056928f1378a389269a6b8b0fa5e750edb2b4

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