LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, doc, keytype, itemtype, default=None, optional=False, dictCheck=None, itemCheck=None, deprecated=None) | |
rename (self, instance) | |
validate (self, instance) | |
toDict (self, instance) | |
save (self, outfile, instance) | |
freeze (self, instance) | |
Public Attributes | |
keytype | |
itemtype | |
dictCheck | |
itemCheck | |
name | |
Static Public Attributes | |
DictClass = ConfigDict | |
Protected Member Functions | |
_collectImports (self, instance, imports) | |
_compare (self, instance1, instance2, shortcut, rtol, atol, output) | |
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`. dictCheck : `~collections.abc.Callable` or `None`, optional Callable to check a dict. itemCheck : `~collections.abc.Callable` or `None`, optional Callable to check an item. 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. 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 109 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.__init__ | ( | self, | |
doc, | |||
keytype, | |||
itemtype, | |||
default = None, | |||
optional = False, | |||
dictCheck = None, | |||
itemCheck = None, | |||
deprecated = None ) |
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 171 of file configDictField.py.
|
protected |
Call the _collectImports method on all config objects the field may own, and union them with the supplied imports set. Parameters ---------- instance : instance or subclass of `lsst.pex.config.Config` A config object that has this field defined on it imports : `set` Set of python modules that need imported after persistence
Reimplemented from lsst.pex.config.config.Field.
Definition at line 235 of file configDictField.py.
|
protected |
Compare two fields for equality. Used by `lsst.pex.ConfigDictField.compare`. Parameters ---------- instance1 : `lsst.pex.config.Config` Left-hand side config instance to compare. instance2 : `lsst.pex.config.Config` Right-hand side config instance to compare. shortcut : `bool` If `True`, this function returns as soon as an inequality if found. rtol : `float` Relative tolerance for floating point comparisons. atol : `float` Absolute tolerance for floating point comparisons. output : callable A callable that takes a string, used (possibly repeatedly) to report inequalities. Returns ------- isEqual : bool `True` if the fields are equal, `False` otherwise. Notes ----- Floating point comparisons are performed by `numpy.allclose`.
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 261 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.freeze | ( | self, | |
instance ) |
Make this field read-only (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. Notes ----- Freezing is only relevant for fields that hold subconfigs. Fields which hold subconfigs should freeze each subconfig. **Subclasses should implement this method.**
Reimplemented from lsst.pex.config.config.Field.
Definition at line 255 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.rename | ( | self, | |
instance ) |
Rename the field in a `~lsst.pex.config.Config` (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. Notes ----- This method is invoked by the `lsst.pex.config.Config` object that contains this field and should not be called directly. Renaming is only relevant for `~lsst.pex.config.Field` instances that hold subconfigs. `~lsst.pex.config.Field`\s that hold subconfigs should rename each subconfig with the full field name as generated by `lsst.pex.config.config._joinNamePath`.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 206 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.save | ( | self, | |
outfile, | |||
instance ) |
Save this field to a file (for internal use only). Parameters ---------- outfile : file-like object A writeable field handle. instance : `~lsst.pex.config.Config` The `~lsst.pex.config.Config` instance that contains this field. Notes ----- This method is invoked by the `~lsst.pex.config.Config` object that contains this field and should not be called directly. The output consists of the documentation string (`lsst.pex.config.Field.doc`) formatted as a Python comment. The second line is formatted as an assignment: ``{fullname}={value}``. This output can be executed with Python.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 243 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.toDict | ( | self, | |
instance ) |
Convert this field's key-value pairs into a regular `dict`. Parameters ---------- instance : `lsst.pex.config.Config` The configuration that contains this field. Returns ------- result : `dict` or `None` If this field has a value of `None`, then this method returns `None`. Otherwise, this method returns the field's value as a regular Python `dict`.
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 224 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.validate | ( | self, | |
instance ) |
Validate the field's value (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The configuration that contains this field. Returns ------- isValid : `bool` `True` is returned if the field passes validation criteria (see *Notes*). Otherwise `False`. Notes ----- This method validates values according to the following criteria: - A non-optional field is not `None`. - If a value is not `None`, is must pass the `ConfigField.dictCheck` user callback functon. Individual item checks by the `ConfigField.itemCheck` user callback function are done immediately when the value is set on a key. Those checks are not repeated by this method.
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 213 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.dictCheck |
Definition at line 203 of file configDictField.py.
|
static |
Definition at line 169 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.itemCheck |
Definition at line 204 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.itemtype |
Definition at line 202 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.keytype |
Definition at line 201 of file configDictField.py.
lsst.pex.config.configDictField.ConfigDictField.name |
Definition at line 294 of file configDictField.py.