jgdv.cli._interface
Enums
The different types of section a parse machine can process |
Protocols
The Model used in a jgdv.cli.arg_parser:ParseMachine to implement specific parsing logic |
|
Interface to mark a parameter as an assignment |
|
Things that can provide parameter specs for CLI parsing |
|
Interface to mark a parameter as a key value pair |
|
Param Sources are anything that can provide a name and a set of parameters |
|
Base class for CLI param specs, for type matching |
|
Base class for CLI param specs, for type matching |
|
Interface to mark a parameter as positional |
|
Interface to mark a parameter as a boolean toggle |
Classes
The returned data of parsing cli args |
|
Simple container for parsed cli information |
Module Contents
- class jgdv.cli._interface.SectionType_e(*args, **kwds)[source]
Bases:
enum.EnumThe different types of section a parse machine can process
- cmd
- prog
- sub
- class jgdv.cli._interface.ArgParserModel_p[source]
Bases:
ProtocolThe Model used in a jgdv.cli.arg_parser:ParseMachine to implement specific parsing logic
- prepare_for_parse(
- *,
- prog,
- cmds,
- subs,
- raw_args,
- Parameters:
prog (ParamSource_p)
cmds (list[ParamSource_p])
subs (list[tuple[tuple[str, Ellipsis], ParamSource_p]])
- Return type:
None
- class jgdv.cli._interface.AssignmentParam_p[source]
Bases:
ProtocolInterface to mark a parameter as an assignment
- class jgdv.cli._interface.CLIParamProvider_p[source]
Bases:
ProtocolThings that can provide parameter specs for CLI parsing
- class jgdv.cli._interface.KeyParam_p[source]
Bases:
ProtocolInterface to mark a parameter as a key value pair
- class jgdv.cli._interface.ParamSource_p[source]
Bases:
ProtocolParam Sources are anything that can provide a name and a set of parameters
- class jgdv.cli._interface.ParamSpec_i[source]
Bases:
ParamSpec_p,ProtocolBase class for CLI param specs, for type matching when ‘consume’ is given a list of strs, it can match on the args, and return an updated diction and a list of values it didn’t consume
- _processor: ClassVar
- default: Any | collections.abc.Callable
- class jgdv.cli._interface.ParamSpec_p[source]
Bases:
ProtocolBase class for CLI param specs, for type matching when ‘consume’ is given a list of strs, it can match on the args, and return an updated diction and a list of values it didn’t consume
- classmethod key_func(x) <Unknown>[source]
- Parameters:
x (ParamSpec_i)
- Return type:
- class jgdv.cli._interface.PositionalParam_p[source]
Bases:
ProtocolInterface to mark a parameter as positional
- class jgdv.cli._interface.ToggleParam_p[source]
Bases:
ProtocolInterface to mark a parameter as a boolean toggle
- class jgdv.cli._interface.ParseReport_d(*, raw, remaining, prog, _help)[source]
The returned data of parsing cli args
- Parameters:
raw (collections.abc.Iterable[str]) – the raw args that were used. ieg: sys.argv[:]
remaining (collections.abc.Iterable[str]) – anything not parsed
prog (ParseResult_d) – ParseResult_d of base program arguments
cmds – mapping(cmdName -> [ParseResult_d])
subs – mapping(subName -> [ParseResult_d])
help – bool
_help (bool)
- CmdName: TypeAlias = str
- SubName: TypeAlias = str
- cmds: dict[ParseReport_d.CmdName, tuple[ParseResult_d]]
- prog: ParseResult_d
- subs: dict[ParseReport_d.SubName, tuple[ParseResult_d]]