tyro._parsers

Interface for generating argparse.ArgumentParser() definitions from callables.

Module Contents

tyro._parsers.T
class tyro._parsers.LazyParserSpecification[source]

Lazy wrapper that defers full ParserSpecification creation until needed.

Stores lightweight metadata (description) for fast help text generation, while deferring expensive parser construction until actually needed.

description: str
evaluate() ParserSpecification[source]

Get the full ParserSpecification, creating it if needed.

Return type:

ParserSpecification

class tyro._parsers.ArgWithContext[source]
arg: tyro._arguments.ArgumentDefinition
source_parser: ParserSpecification

ParserSpecification that directly contains this argument.

local_root_parser: ParserSpecification

Furthest ancestor of source_parser within the same (sub)command.

class tyro._parsers.ParserSpecification[source]

Each parser contains a list of arguments and optionally some subparsers.

f: Callable
markers: Set[tyro.conf._markers._Marker]
description: str
args: List[tyro._arguments.ArgumentDefinition]
field_list: List[tyro._fields.FieldDefinition]
child_from_prefix: Dict[str, ParserSpecification]
helptext_from_intern_prefixed_field_name: Dict[str, str | None]
subparsers_from_intern_prefix: Dict[str, SubparsersSpecification]
intern_prefix: str
extern_prefix: str
has_required_args: bool
subparser_parent: ParserSpecification | None
prog_suffix: str
static from_callable_or_type(f: Callable[Ellipsis, T], markers: Set[tyro.conf._markers._Marker], description: str | None, parent_classes: Set[Type[Any]], default_instance: T | tyro._singleton.PropagatingMissingType | tyro._singleton.NonpropagatingMissingType, intern_prefix: str, extern_prefix: str, subcommand_prefix: str, support_single_arg_types: bool, prog_suffix: str) ParserSpecification[source]

Create a parser definition from a callable or type.

Parameters:
Return type:

ParserSpecification

get_args_including_children(local_root: ParserSpecification | None = None) list[ArgWithContext][source]

Get all arguments in this parser and its children.

Does not include arguments in subparsers.

Parameters:

local_root (ParserSpecification | None)

Return type:

list[ArgWithContext]

tyro._parsers.handle_field(field: tyro._fields.FieldDefinition, parent_classes: Set[Type[Any]], intern_prefix: str, extern_prefix: str, subcommand_prefix: str, prog_suffix: str) tyro._arguments.ArgumentDefinition | ParserSpecification | SubparsersSpecification[source]

Determine what to do with a single field definition.

Parameters:
Return type:

Union[tyro._arguments.ArgumentDefinition, ParserSpecification, SubparsersSpecification]

class tyro._parsers.SubparsersSpecification[source]

Structure for defining subparsers. Each subparser is a parser with a name.

description: str | None
parser_from_name: Dict[str, LazyParserSpecification]
default_name: str | None
default_parser: ParserSpecification | None
intern_prefix: str
extern_prefix: str
required: bool
default_instance: Any
options: Tuple[tyro._typing.TypeForm[Any] | Callable, Ellipsis]
prog_suffix: str
static from_field(field: tyro._fields.FieldDefinition, parent_classes: Set[Type[Any]], intern_prefix: str, extern_prefix: str, prog_suffix: str) SubparsersSpecification | ParserSpecification | None[source]

From a field: return either a subparser specification, a parser specification for subcommands when tyro.conf.AvoidSubcommands is used and a default is set, or None if the field does not create a subparser.

Parameters:
Return type:

SubparsersSpecification | ParserSpecification | None