blueetl.config.analysis_model¶
Analysis Configuration Models.
Classes
Custom BaseModel. |
|
|
CacheConfig Model. |
|
ExtractionConfig Model. |
|
FeaturesConfig Model. |
|
MultiAnalysisConfig Model. |
|
NeuronClassConfig Model. |
|
ReportConfig Model. |
|
SingleAnalysisConfig Model. |
|
StoreType Enumeration. |
|
TrialStepsConfig Model. |
|
WindowConfig Model. |
- class blueetl.config.analysis_model.BaseModel¶
Bases:
BaseModel
Custom BaseModel.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- checksum()¶
Calculate the checksum of the model.
- dict(*args, by_alias=True, **kwargs)¶
Generate a dictionary representation of the model, using by_alias=True by default.
- dump(path: Path) None ¶
Dump the model to file in yaml format.
- json(*args, sort_keys=False, **kwargs)¶
Generate a JSON representation of the model, using by_alias=True by default.
- classmethod load(path: Path) BaseModelT ¶
Load the model from file in yaml format.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blueetl.config.analysis_model.CacheConfig(*, path: Path, clear: bool = False, readonly: bool = False, skip_features: bool = False, store_type: StoreTypeEnum = StoreTypeEnum.parquet)¶
Bases:
BaseModel
CacheConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'clear': FieldInfo(annotation=bool, required=False, default=False), 'path': FieldInfo(annotation=Path, required=True), 'readonly': FieldInfo(annotation=bool, required=False, default=False), 'skip_features': FieldInfo(annotation=bool, required=False, default=False), 'store_type': FieldInfo(annotation=StoreTypeEnum, required=False, default=<StoreTypeEnum.parquet: 'parquet'>)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- validate_values()¶
Validate the values after loading them.
- class blueetl.config.analysis_model.ExtractionConfig(*, report: ReportConfig, neuron_classes: dict[str, NeuronClassConfig] = {}, windows: dict[str, str | WindowConfig] = {}, trial_steps: dict[str, TrialStepsConfig] = {})¶
Bases:
BaseModel
ExtractionConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'neuron_classes': FieldInfo(annotation=dict[str, NeuronClassConfig], required=False, default={}), 'report': FieldInfo(annotation=ReportConfig, required=True), 'trial_steps': FieldInfo(annotation=dict[str, TrialStepsConfig], required=False, default={}), 'windows': FieldInfo(annotation=dict[str, Union[str, WindowConfig]], required=False, default={})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod propagate_global_values(values)¶
Propagate global values to each dictionary in neuron_classes and trial_steps.
- class blueetl.config.analysis_model.FeaturesConfig(*, id: int | None = None, type: str, name: str | None = None, groupby: list[str], function: str, neuron_classes: list[str] = [], windows: list[str] = [], params: dict[str, Any] = {}, params_product: dict[str, Any] = {}, params_zip: dict[str, Any] = {}, suffix: str = '', multi_index: bool = True)¶
Bases:
BaseModel
FeaturesConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'function': FieldInfo(annotation=str, required=True), 'groupby': FieldInfo(annotation=list[str], required=True), 'id': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, exclude=True), 'multi_index': FieldInfo(annotation=bool, required=False, default=True), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'neuron_classes': FieldInfo(annotation=list[str], required=False, default=[]), 'params': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'params_product': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'params_zip': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'type': FieldInfo(annotation=str, required=True), 'windows': FieldInfo(annotation=list[str], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blueetl.config.analysis_model.MultiAnalysisConfig(*, version: int, simulation_campaign: Path, cache: CacheConfig, simulations_filter: dict[str, Any] = {}, simulations_filter_in_memory: dict[str, Any] = {}, analysis: dict[str, SingleAnalysisConfig], custom: dict[str, Any] = {})¶
Bases:
BaseModel
MultiAnalysisConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- classmethod handle_deprecated_fields(data: Any) Any ¶
Handle the deprecated fields.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'analysis': FieldInfo(annotation=dict[str, SingleAnalysisConfig], required=True), 'cache': FieldInfo(annotation=CacheConfig, required=True), 'custom': FieldInfo(annotation=dict[str, Any], required=False, default={}, exclude=True), 'simulation_campaign': FieldInfo(annotation=Path, required=True), 'simulations_filter': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'simulations_filter_in_memory': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'version': FieldInfo(annotation=int, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod version_match(version)¶
Verify that the config version is supported.
- class blueetl.config.analysis_model.NeuronClassConfig(*, query: dict[str, Any] | list[dict[str, Any]] = {}, population: str | None = None, node_set: str | None = None, node_sets_file: Path | None = None, node_sets_checksum: str | None = None, limit: int | None = None, node_id: list[int] | None = None)¶
Bases:
BaseModel
NeuronClassConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'limit': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'node_id': FieldInfo(annotation=Union[list[int], NoneType], required=False, default=None), 'node_set': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'node_sets_checksum': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'node_sets_file': FieldInfo(annotation=Union[Path, NoneType], required=False, default=None), 'population': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'query': FieldInfo(annotation=Union[dict[str, Any], list[dict[str, Any]]], required=False, default={})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blueetl.config.analysis_model.ReportConfig(*, type: str, name: str = '')¶
Bases:
BaseModel
ReportConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'name': FieldInfo(annotation=str, required=False, default=''), 'type': FieldInfo(annotation=str, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blueetl.config.analysis_model.SingleAnalysisConfig(*, cache: CacheConfig | None = None, simulations_filter: dict[str, Any] = {}, simulations_filter_in_memory: dict[str, Any] = {}, extraction: ExtractionConfig, features: list[FeaturesConfig] = [], custom: dict[str, Any] = {})¶
Bases:
BaseModel
SingleAnalysisConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- classmethod assign_features_config_id(lst)¶
Assign an incremental id to each FeaturesConfig.
- classmethod handle_deprecated_fields(data: Any) Any ¶
Handle the deprecated fields.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'cache': FieldInfo(annotation=Union[CacheConfig, NoneType], required=False, default=None), 'custom': FieldInfo(annotation=dict[str, Any], required=False, default={}, exclude=True), 'extraction': FieldInfo(annotation=ExtractionConfig, required=True), 'features': FieldInfo(annotation=list[FeaturesConfig], required=False, default=[]), 'simulations_filter': FieldInfo(annotation=dict[str, Any], required=False, default={}), 'simulations_filter_in_memory': FieldInfo(annotation=dict[str, Any], required=False, default={})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- property output: Path | None¶
Shortcut to the base output path of the analysis.
- class blueetl.config.analysis_model.StoreTypeEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
str
,Enum
StoreType Enumeration.
- class blueetl.config.analysis_model.TrialStepsConfig(*, function: str, bounds: tuple[float, float], population: str | None = None, node_set: str | None = None, node_sets_file: Path | None = None, node_sets_checksum: str | None = None, limit: int | None = None, base_path: Path | None = None, **extra_data: Any)¶
Bases:
BaseModel
TrialStepsConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- forbid_fields()¶
Verify that the forbidden extra fields have not been specified.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'allow', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_path': FieldInfo(annotation=Union[Path, NoneType], required=False, default=None), 'bounds': FieldInfo(annotation=tuple[float, float], required=True), 'function': FieldInfo(annotation=str, required=True), 'limit': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'node_set': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'node_sets_checksum': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'node_sets_file': FieldInfo(annotation=Union[Path, NoneType], required=False, default=None), 'population': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- model_post_init(__context: Any) None ¶
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Parameters:
self – The BaseModel instance.
__context – The context.
- class blueetl.config.analysis_model.WindowConfig(*, initial_offset: float = 0.0, bounds: tuple[float, float], t_step: float = 0.0, n_trials: int = 0, trial_steps_value: float = 0.0, trial_steps_list: list[float] = [], trial_steps_label: str = '', window_type: str = '')¶
Bases:
BaseModel
WindowConfig Model.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'allow_inf_nan': False, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bounds': FieldInfo(annotation=tuple[float, float], required=True), 'initial_offset': FieldInfo(annotation=float, required=False, default=0.0), 'n_trials': FieldInfo(annotation=int, required=False, default=0), 't_step': FieldInfo(annotation=float, required=False, default=0.0), 'trial_steps_label': FieldInfo(annotation=str, required=False, default=''), 'trial_steps_list': FieldInfo(annotation=list[float], required=False, default=[]), 'trial_steps_value': FieldInfo(annotation=float, required=False, default=0.0), 'window_type': FieldInfo(annotation=str, required=False, default='')}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- validate_values()¶
Validate the values after loading them.