https://github.com/pykit3/k3shell
A python module to manage commands.
https://github.com/pykit3/k3shell
python shell
Last synced: 4 months ago
JSON representation
A python module to manage commands.
- Host: GitHub
- URL: https://github.com/pykit3/k3shell
- Owner: pykit3
- License: mit
- Created: 2021-08-02T08:34:27.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-08-28T12:38:18.000Z (9 months ago)
- Last Synced: 2025-09-28T08:25:43.679Z (8 months ago)
- Topics: python, shell
- Language: Python
- Homepage: https://blog.openacid.com
- Size: 32.2 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# k3shell
[](https://github.com/pykit3/k3shell/actions/workflows/python-package.yml)
[](https://k3shell.readthedocs.io/en/stable/?badge=stable)
[](https://pypi.org/project/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
```python
import k3shell
import sys
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
Wenbo Li(李文博)
# Copyright and License
The MIT License (MIT)
Copyright (c) 2017 Wenbo Li(李文博)
[pykit3]: https://github.com/pykit3