dataspecs.extras.naming module#
- class Name(_name: ~typing.Annotated[~collections.abc.Hashable, <NameTag.NAME: 1>])[source]#
Bases:
object
Annotation for namer specs.
- Parameters:
_name (Annotated[Hashable, <NameTag.NAME: 1>]) – New name of the data spec to be replaced.
- name(specs: Specs[TSpec], /, leave: bool = False) Specs[TSpec] [source]#
Replace data spec names by corresponding namer specs.
- Parameters:
specs (Specs[TSpec]) – Input data specs.
leave (bool) – Whether to leave the namer specs.
- Returns:
Data specs whose names are replaced.
- Return type:
Specs[TSpec]
Examples
from dataclasses import dataclass from dataspecs import Name, name, from_dataclass from typing import Annotated as Ann @dataclass class Weather: temp: Ann[float, Name("Ground temperature")] humid: Ann[float, Name("Relative humidity")] name(from_dataclass(Weather(20.0, 50.0)))
Specs([ Spec( path=Path('/temp'), name='Ground temperature', # <- named tags=(), type=<class 'float'>, data=20.0, ), Spec( path=Path('/humid'), # <- named name='Relative humidity', tags=(), type=<class 'float'>, data=50.0, ), ])