Coverage for src / mafw / models / parameter_schema.py: 100%
12 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-30 16:10 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-30 16:10 +0000
1# Copyright 2025–2026 European Union
2# Author: Bulgheroni Antonio (antonio.bulgheroni@ec.europa.eu)
3# SPDX-License-Identifier: EUPL-1.2
4"""Schemas describing processor parameters.
6These light-weight dataclasses capture the static metadata that is declared through :class:`.ActiveParameter`
7definitions and can be consumed by tooling without instantiating the processor itself.
8"""
10from __future__ import annotations
12from dataclasses import dataclass
13from typing import Any
15__all__ = ['ParameterSchema']
18@dataclass(frozen=True)
19class ParameterSchema:
20 """Static metadata describing a single processor parameter.
22 :param name: Symbolic name used in steering files.
23 :param annotation: Optional type hint supplied by the processor definition.
24 :param default: The default value declared on the descriptor.
25 :param help: Documentation text that should be surfaced to the user.
26 :param is_list: True if the parameter expects a :class:`list`-like value.
27 :param is_dict: True if the parameter expects a :class:`dict`-like value.
28 """
30 name: str
31 annotation: type | None
32 default: Any
33 help: str | None
34 is_list: bool
35 is_dict: bool