k3shell
A python module to manage commands.
k3shell is a component of pykit3 project: a python3 toolkit set.
Name
k3shell
Status
The library is considered production ready.
Install
pip install k3shell
Synopsis
import sys
import k3shell
arguments = {
"echo_repr": (
lambda x: sys.stdout.write(repr(x)),
("x", {"nargs": "+", "help": "just an input message"}),
),
"foo": {
"bar": lambda: sys.stdout.write("bar"),
"bob": {
"plus": (
lambda x, y: sys.stdout.write(str(x + y)),
("x", {"type": int, help: "an int is needed"}),
("y", {"type": int, help: "an int is needed"}),
),
},
},
"__add_help__": {
("echo_repr",): "output what is input.",
(
"foo",
"bar",
): 'print a "bar".',
(
"foo",
"bob",
"plus",
): "do addition operation with 2 numbers.",
},
"__description__": "this is an example command.",
}
k3shell.command(**arguments)
"""
then you can execute your command as:
python demo.py echo_repr hello!
# 'hello!'
python demo.py foo bar
# 'bar'
python demo.py foo bob plus 1 2
# 3
and you can get a usage help message like:
$ python demo.py -h
---------------------------
usage: demo.py [-h] {echo_repr, foo bar, foo bob plus} ...
this is an example command.
positional arguments:
{echo_repr, foo bar, foo bob plus} commands to select ...
echo_repr output what is input.
foo bar print a "bar".
foo bob plus do addition operation with 2 numbers.
optional arguments:
-h, --help show this help message and exit
$ python demo.py foo bob plus -h
--------------------------
usage: demo.py foo bob plus [-h] x y
positional arguments:
x an int is need
y an int is need
optional arguments:
-h, --help show this help message and exit
"""
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Metadata
Release files for k3shell 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k3shell-0.1.9.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k3shell-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.8 kB
Release files / k3shell-0.1.9.tar.gz
| Download URL | k3shell-0.1.9.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51750f906a68a94c6d7c73bc4729b9f53c96551d7e06fb6024e6da886e9ace4e
|
|
BLAKE2b-256 checksum How to use checksums |
02af55c8e044761ccf907b5024db4d4c0890a433c5b226a8548fdd19c77716dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / k3shell-0.1.9-py3-none-any.whl
| Download URL | k3shell-0.1.9-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
970a677e559ca07942492ce03e038240e9a288541dddd87e4c19a1482fe4043a
|
|
BLAKE2b-256 checksum How to use checksums |
9fe4fa242def2387a662a45e2c73e3a967b92ca3f612692a9c6f36315936c0b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|