lsst.pex.config
19.0.0-7-g3343160
|
Public Member Functions | |
def | __init__ (self, doc, dtype, default=None, check=None, deprecated=None) |
def | __get__ (self, instance, owner=None) |
def | __set__ (self, instance, value, at=None, label="assignment") |
def | rename (self, instance) |
def | save (self, outfile, instance) |
def | freeze (self, instance) |
def | toDict (self, instance) |
def | validate (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') |
Additional Inherited Members | |
![]() | |
dtype | |
doc | |
deprecated | |
default | |
check | |
optional | |
source | |
![]() | |
supportedTypes = set((str, bool, float, int, complex)) | |
A configuration field (`~lsst.pex.config.Field` subclass) that takes a `~lsst.pex.config.Config`-type as a value. Parameters ---------- doc : `str` A description of the configuration field. dtype : `lsst.pex.config.Config`-type The type of the field, which must be a subclass of `lsst.pex.config.Config`. default : `lsst.pex.config.Config`, optional If default is `None`, the field will default to a default-constructed instance of ``dtype``. Additionally, to allow for fewer deep-copies, assigning an instance of ``ConfigField`` to ``dtype`` itself, is considered equivalent to assigning a default-constructed sub-config. This means that the argument default can be ``dtype``, as well as an instance of ``dtype``. check : callable, optional A callback function that validates the field's value, returning `True` if the value is valid, and `False` otherwise. 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 ConfigurableField DictField Field ListField RangeField RegistryField Notes ----- The behavior of this type of field is much like that of the base `Field` type. Assigning to ``ConfigField`` will update all of the fields in the configuration.
def pex.config.configField.ConfigField.freeze | ( | self, | |
instance | |||
) |
Make this field read-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.**
def pex.config.configField.ConfigField.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.Fields` that hold subconfigs should rename each subconfig with the full field name as generated by `lsst.pex.config.config._joinNamePath`.
def pex.config.configField.ConfigField.save | ( | self, | |
outfile, | |||
instance | |||
) |
Save this field to a file (for internal use only). Parameters ---------- outfile : file-like object A writeable field handle. instance : `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. 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.
def pex.config.configField.ConfigField.toDict | ( | self, | |
instance | |||
) |
Convert the field value so that it can be set as the value of an item in a `dict` (for internal use only). Parameters ---------- instance : `Config` The `Config` that contains this field. Returns ------- value : object The field's value. See *Notes*. Notes ----- This method invoked by the owning `~lsst.pex.config.Config` object and should not be called directly. Simple values are passed through. Complex data structures must be manipulated. For example, a `~lsst.pex.config.Field` holding a subconfig should, instead of the subconfig object, return a `dict` where the keys are the field names in the subconfig, and the values are the field values in the subconfig.
def pex.config.configField.ConfigField.validate | ( | self, | |
instance | |||
) |
Validate the field (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. Raises ------ lsst.pex.config.FieldValidationError Raised if verification fails. Notes ----- This method provides basic validation: - Ensures that the value is not `None` if the field is not optional. - Ensures type correctness. - Ensures that the user-provided ``check`` function is valid. Most `~lsst.pex.config.Field` subclasses should call `lsst.pex.config.field.Field.validate` if they re-implement `~lsst.pex.config.field.Field.validate`.