|
def | validateTarget (self, target, ConfigClass) |
|
def | __init__ (self, doc, target, ConfigClass=None, default=None, check=None, deprecated=None) |
|
def | __get__ (self, instance, owner=None, at=None, label="default") |
|
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 | __deepcopy__ (self, memo) |
|
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 can be
can be retargeted towards a different configurable (often a
`lsst.pipe.base.Task` subclass).
The ``ConfigurableField`` is often used to configure subtasks, which are
tasks (`~lsst.pipe.base.Task`) called by a parent task.
Parameters
----------
doc : `str`
A description of the configuration field.
target : configurable class
The configurable target. Configurables have a ``ConfigClass``
attribute. Within the task framework, configurables are
`lsst.pipe.base.Task` subclasses)
ConfigClass : `lsst.pex.config.Config`-type, optional
The subclass of `lsst.pex.config.Config` expected as the configuration
class of the ``target``. If ``ConfigClass`` is unset then
``target.ConfigClass`` is used.
default : ``ConfigClass``-type, optional
The default configuration class. Normally this parameter is not set,
and defaults to ``ConfigClass`` (or ``target.ConfigClass``).
check : callable, optional
Callable that takes the field's value (the ``target``) as its only
positional argument, and returns `True` if the ``target`` 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
ConfigField
DictField
Field
ListField
RangeField
RegistryField
Notes
-----
You can use the `ConfigurableInstance.apply` method to construct a
fully-configured configurable.
def lsst.pex.config.configurableField.ConfigurableField.__set__ |
( |
|
self, |
|
|
|
instance, |
|
|
|
value, |
|
|
|
at = None , |
|
|
|
label = "assignment" |
|
) |
| |
Set an attribute on the config instance.
Parameters
----------
instance : `lsst.pex.config.Config`
The config instance that contains this field.
value : obj
Value to set on this field.
at : `list` of `lsst.pex.config.callStack.StackFrame`
The call stack (created by
`lsst.pex.config.callStack.getCallStack`).
label : `str`, optional
Event label for the history.
Notes
-----
This method is invoked by the owning `lsst.pex.config.Config` object
and should not be called directly.
Derived `~lsst.pex.config.Field` classes may need to override the
behavior. When overriding ``__set__``, `~lsst.pex.config.Field` authors
should follow the following rules:
- Do not allow modification of frozen configs.
- Validate the new value **before** modifying the field. Except if the
new value is `None`. `None` is special and no attempt should be made
to validate it until `lsst.pex.config.Config.validate` is called.
- Do not modify the `~lsst.pex.config.Config` instance to contain
invalid values.
- If the field is modified, update the history of the
`lsst.pex.config.field.Field` to reflect the changes.
In order to decrease the need to implement this method in derived
`~lsst.pex.config.Field` types, value validation is performed in the
`lsst.pex.config.Field._validateValue`. If only the validation step
differs in the derived `~lsst.pex.config.Field`, it is simpler to
implement `lsst.pex.config.Field._validateValue` than to reimplement
``__set__``. More complicated behavior, however, may require
reimplementation.
Reimplemented from lsst.pex.config.config.Field.
def lsst.pex.config.configurableField.ConfigurableField.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.
Reimplemented from lsst.pex.config.config.Field.