Skip to content

argparse-tui

Classes

TuiAction

TuiAction(
    option_strings: list[str],
    dest: str = argparse.SUPPRESS,
    default: Any = argparse.SUPPRESS,
    help: str | None = "Open Textual UI.",
    const: str = None,
    metavar: str = None,
    parent_parser: argparse.ArgumentParser | None = None,
    **_kwargs: Any
)

argparse Action that will analyze the parser and display a TUI.

Parameters:

Name Type Description Default
option_strings list[str]

...

required
dest str

...

SUPPRESS
default Any

...

SUPPRESS
help str | None

...

'Open Textual UI.'
const str

...

None
metavar str

...

None
parent_parser ArgumentParser | None

...

None

Examples:

>>> import argparse
>>> from argparse_tui import TuiAction
...
>>> parser = argparse.ArgumentParser()
>>> _ = parser.add_argument('--tui', action=TuiAction)
...
>>> parser.print_usage()
usage: __main__.py [-h] [--tui]

Functions

add_tui_argument

add_tui_argument(
    parser: argparse.ArgumentParser,
    parent_parser: argparse.ArgumentParser | None = None,
    option_strings: str | list[str] | None = None,
    help: str = "Open Textual UI.",
    default: str = argparse.SUPPRESS,
    **kwargs: str
) -> None

Parameters:

Name Type Description Default
parser ArgumentParser

the argparse parser to add the argument to.

required
parent_parser ArgumentParser | None

the parent of the given parser.

None
option_strings str | list[str] | None

list of CLI flags that will invoke the TUI

None
help str

...

'Open Textual UI.'
default

...

SUPPRESS
**kwargs

passed to parser.add_argument(...)

{}

Examples:

>>> import argparse
>>> from argparse_tui import add_tui_argument
...
>>> parser = argparse.ArgumentParser()
...
>>> add_tui_argument(parser)
...
>>> parser.print_usage()
usage: __main__.py [-h] [--tui]

add_tui_command

add_tui_command(
    parser: argparse.ArgumentParser,
    command: str = DEFAULT_COMMAND_NAME,
    help: str = "Open Textual UI.",
    **kwargs: Any
) -> argparse._SubParsersAction

Parameters:

Name Type Description Default
parser ArgumentParser

the argparse parser

required
command str

name of the CLI command that will invoke the TUI (default=tui)

DEFAULT_COMMAND_NAME
help str

help message for the argument

'Open Textual UI.'
**kwargs Any

if subparsers do not already exist, create with these kwargs.

{}

Returns:

Type Description
_SubParsersAction

The Argparse subparsers action that was discovered or created.

Examples:

>>> import argparse
>>> from argparse_tui import add_tui_argument
...
>>> parser = argparse.ArgumentParser()
>>> subparsers = parser.add_subparsers()
...
>>> _ = add_tui_command(parser)
...
>>> parser.print_usage()
usage: __main__.py [-h] {tui} ...

invoke_tui

invoke_tui(
    parser: argparse.ArgumentParser,
    cli_args: Sequence[str] | None = None,
    subparser_ignorelist: list[argparse.ArgumentParser]
    | None = None,
) -> None

Invoke a Textual UI (TUI) given an argparse parser.

Parameters:

Name Type Description Default
parser ArgumentParser

...

required
cli_args Sequence[str] | None

Arguments parsed for pre-populating the TUI form.

None
subparser_ignorelist list[argparse.ArgumentParser] | None

...

None

Examples:

>>> import argparse
>>> from argparse_tui import invoke_tui
...
>>> parser = argparse.ArgumentParser(prog="awesome-app")
>>> _ = parser.add_argument("--value")
...
>>> invoke_tui(parser)