|
def | __init__ (self, doc, keytype, itemtype, default=None, optional=False, dictCheck=None, itemCheck=None, deprecated=None) |
|
def | validate (self, instance) |
|
def | __set__ (self, instance, value, at=None, label="assignment") |
|
def | toDict (self, instance) |
|
def | __init__ (self, doc, dtype, default=None, check=None, optional=False, deprecated=None) |
|
def | rename (self, instance) |
|
def | validate (self, instance) |
|
def | freeze (self, instance) |
|
def | save (self, outfile, instance) |
|
def | toDict (self, instance) |
|
def | __get__ (self, instance, owner=None, at=None, label="default") |
|
def | __set__ (self, instance, value, at=None, label='assignment') |
|
def | __delete__ (self, instance, at=None, label='deletion') |
|
A configuration field (`~lsst.pex.config.Field` subclass) that maps keys
and values.
The types of both items and keys are restricted to these builtin types:
`int`, `float`, `complex`, `bool`, and `str`). All keys share the same type
and all values share the same type. Keys can have a different type from
values.
Parameters
----------
doc : `str`
A documentation string that describes the configuration field.
keytype : {`int`, `float`, `complex`, `bool`, `str`}
The type of the mapping keys. All keys must have this type.
itemtype : {`int`, `float`, `complex`, `bool`, `str`}
Type of the mapping values.
default : `dict`, optional
The default mapping.
optional : `bool`, optional
If `True`, the field doesn't need to have a set value.
dictCheck : callable
A function that validates the dictionary as a whole.
itemCheck : callable
A function that validates individual mapping values.
deprecated : None or `str`, optional
A description of why this Field is deprecated, including removal date.
If not None, the string is appended to the docstring for this Field.
See also
--------
ChoiceField
ConfigChoiceField
ConfigDictField
ConfigField
ConfigurableField
Field
ListField
RangeField
RegistryField
Examples
--------
This field maps has `str` keys and `int` values:
>>> from lsst.pex.config import Config, DictField
>>> class MyConfig(Config):
... field = DictField(
... doc="Example string-to-int mapping field.",
... keytype=str, itemtype=int,
... default={})
...
>>> config = MyConfig()
>>> config.field['myKey'] = 42
>>> print(config.field)
{'myKey': 42}