# commandman
Console command manager.
***
![GitHub top language](https://img.shields.io/github/languages/top/smartlegionlab/commandman)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/commandman?label=pypi%20downloads)](https://pypi.org/project/commandman/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/smartlegionlab/commandman)](https://github.com/smartlegionlab/commandman/)
[![GitHub](https://img.shields.io/github/license/smartlegionlab/commandman)](https://github.com/smartlegionlab/commandman/blob/master/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/commandman)](https://pypi.org/project/commandman)
[![PyPI - Format](https://img.shields.io/pypi/format/commandman)](https://pypi.org/project/commandman)
[![GitHub Repo stars](https://img.shields.io/github/stars/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)
[![GitHub watchers](https://img.shields.io/github/watchers/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)
[![GitHub forks](https://img.shields.io/github/forks/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)
***
Author and developer: ___A.A. Suvorov.___
***
## Supported:
- Linux: All.
- Windows: 7/8/10.
- Termux (Android).
***
## Images:
![commandman image](https://github.com/smartlegionlab/commandman/raw/master/data/images/commandman.png)
***
## What's new?
### ___commandman v0.5.1___
***
## Description:
___commandman___ - Cli command manager.
`pip install commandman`
The utility uses the package: [commandex](https://github.com/smartlegionlab/commandex).
The utility uses the package: [smartcliapp](https://github.com/smartlegionlab/smartcliapp).
The utility uses the package: [click](https://github.com/pallets/click) by [license](https://github.com/pallets/click/blob/main/LICENSE.rst).
***
Store your commands in one place for automatic
or manual launch and execution at any time.
It is convenient to store and run many commands for
automatic execution after system installation.
Recommended for use on `*nix` systems.
Possibilities:
- Storing named packages of commands in one file.
- Launching the execution of a batch or batch of commands from a file in automatic or manual mode.
- Add and run only certain packages.
- Exclusion of certain command packages from launch.
- Ability to run and skip command packets and individual commands in manual mode.
***
___File___ - a file in format 1 or 2 with the correct structure.
***
___A command package___ - name for grouping commands in a file.
***
___Command___ - a command to be executed in the console or terminal.
***
Create one or several files and store the necessary commands
in them under names (in packages).
The file must have the correct structure.
At the moment, the simplest `*.cfg` and `*.json` are supported.
The file must have the correct structure.
***
`*.cfg` - The simplest file with command packages:
[package name 1]
command 1
command 2
command N
[package name 2]
command 1
command 2
command N
***
`*.json` - The simplest file with command packages:
```json
{
"pack1":
[
"command1",
"command2"
],
"pack2":
[
"command1",
"command2"
]
}
```
***
Packages:
Package names are placed in square brackets,
below the name are the commands included in this package.
***
Commands:
The commands are grouped under the desired names in packages.
***
To run the file use the command:
`python commandmanager.py [arguments] [file]`
A warning! If the file name contains spaces or invalid characters,
when typing a terminal, enclose it in quotation marks.
***
Arguments:
Using the `-a` option when starting the utility,
you can specify which command package to run using
the existing package name from the file. Use the option multiple
times to add multiple packages:
`python commandmanager.py -a name1 -a name2 -a name3 file.cfg`
Using the `-e` parameter, you can specify which command package
to exclude using the existing package name from the file.
Use the option multiple times to exclude multiple packages:
`python commandmanager.py -e name1 -e name2 -e name3 file.cfg`
A warning! If the command package name contains spaces or invalid characters,
when typing a terminal, enclose it in quotation marks.
The `--no-auto` option will cancel autorun of commands from the package.
Before executing each package and each command
the utility will ask for permission to execute.
The default is to autorun packages and commands `--auto`.
***
## Help:
### Install and Use:
#### Install:
- `pip install commandman`
#### Use:
- `commandman [options] [path to the file with command packages]`
#### Build your command packages using example files:
- [example.cfg](https://github.com/smartlegionlab/commandman/blob/master/data/configs/example.cfg)
A warning! If the command package name or file name
contains spaces or invalid characters,
when typing a terminal, enclose it in quotation marks.
Try to name your packages and files with short, meaningful names.
#### Variant 1:
- Go to the project folder
- `python setup.py install`
- `commandman -h`
#### Variant 2:
- Go to the project folder
- `pip install -r requirements.txt`
- `python3 commandmanager.py [options] [path to the file]`
### Termux support:
#### Variant 1:
- Install [Termux](https://termux.com)
- `apt update`
- `pkg install python`
- Go to the project folder
- `python setup.py install`
- `commandman -h`
or
- `pip3 install -r requirements.txt`
- `python3 commandmanager.py [options] [path to the file]`
***
## Disclaimer of liability:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
***
## Copyright:
--------------------------------------------------------
Licensed under the terms of the BSD 3-Clause License
(see LICENSE for details).
Copyright © 2018-2024, A.A. Suvorov
All rights reserved.
--------------------------------------------------------
Raw data
{
"_id": null,
"home_page": "https://github.com/smartlegionlab/commandman/",
"name": "commandman",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "commandpack, commandoro, commandman, smartlegionlab, command execution",
"author": "A.A. Suvorov",
"author_email": "smartlegiondev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/01/ef/50d84cea9c677e5f1dcf0cc4305d99ae5a004cebcc1c186b729b58198206/commandman-0.5.1.tar.gz",
"platform": null,
"description": "# commandman\n\nConsole command manager.\n\n***\n\n\n![GitHub top language](https://img.shields.io/github/languages/top/smartlegionlab/commandman)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/commandman?label=pypi%20downloads)](https://pypi.org/project/commandman/)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/smartlegionlab/commandman)](https://github.com/smartlegionlab/commandman/)\n[![GitHub](https://img.shields.io/github/license/smartlegionlab/commandman)](https://github.com/smartlegionlab/commandman/blob/master/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/commandman)](https://pypi.org/project/commandman)\n[![PyPI - Format](https://img.shields.io/pypi/format/commandman)](https://pypi.org/project/commandman)\n[![GitHub Repo stars](https://img.shields.io/github/stars/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)\n[![GitHub watchers](https://img.shields.io/github/watchers/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)\n[![GitHub forks](https://img.shields.io/github/forks/smartlegionlab/commandman?style=social)](https://github.com/smartlegionlab/commandman/)\n\n***\n\nAuthor and developer: ___A.A. Suvorov.___\n\n***\n\n## Supported:\n\n- Linux: All.\n- Windows: 7/8/10.\n- Termux (Android).\n \n***\n\n## Images:\n\n![commandman image](https://github.com/smartlegionlab/commandman/raw/master/data/images/commandman.png)\n\n***\n\n## What's new?\n\n### ___commandman v0.5.1___\n\n***\n\n## Description:\n\n___commandman___ - Cli command manager.\n\n`pip install commandman`\n\nThe utility uses the package: [commandex](https://github.com/smartlegionlab/commandex).\nThe utility uses the package: [smartcliapp](https://github.com/smartlegionlab/smartcliapp).\nThe utility uses the package: [click](https://github.com/pallets/click) by [license](https://github.com/pallets/click/blob/main/LICENSE.rst).\n\n***\n\nStore your commands in one place for automatic\nor manual launch and execution at any time.\n\nIt is convenient to store and run many commands for\nautomatic execution after system installation.\n\nRecommended for use on `*nix` systems.\n\nPossibilities:\n\n- Storing named packages of commands in one file.\n- Launching the execution of a batch or batch of commands from a file in automatic or manual mode.\n- Add and run only certain packages.\n- Exclusion of certain command packages from launch.\n- Ability to run and skip command packets and individual commands in manual mode.\n\n***\n\n___File___ - a file in format 1 or 2 with the correct structure.\n\n***\n\n___A command package___ - name for grouping commands in a file.\n\n***\n\n___Command___ - a command to be executed in the console or terminal.\n\n***\n\nCreate one or several files and store the necessary commands \nin them under names (in packages). \nThe file must have the correct structure. \nAt the moment, the simplest `*.cfg` and `*.json` are supported.\n\nThe file must have the correct structure.\n\n***\n\n`*.cfg` - The simplest file with command packages:\n\n [package name 1]\n command 1\n command 2\n command N\n [package name 2]\n command 1\n command 2\n command N\n\n***\n\n`*.json` - The simplest file with command packages:\n\n```json\n{\n \"pack1\":\n [\n \"command1\",\n \"command2\"\n ],\n \"pack2\":\n [\n \"command1\",\n \"command2\"\n ]\n}\n```\n\n***\n\nPackages:\n\nPackage names are placed in square brackets,\nbelow the name are the commands included in this package.\n\n***\n\nCommands:\n\nThe commands are grouped under the desired names in packages.\n\n***\n\nTo run the file use the command:\n\n`python commandmanager.py [arguments] [file]`\n\nA warning! If the file name contains spaces or invalid characters,\nwhen typing a terminal, enclose it in quotation marks.\n\n***\n\nArguments:\n\nUsing the `-a` option when starting the utility,\nyou can specify which command package to run using\nthe existing package name from the file. Use the option multiple\ntimes to add multiple packages:\n\n`python commandmanager.py -a name1 -a name2 -a name3 file.cfg`\n\nUsing the `-e` parameter, you can specify which command package\nto exclude using the existing package name from the file.\nUse the option multiple times to exclude multiple packages:\n\n`python commandmanager.py -e name1 -e name2 -e name3 file.cfg`\n\nA warning! If the command package name contains spaces or invalid characters,\nwhen typing a terminal, enclose it in quotation marks.\n\nThe `--no-auto` option will cancel autorun of commands from the package.\n\nBefore executing each package and each command\nthe utility will ask for permission to execute.\n\nThe default is to autorun packages and commands `--auto`.\n\n***\n\n## Help:\n\n### Install and Use:\n\n#### Install:\n\n- `pip install commandman`\n\n#### Use:\n\n- `commandman [options] [path to the file with command packages]`\n\n#### Build your command packages using example files:\n\n- [example.cfg](https://github.com/smartlegionlab/commandman/blob/master/data/configs/example.cfg)\n\n\nA warning! If the command package name or file name \ncontains spaces or invalid characters,\nwhen typing a terminal, enclose it in quotation marks.\n\nTry to name your packages and files with short, meaningful names.\n\n#### Variant 1:\n\n- Go to the project folder\n- `python setup.py install`\n- `commandman -h`\n\n#### Variant 2:\n\n- Go to the project folder\n- `pip install -r requirements.txt`\n- `python3 commandmanager.py [options] [path to the file]`\n\n### Termux support:\n\n#### Variant 1:\n\n- Install [Termux](https://termux.com)\n- `apt update`\n- `pkg install python`\n- Go to the project folder\n- `python setup.py install`\n- `commandman -h`\nor\n- `pip3 install -r requirements.txt`\n- `python3 commandmanager.py [options] [path to the file]`\n\n***\n\n## Disclaimer of liability:\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n***\n\n## Copyright:\n --------------------------------------------------------\n Licensed under the terms of the BSD 3-Clause License\n (see LICENSE for details).\n Copyright \u00a9 2018-2024, A.A. Suvorov\n All rights reserved.\n --------------------------------------------------------\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Console utility for working with command packages. Storage, execution, autorun.",
"version": "0.5.1",
"project_urls": {
"Documentation": "https://github.com/smartlegionlab/commandman/blob/master/README.md",
"Homepage": "https://github.com/smartlegionlab/commandman/",
"Release notes": "https://github.com/smartlegionlab/commandman/releases"
},
"split_keywords": [
"commandpack",
" commandoro",
" commandman",
" smartlegionlab",
" command execution"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a64d5c732bf6ac35d5228d4b4efbd2b09ef39600cddd1a14c6fa1bcc32b55a67",
"md5": "6fe01c5a724dcd8addab95090c84eca5",
"sha256": "b4949141cb5c86897805eecc47387e733adca393a88d25272b529082eddec702"
},
"downloads": -1,
"filename": "commandman-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6fe01c5a724dcd8addab95090c84eca5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 8331,
"upload_time": "2024-06-15T04:31:14",
"upload_time_iso_8601": "2024-06-15T04:31:14.290756Z",
"url": "https://files.pythonhosted.org/packages/a6/4d/5c732bf6ac35d5228d4b4efbd2b09ef39600cddd1a14c6fa1bcc32b55a67/commandman-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "01ef50d84cea9c677e5f1dcf0cc4305d99ae5a004cebcc1c186b729b58198206",
"md5": "f2870682535e4ae91bdff4cb81680337",
"sha256": "7c4807ba205e0a8a3351a7fc26f2d1661b1993ea43daa39ecdfd8c81dbe59d2e"
},
"downloads": -1,
"filename": "commandman-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "f2870682535e4ae91bdff4cb81680337",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 7402,
"upload_time": "2024-06-15T04:31:15",
"upload_time_iso_8601": "2024-06-15T04:31:15.721889Z",
"url": "https://files.pythonhosted.org/packages/01/ef/50d84cea9c677e5f1dcf0cc4305d99ae5a004cebcc1c186b729b58198206/commandman-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-15 04:31:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "smartlegionlab",
"github_project": "commandman",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "click",
"specs": [
[
"~=",
"8.0.1"
]
]
},
{
"name": "smartcliapp",
"specs": [
[
"~=",
"0.4.0"
]
]
},
{
"name": "commandex",
"specs": [
[
"~=",
"0.2.2"
]
]
}
],
"tox": true,
"lcname": "commandman"
}