Arguments

The Arguments module provides classes for working with command-line arguments. They allow configuring application behavior at startup by passing various configuration parameters.

Arguments are registered in ArgParser and after processing become available in the ArgSpace object.


ValueArgument

Class for arguments that require passing a value.

class ValueArgument(BaseArgument)
1__init__(self, name: str, *,
2         prefix: Literal["-", "--", "---"] = "--",
3         help: str = "Help message for the value argument",
4         possible_values: list[str] | None = None,
5         default: str | None = None,
6         is_required: bool = False,
7         is_deprecated: bool = False) -> None

Creates a command-line argument that requires a value.

param name:

Argument name

param prefix:

Prefix (defaults to --)

param help:

Help message (--help)

param possible_values:

List of allowed values

param default:

Default value if the argument is not passed

param is_required:

If True, the argument becomes required. If not passed at startup, the application will not start

param is_deprecated:

If True, marks the argument as deprecated. If passed at startup, a warning will be displayed in the console

Usage example:

 1from argenta.orchestrator.argparser import ArgParser, ValueArgument
 2
 3# Create arguments
 4config_arg = ValueArgument("config", help="Path to configuration file", default="config.yaml")
 5
 6log_level_arg = ValueArgument(
 7    "log-level",
 8    help="Logging level",
 9    possible_values=["DEBUG", "INFO", "WARNING", "ERROR"],
10    default="INFO",
11)
12
13host_arg = ValueArgument("host", help="Server host address", is_required=True)
14
15# Register in ArgParser
16parser = ArgParser(
17    processed_args=[config_arg, log_level_arg, host_arg],
18    name="MyApp",
19    description="My application with CLI arguments",
20)

Running the application:

python app.py --host 127.0.0.1
python app.py --host 127.0.0.1 --config custom.yaml --log-level DEBUG

BooleanArgument

Class for boolean arguments that do not require a value. Their presence at startup sets the value to True, absence to False.

class BooleanArgument(BaseArgument)
1__init__(self, name: str, *,
2         prefix: Literal["-", "--", "---"] = "--",
3         help: str = "Help message for the boolean argument",
4         is_deprecated: bool = False) -> None

Creates a boolean command-line argument without a value.

param name:

Argument name

param prefix:

Prefix (defaults to --)

param help:

Help message (--help)

param is_deprecated:

If True, marks the argument as deprecated

Usage example:

1from argenta.orchestrator.argparser import ArgParser, BooleanArgument
2
3# Create boolean arguments
4verbose_arg = BooleanArgument("verbose", help="Enable verbose output")
5debug_arg = BooleanArgument("debug", help="Enable debug mode")
6no_cache_arg = BooleanArgument("no-cache", help="Disable caching")
7
8# Register in ArgParser
9parser = ArgParser(processed_args=[verbose_arg, debug_arg, no_cache_arg], name="MyApp")

Running the application:

python app.py --verbose
python app.py --debug --no-cache
python app.py  # without arguments

InputArgument

See also

InputArgument is directly related to the ArgSpace container and serves as its filler. For more details, see here.

Represents a processed command-line argument. This class is used inside ArgSpace to store values obtained after parsing.

class InputArgument
1__init__(self, name: str,
2         value: str | Literal[True],
3         founder_class: type[BaseArgument]) -> None

Creates an instance of a processed input argument.

param name:

Argument name

param value:

Argument value. For BooleanArgumentTrue if the argument is passed, and False if not; for ValueArgument — the entered string

param founder_class:

Parent class from which the argument was created (BooleanArgument or ValueArgument)

Attributes:

name

Argument name specified when creating ValueArgument or BooleanArgument.

value

Argument value. Type depends on the source class:

  • For BooleanArgument: True if the argument was passed

  • For ValueArgument: string with the passed value or default value

founder_class

Reference to the parent class. Used for type determination and filtering.