Tasks
Structured task and keyword argument containers.
This module defines immutable data structures used to represent parsed task execution blocks and their associated keyword arguments.
The classes encapsulate:
- Task name
- Collected keyword arguments
- Default value resolution logic
- Iterable access to multiple tasks
They are returned by qargparse.ArgumentParser.parse_args().
TaskKwargs
dataclass
Immutable representation of a single task invocation.
A TaskKwargs instance represents one parsed task execution block, containing:
- The task name
- The collected keyword arguments for that invocation
- Remaining unresolved default mappings
During initialization, task-specific default values are injected
into kwargs if not already explicitly provided.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Name of the task. |
kwargs |
Dict[str, Any]
|
Keyword arguments resolved for this task invocation. |
defaults |
Dict[str, Dict[str, Any]]
|
Remaining default mappings that were not applied during initialization. Keys are parameter names, and values are dictionaries mapping task aliases to default values. |
Source code in src/qargparse/tasks.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | |
__init__(name, kwargs, defaults)
Initialize a TaskKwargs instance and resolve defaults.
For each parameter in defaults:
- If the parameter is missing from
kwargsand a default exists for this task name, the default is injected. - Otherwise, the parameter remains in
defaultsfor potential later resolution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
The task name. |
required |
kwargs
|
Dict[str, Any]
|
Explicit keyword arguments provided for this task. |
required |
defaults
|
Dict[str, Dict[str, Any]]
|
Mapping of parameter names to task-specific default dictionaries. |
required |
Source code in src/qargparse/tasks.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |
set_defaults(params, alias='')
Resolve remaining defaults for selected parameters.
This method applies default values to the specified parameters
if they are not already present in kwargs.
Default resolution order
- Alias-specific default (if provided)
- Global default (empty alias key "")
- None
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
params
|
str | List[str]
|
Parameter name or list of parameter names to resolve. |
required |
alias
|
str
|
Optional alias used to select task-specific defaults. |
''
|
Returns:
| Name | Type | Description |
|---|---|---|
TaskKwargs |
A new instance with resolved defaults injected into
|
Source code in src/qargparse/tasks.py
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | |
TasksKwargs
dataclass
Immutable container for multiple task invocations.
This class wraps the list of parsed task blocks returned by qargparse.ArgumentParser.parse_args().
It provides:
- Iterable access to TaskKwargs objects
- Indexed access to individual tasks
- Shared default resolution logic across tasks
Attributes:
| Name | Type | Description |
|---|---|---|
tasks |
List[Tuple[str, Dict[str, Any]]]
|
Raw list of (task_name, kwargs) pairs. |
defaults |
Dict[str, Dict[str, Any]]
|
Global default mappings applied to all tasks. |
Source code in src/qargparse/tasks.py
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | |