A cross-platform library for creation, storage, management of commands and command packages
Execution of commands, parsing of files with command packages. 100% test coverage.
commandex — a cross-platform library for creation, storage, management of commands and command packages. Execution of commands, parsing of files with command packages.
Used to create utilities for working with commands (execution, launch, autorun, storage). You can keep your commands in simple and understandable files, collect them in one place, split into named categories (packages) and execute at any time.
Supported platforms: Windows, Linux, macOS, Termux.
*.cfg# as a comment, line break for convenience or separation[package name] to specify the name of the command packagecommands.cfg:
# Comments [package name 1] command 1 command 2 command N [package name 2] command 1 command 2 command N
pip install commandex
Available tools: Pack, Command Executors, Pack Makers, Parsers, Filters, Factories.
from commandex import Commander
commander = Commander()
# Reading command packages from a file.
pack_dict = commander.parsers.cfg_parser.parse('file.cfg')
# Filter packages if needed.
packs = commander.filters.pack_filter.filter_pack_dict(pack_dict, add_list=[], exc_list=[])
# We create a list of package objects for future use.
pack_list = commander.makers.pack_maker.make_pack_list(packs)
# We execute commands from each package.
for pack in pack_list:
print(pack.name)
for command in pack.commands:
print(command)
commander.executors.os.execute(command)
100% test coverage — All components thoroughly tested.
Run tests:
pip install pytest pytest -v
Coverage report:
pip install pytest-cov pytest --cov pytest --cov --cov-report=html
By using this software, you agree to the full disclaimer terms.
Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
License: BSD 3-Clause License