sys
cli_commands(root_meta=None, **commands)
¶
Create a CliCommands instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
root_meta |
MetaModule | None
|
The meta for the root command. |
None
|
commands |
DecoratedRunFunction | CliSubcommands
|
The commands and subcommands for the cli. |
{}
|
Returns:
Type | Description |
---|---|
CliCommands
|
An instance of CliCommands. |
Source code in m/cli/engine/sys.py
command_group(*, help, description, add_arguments=None)
¶
Create an instance of a MetaModule.
Named cmd_group
since it is used to describe the group of commands.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
help |
str
|
quick help describing the module. |
required |
description |
str
|
Detailed description about the module. |
required |
add_arguments |
Callable[[ArgumentParser], None] | None
|
Optional function to handle the argparse instance. |
None
|
Returns:
Type | Description |
---|---|
MetaModule
|
An instance of a MetaModule. |
Source code in m/cli/engine/sys.py
get_command_modules(commands_module)
¶
Create a dictionary of a file name to its module.
These modules should define a run
function.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
commands_module |
str
|
The full module resolution. For instance
|
required |
Returns:
Type | Description |
---|---|
dict[str, CommandModule]
|
A dictionary of command modules. |
Source code in m/cli/engine/sys.py
import_cli_commands(commands_module)
¶
Gather the commands and subcommands for the cli.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
commands_module |
str
|
module containing all the commands. |
required |
Returns:
Type | Description |
---|---|
CliCommands
|
An instance of CliCommands gathered from the commands_module. |
Source code in m/cli/engine/sys.py
merge_cli_commands(base, overrides, **resolutions)
¶
Merge two CliCommands instances.
Resolutions may be provided to resolve merge conflicts between two subcommands.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
base |
CliCommands
|
The base CliCommands instance. |
required |
overrides |
CliCommands
|
The overrides CliCommands instance. |
required |
resolutions |
SubCmdResolution
|
A dictionary of resolutions for subcommands. |
{}
|
Returns:
Type | Description |
---|---|
CliCommands
|
A new CliCommands instance. |
Source code in m/cli/engine/sys.py
subcommands(meta=None, **commands)
¶
Create a CliSubcommands instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
meta |
MetaModule | None
|
The meta for the command group. |
None
|
commands |
DecoratedRunFunction
|
The commands the group. |
{}
|
Returns:
Type | Description |
---|---|
CliSubcommands
|
An instance of CliSubcommands. |