ListField¶
- class lsst.pex.config.ListField(doc, dtype=None, default=None, optional=False, listCheck=None, itemCheck=None, length=None, minLength=None, maxLength=None, deprecated=None)¶
Bases:
Field
[List
[FieldTypeVar
]],Generic
[FieldTypeVar
]A configuration field (
Field
subclass) that contains a list of values of a specific type.- Parameters:
- doc
str
A description of the field.
- dtypeclass, optional
The data type of items in the list. Optional if supplied as typing argument to the class.
- defaultsequence, optional
The default items for the field.
- optional
bool
, optional Set whether the field is optional. When
False
,lsst.pex.config.Config.validate
will fail if the field’s value isNone
.- listCheckcallable, optional
A callable that validates the list as a whole.
- itemCheckcallable, optional
A callable that validates individual items in the list.
- length
int
, optional If set, this field must contain exactly
length
number of items.- minLength
int
, optional If set, this field must contain at least
minLength
number of items.- maxLength
int
, optional If set, this field must contain no more than
maxLength
number of items.- 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
See also
Attributes Summary
Supported data types for field values (
set
of 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 the value of this field to a plain
list
.validate
(instance)Validate the field.
Attributes Documentation
- supportedTypes = {<class 'float'>, <class 'complex'>, <class 'bool'>, <class 'int'>, <class 'str'>}¶
Supported data types for field values (
set
of types).
Methods Documentation
- freeze(instance)¶
Make this field read-only (for internal use only).
- Parameters:
- instance
lsst.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:
- instance
lsst.pex.config.Config
The config instance that contains this field.
- instance
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
Field
instances that hold subconfigs.Field
s that hold subconfigs should rename each subconfig with the full field name as generated bylsst.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
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.
- toDict(instance)¶
Convert the value of this field to a plain
list
.lsst.pex.config.Config.toDict
is the primary user of this method.- Parameters:
- instance
lsst.pex.config.Config
The config instance that contains this field.
- instance
- Returns:
- validate(instance)¶
Validate the field.
- Parameters:
- instance
lsst.pex.config.Config
The config instance that contains this field.
- instance
- Raises:
Notes
Individual item checks (
itemCheck
) are applied when each item is set and are not re-checked by this method.