lsst.pex.config  17.0.1
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pex.config.configDictField.ConfigDictField Class Reference
Inheritance diagram for lsst.pex.config.configDictField.ConfigDictField:
lsst.pex.config.dictField.DictField lsst.pex.config.config.Field

Public Member Functions

def __init__ (self, doc, keytype, itemtype, default=None, optional=False, dictCheck=None, itemCheck=None)
 
def rename (self, instance)
 
def validate (self, instance)
 
def toDict (self, instance)
 
def save (self, outfile, instance)
 
def freeze (self, instance)
 
def __set__ (self, instance, value, at=None, label="assignment")
 
def __get__ (self, instance, owner=None, at=None, label="default")
 
def __delete__ (self, instance, at=None, label='deletion')
 

Public Attributes

 keytype
 
 itemtype
 
 dictCheck
 
 itemCheck
 
 dtype
 
 doc
 
 default
 
 check
 
 optional
 
 source
 

Static Public Attributes

 DictClass = ConfigDict
 
 supportedTypes = set((str, bool, float, int, complex))
 

Detailed Description

A configuration field (`~lsst.pex.config.Field` subclass) that is a
mapping of keys to `~lsst.pex.config.Config` instances.

``ConfigDictField`` behaves like `DictField` except that the
``itemtype`` must be a `~lsst.pex.config.Config` subclass.

Parameters
----------
doc : `str`
    A description of the configuration field.
keytype : {`int`, `float`, `complex`, `bool`, `str`}
    The type of the mapping keys. All keys must have this type.
itemtype : `lsst.pex.config.Config`-type
    The type of the values in the mapping. This must be
    `~lsst.pex.config.Config` or a subclass.
default : optional
    Unknown.
default : ``itemtype``-dtype, optional
    Default value of this field.
optional : `bool`, optional
    If `True`, this configuration `~lsst.pex.config.Field` is *optional*.
    Default is `True`.

Raises
------
ValueError
    Raised if the inputs are invalid:

    - ``keytype`` or ``itemtype`` arguments are not supported types
      (members of `ConfigDictField.supportedTypes`.
    - ``dictCheck`` or ``itemCheck`` is not a callable function.

See also
--------
ChoiceField
ConfigChoiceField
ConfigField
ConfigurableField
DictField
Field
ListField
RangeField
RegistryField

Notes
-----
You can use ``ConfigDictField`` to create name-to-config mappings. One use
case is for configuring mappings for dataset types in a Butler. In this
case, the dataset type names are arbitrary and user-selected while the
mapping configurations are known and fixed.

Definition at line 87 of file configDictField.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pex.config.configDictField.ConfigDictField.__init__ (   self,
  doc,
  keytype,
  itemtype,
  default = None,
  optional = False,
  dictCheck = None,
  itemCheck = None 
)

Definition at line 142 of file configDictField.py.

Member Function Documentation

◆ __delete__()

def lsst.pex.config.config.Field.__delete__ (   self,
  instance,
  at = None,
  label = 'deletion' 
)
inherited
Delete an attribute from a `lsst.pex.config.Config` instance.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.
at : `list` of `lsst.pex.config.callStack.StackFrame`
    The call stack (created by
    `lsst.pex.config.callStack.getCallStack`).
label : `str`, optional
    Event label for the history.

Notes
-----
This is invoked by the owning `~lsst.pex.config.Config` object and
should not be called directly.

Definition at line 528 of file config.py.

◆ __get__()

def lsst.pex.config.config.Field.__get__ (   self,
  instance,
  owner = None,
  at = None,
  label = "default" 
)
inherited
Define how attribute access should occur on the Config instance
This is invoked by the owning config object and should not be called
directly

When the field attribute is accessed on a Config class object, it
returns the field object itself in order to allow inspection of
Config classes.

When the field attribute is access on a config instance, the actual
value described by the field (and held by the Config instance) is
returned.

Definition at line 453 of file config.py.

◆ __set__()

def lsst.pex.config.dictField.DictField.__set__ (   self,
  instance,
  value,
  at = None,
  label = "assignment" 
)
inherited

Definition at line 249 of file dictField.py.

◆ freeze()

def lsst.pex.config.configDictField.ConfigDictField.freeze (   self,
  instance 
)

Definition at line 203 of file configDictField.py.

◆ rename()

def lsst.pex.config.configDictField.ConfigDictField.rename (   self,
  instance 
)

Definition at line 162 of file configDictField.py.

◆ save()

def lsst.pex.config.configDictField.ConfigDictField.save (   self,
  outfile,
  instance 
)

Definition at line 191 of file configDictField.py.

◆ toDict()

def lsst.pex.config.configDictField.ConfigDictField.toDict (   self,
  instance 
)

Definition at line 180 of file configDictField.py.

◆ validate()

def lsst.pex.config.configDictField.ConfigDictField.validate (   self,
  instance 
)

Definition at line 169 of file configDictField.py.

Member Data Documentation

◆ check

lsst.pex.config.config.Field.check
inherited

Definition at line 284 of file config.py.

◆ default

lsst.pex.config.config.Field.default
inherited

Definition at line 280 of file config.py.

◆ dictCheck

lsst.pex.config.configDictField.ConfigDictField.dictCheck

Definition at line 159 of file configDictField.py.

◆ DictClass

lsst.pex.config.configDictField.ConfigDictField.DictClass = ConfigDict
static

Definition at line 140 of file configDictField.py.

◆ doc

lsst.pex.config.config.Field.doc
inherited

Definition at line 271 of file config.py.

◆ dtype

lsst.pex.config.config.Field.dtype
inherited

Definition at line 267 of file config.py.

◆ itemCheck

lsst.pex.config.configDictField.ConfigDictField.itemCheck

Definition at line 160 of file configDictField.py.

◆ itemtype

lsst.pex.config.configDictField.ConfigDictField.itemtype

Definition at line 158 of file configDictField.py.

◆ keytype

lsst.pex.config.configDictField.ConfigDictField.keytype

Definition at line 157 of file configDictField.py.

◆ optional

lsst.pex.config.config.Field.optional
inherited

Definition at line 288 of file config.py.

◆ source

lsst.pex.config.config.Field.source
inherited

Definition at line 295 of file config.py.

◆ supportedTypes

lsst.pex.config.config.Field.supportedTypes = set((str, bool, float, int, complex))
staticinherited

Definition at line 253 of file config.py.


The documentation for this class was generated from the following file: