larvaworld.cli.argparser

Classes

SingleParserArgument

Create a single parser argument.

ParserArgumentDict

Create a dictionary of parser arguments.

SimModeParser

Parser for simulation modes and arguments.

Module Contents

class larvaworld.cli.argparser.SingleParserArgument(short: str, key: str, **kwargs: Any)

Create a single parser argument.

This class is used to populate a parser with arguments and get their values.

Parameters

shortstr

The short argument name.

keystr

The argument key.

**kwargsdict

Additional keyword arguments.

Attributes

keystr

The argument key.

argslist of str

A list containing the short and long argument names.

kwargsdict

Additional keyword arguments.

key
args
kwargs
add(p: argparse.ArgumentParser) argparse.ArgumentParser

Add the argument to a parser.

Parameters

pargparse.ArgumentParser

The argument parser.

Returns

argparse.ArgumentParser

The modified parser.

get(input: argparse.Namespace) Any

Get the value of the argument from parsed input.

Parameters

inputargparse.Namespace

The parsed input.

Returns

Any

The value of the argument.

classmethod from_dict(name: str, **kwargs: Any) SingleParserArgument

Create a SingleParserArgument from a dictionary.

Parameters

namestr

The argument name.

**kwargsdict

Additional keyword arguments.

Returns

SingleParserArgument

A SingleParserArgument instance.

classmethod from_param(k: str, p: param.Parameter) SingleParserArgument

Create a SingleParserArgument from a parameter.

Parameters

kstr

The parameter key.

pparam.Parameter

The parameter instance.

Returns

SingleParserArgument

A SingleParserArgument instance.

class larvaworld.cli.argparser.ParserArgumentDict(parsargs: larvaworld.lib.util.AttrDict)

Create a dictionary of parser arguments.

This class can be instantiated either by a dictionary of param.Parameters or by a dictionary existing in the registry parameter Database.

parsargs
classmethod from_param(d0: param.Parameterized) ParserArgumentDict

Create a ParserArgumentDict from a parameter dictionary.

Parameters

d0dict

A dictionary of parameters.

Returns

ParserArgumentDict

A ParserArgumentDict instance.

classmethod from_dict(d0: dict) ParserArgumentDict

Create a ParserArgumentDict from a dictionary.

Parameters

d0dict

A dictionary of parser arguments.

Returns

ParserArgumentDict

A ParserArgumentDict instance.

add(parser: argparse.ArgumentParser | None = None) argparse.ArgumentParser

Add parser arguments to an ArgumentParser.

Parameters

parserargparse.ArgumentParser, optional

The ArgumentParser to add the arguments to.

Returns

argparse.ArgumentParser

The modified ArgumentParser.

get(input: argparse.Namespace) larvaworld.lib.util.AttrDict

Get parser argument values from parsed input.

Parameters

inputargparse.Namespace

The parsed input.

Returns

dict

A dictionary of argument values.

class larvaworld.cli.argparser.SimModeParser(*args: Any, **kwargs: Any)

Bases: argparse.ArgumentParser

Parser for simulation modes and arguments.

parser_dicts
init_mode_subparser(sp: argparse.ArgumentParser, m: str) argparse.ArgumentParser

Initialize a subparser with common arguments for a specific simulation mode.

Parameters:
  • sp – The subparser.

  • m – The simulation mode.

Returns:

The modified subparser.

eval_parser(p_key: str, args: argparse.Namespace) larvaworld.lib.util.AttrDict

Evaluate a parser argument.

Parameters:

p_key – The argument key.

Returns:

The parsed value of the argument.

configure(args: argparse.Namespace) tuple[Any, larvaworld.lib.util.AttrDict]

Configure the simulation run based on parsed arguments.

Parameters:

show_args – Whether to show parsed arguments.

Returns:

The configured simulation run.

show_args(args: argparse.Namespace, run_kws: larvaworld.lib.util.AttrDict, nested: bool = True, flat_nested: bool = False, input: bool = False) None

Show parsed arguments.

Parameters:
  • nested – Whether to show arguments as a nested dictionary.

  • flat_nested – Whether to show arguments as a flattened nested dictionary.

  • input – Whether to show input arguments.

launch(run: Any, args: argparse.Namespace) None

Launch the simulation run.