Human friendly CLI builder
Project description
manage.py
=========
Human friendly CLI builder.
.. image:: https://drone.io/github.com/Birdback/manage.py/status.png
:target: https://drone.io/github.com/Birdback/manage.py
Installation
------------
``pip install manage.py``
Quickstart
----------
``cat manage.py``
.. code:: python
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
.. code:: python
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
.. code:: python
@manager.command(namespace='config')
def set(key, value):
# ...
Arguments
---------
Argument definition can be overridden
.. code:: python
@manager.arg('first_arg', help='this is help for first arg')
@manager.command
def my_command(first_arg):
# ...
Arguments can be prompted
.. code:: python
@manager.prompt('password', hidden=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
.. code:: python
@manager.env('MY_ENV_VAR')
@manager.command
def my_command():
return os.environ['MY_ENV_VAR']
=========
Human friendly CLI builder.
.. image:: https://drone.io/github.com/Birdback/manage.py/status.png
:target: https://drone.io/github.com/Birdback/manage.py
Installation
------------
``pip install manage.py``
Quickstart
----------
``cat manage.py``
.. code:: python
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
.. code:: python
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
.. code:: python
@manager.command(namespace='config')
def set(key, value):
# ...
Arguments
---------
Argument definition can be overridden
.. code:: python
@manager.arg('first_arg', help='this is help for first arg')
@manager.command
def my_command(first_arg):
# ...
Arguments can be prompted
.. code:: python
@manager.prompt('password', hidden=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
.. code:: python
@manager.env('MY_ENV_VAR')
@manager.command
def my_command():
return os.environ['MY_ENV_VAR']
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
manage.py-0.2.tar.gz
(8.9 kB
view details)
File details
Details for the file manage.py-0.2.tar.gz
.
File metadata
- Download URL: manage.py-0.2.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0f8c490b97ab99721db3fc36df99ed72a7948cd264a383d51877de93e627360 |
|
MD5 | eb637f40cf5f7255bdd3d4b9037b2aff |
|
BLAKE2b-256 | 66888fe6193f3f9a460828ce2210f60d60ceb4a2c1fb4dcaec6106d3fe8ab177 |