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 = None, metavar: str | None = None, parent_parser: argparse.ArgumentParser | None = None, **_kwargs: Any)

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

PARAMETER DESCRIPTION
option_strings

...

TYPE: list[str]

dest

...

TYPE: str DEFAULT: SUPPRESS

default

...

TYPE: Any DEFAULT: SUPPRESS

help

...

TYPE: str | None DEFAULT: 'Open Textual UI.'

const

...

TYPE: str | None DEFAULT: None

metavar

...

TYPE: str | None DEFAULT: None

parent_parser

...

TYPE: ArgumentParser | None DEFAULT: 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=argparse.SUPPRESS, **kwargs) -> None
PARAMETER DESCRIPTION
parser

the argparse parser to add the argument to.

TYPE: ArgumentParser

parent_parser

the parent of the given parser.

TYPE: ArgumentParser | None DEFAULT: None

option_strings

list of CLI flags that will invoke the TUI

TYPE: str | list[str] | None DEFAULT: None

help

...

TYPE: str DEFAULT: 'Open Textual UI.'

default

...

DEFAULT: SUPPRESS

**kwargs

passed to parser.add_argument(...)

DEFAULT: {}

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
PARAMETER DESCRIPTION
parser

the argparse parser

TYPE: ArgumentParser

command

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

TYPE: str DEFAULT: DEFAULT_COMMAND_NAME

help

help message for the argument

TYPE: str DEFAULT: 'Open Textual UI.'

**kwargs

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

TYPE: Any DEFAULT: {}

RETURNS 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} ...

build_tui

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

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

PARAMETER DESCRIPTION
parser

...

TYPE: ArgumentParser

cli_args

Arguments parsed for pre-populating the TUI form.

TYPE: Sequence[str] | None DEFAULT: None

subparser_ignorelist

...

TYPE: list[ArgumentParser] | None DEFAULT: None

RETURNS DESCRIPTION
App

a Textualize App

Examples:

>>> import argparse
>>> from argparse_tui import build_tui
>>> import textual
...
>>> parser = argparse.ArgumentParser(prog="awesome-app")
>>> _ = parser.add_argument("--value")
...
>>> app = build_tui(parser)
...
>>> isinstance(app, textual.app.App)
True

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.

PARAMETER DESCRIPTION
parser

...

TYPE: ArgumentParser

cli_args

Arguments parsed for pre-populating the TUI form.

TYPE: Sequence[str] | None DEFAULT: None

subparser_ignorelist

...

TYPE: list[ArgumentParser] | None DEFAULT: None

Examples:

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