Пример #1
0
 def from_config(cls, config: Union[AnalysisConfig, Dict]) -> "BaseAnalysis":
     """Initialize an analysis class from analysis config"""
     if isinstance(config, dict):
         config = AnalysisConfig(**config)
     ret = cls(*config.args, **config.kwargs)
     if config.options:
         ret.set_options(**config.options)
     return ret
Пример #2
0
 def config(self) -> AnalysisConfig:
     """Return the config dataclass for this analysis"""
     args = tuple(getattr(self, "__init_args__", OrderedDict()).values())
     kwargs = dict(getattr(self, "__init_kwargs__", OrderedDict()))
     # Only store non-default valued options
     options = dict((key, getattr(self._options, key)) for key in self._set_options)
     return AnalysisConfig(
         cls=type(self),
         args=args,
         kwargs=kwargs,
         options=options,
     )