[docs]classBaseConfigurable(BaseModel):""" Base class for configurables (a.k.a settings definitions). For your settings definitions, prefer :class:`Configurable` over this base class (see below). Extends Pydantic's BaseModel. """
[docs]@classmethoddeffrom_dict(cls:Type[Self],data:dict)->Self:"""Construct a new instance from a dictionary."""returncls(**data)
[docs]@classmethoddeffrom_kwargs(cls:Type[Self],**kwargs)->Self:"""Construct a new instance from keyword arguments."""returncls(**kwargs)
def__getitem__(self,item):"""Allow access to nested values using dot notation."""value=selfforbitinitem.split("."):value=getattr(value,bit)returnvalue