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

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. 

5 

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""" 

9 

10from __future__ import annotations 

11 

12from dataclasses import dataclass 

13from typing import Any 

14 

15__all__ = ['ParameterSchema'] 

16 

17 

18@dataclass(frozen=True) 

19class ParameterSchema: 

20 """Static metadata describing a single processor parameter. 

21 

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 """ 

29 

30 name: str 

31 annotation: type | None 

32 default: Any 

33 help: str | None 

34 is_list: bool 

35 is_dict: bool