ConfigDictField¶
- class lsst.pex.config.ConfigDictField(doc, keytype, itemtype, default=None, optional=False, dictCheck=None, keyCheck=None, itemCheck=None, deprecated=None)¶
- Bases: - DictField- A configuration field ( - Fieldsubclass) that is a mapping of keys to- Configinstances.- ConfigDictFieldbehaves like- DictFieldexcept that the- itemtypemust be a- Configsubclass.- Parameters:
- docstr
- A description of the configuration field. 
- keytype{int,float,complex,bool,str}
- The type of the mapping keys. All keys must have this type. 
- itemtypelsst.pex.config.Config-type
- The type of the values in the mapping. This must be - Configor a subclass.
- defaultoptional
- Unknown. 
- defaultitemtype-dtype, optional
- Default value of this field. 
- optionalbool, optional
- If - True, this configuration- Fieldis optional. Default is- True.
- dictCheckCallableorNone, optional
- Callable to check a dict. 
- keyCheckCallableorNone, optional
- Callable to check a key. 
- itemCheckCallableorNone, optional
- Callable to check an item. 
- deprecatedNone 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. 
 
- doc
- Raises:
- ValueError
- Raised if the inputs are invalid: - keytypeor- itemtypearguments are not supported types (members of- ConfigDictField.supportedTypes.
- dictCheck,- keyCheckor- itemCheckis not a callable function.
 
 
 - See also - Notes - You can use - ConfigDictFieldto 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.- Attributes Summary - Supported data types for field values ( - setof types).- Methods Summary - freeze(instance)- Make this field read-only (for internal use only). - rename(instance)- Rename the field in a - Config(for internal use only).- save(outfile, instance)- Save this field to a file (for internal use only). - toDict(instance)- Convert this field's key-value pairs into a regular - dict.- validate(instance)- Validate the field. - Attributes Documentation - supportedTypes = {<class 'bool'>, <class 'complex'>, <class 'float'>, <class 'str'>, <class 'int'>}¶
- Supported data types for field values ( - setof types).
 - Methods Documentation - freeze(instance)¶
- Make this field read-only (for internal use only). - Parameters:
- instancelsst.pex.config.Config
- The config instance that contains this field. 
 
- instance
 - Notes - Freezing is only relevant for fields that hold subconfigs. Fields which hold subconfigs should freeze each subconfig. - Subclasses should implement this method. 
 - rename(instance)¶
- Rename the field in a - Config(for internal use only).- Parameters:
- instancelsst.pex.config.Config
- The config instance that contains this field. 
 
- instance
 - Notes - This method is invoked by the - lsst.pex.config.Configobject that contains this field and should not be called directly.- Renaming is only relevant for - Fieldinstances that hold subconfigs.- Fields that hold subconfigs should rename each subconfig with the full field name as generated by- lsst.pex.config.config._joinNamePath.
 - save(outfile, instance)¶
- Save this field to a file (for internal use only). - Parameters:
 - Notes - This method is invoked by the - Configobject 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. 
 - validate(instance)¶
- Validate the field. - Parameters:
- instancelsst.pex.config.Config
- The config instance that contains this field. 
 
- instance
- Raises:
- lsst.pex.config.FieldValidationError
- Raised if validation fails for this field. 
 
 - Notes - Individual key checks ( - keyCheck) are applied when each key is added and are not re-checked by this method.