lsst.pex.config  18.1.0-1-gc037db8+3
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pex.config.configurableField.ConfigurableField Class Reference
Inheritance diagram for lsst.pex.config.configurableField.ConfigurableField:
lsst.pex.config.config.Field

Public Member Functions

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 __delete__ (self, instance, at=None, label='deletion')
 

Public Attributes

 target
 
 ConfigClass
 
 dtype
 
 doc
 
 deprecated
 
 default
 
 check
 
 optional
 
 source
 

Static Public Attributes

 supportedTypes = set((str, bool, float, int, complex))
 

Detailed Description

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.

Definition at line 162 of file configurableField.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pex.config.configurableField.ConfigurableField.__init__ (   self,
  doc,
  target,
  ConfigClass = None,
  default = None,
  check = None,
  deprecated = None 
)

Definition at line 253 of file configurableField.py.

Member Function Documentation

◆ __deepcopy__()

def lsst.pex.config.configurableField.ConfigurableField.__deepcopy__ (   self,
  memo 
)
Customize deep-copying, because we always want a reference to the
original typemap.

WARNING: this must be overridden by subclasses if they change the
constructor signature!

Definition at line 346 of file configurableField.py.

◆ __delete__()

def lsst.pex.config.config.Field.__delete__ (   self,
  instance,
  at = None,
  label = 'deletion' 
)
inherited
Delete an attribute from a `lsst.pex.config.Config` instance.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains 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 is invoked by the owning `~lsst.pex.config.Config` object and
should not be called directly.

Definition at line 563 of file config.py.

◆ __get__()

def lsst.pex.config.configurableField.ConfigurableField.__get__ (   self,
  instance,
  owner = None,
  at = None,
  label = "default" 
)

Definition at line 277 of file configurableField.py.

◆ __set__()

def lsst.pex.config.configurableField.ConfigurableField.__set__ (   self,
  instance,
  value,
  at = None,
  label = "assignment" 
)

Definition at line 283 of file configurableField.py.

◆ freeze()

def lsst.pex.config.configurableField.ConfigurableField.freeze (   self,
  instance 
)

Definition at line 330 of file configurableField.py.

◆ rename()

def lsst.pex.config.configurableField.ConfigurableField.rename (   self,
  instance 
)

Definition at line 303 of file configurableField.py.

◆ save()

def lsst.pex.config.configurableField.ConfigurableField.save (   self,
  outfile,
  instance 
)

Definition at line 315 of file configurableField.py.

◆ toDict()

def lsst.pex.config.configurableField.ConfigurableField.toDict (   self,
  instance 
)

Definition at line 334 of file configurableField.py.

◆ validate()

def lsst.pex.config.configurableField.ConfigurableField.validate (   self,
  instance 
)

Definition at line 338 of file configurableField.py.

◆ validateTarget()

def lsst.pex.config.configurableField.ConfigurableField.validateTarget (   self,
  target,
  ConfigClass 
)
Validate the target and configuration class.

Parameters
----------
target
    The configurable being verified.
ConfigClass : `lsst.pex.config.Config`-type or `None`
    The configuration class associated with the ``target``. This can
    be `None` if ``target`` has a ``ConfigClass`` attribute.

Raises
------
AttributeError
    Raised if ``ConfigClass`` is `None` and ``target`` does not have a
    ``ConfigClass`` attribute.
TypeError
    Raised if ``ConfigClass`` is not a `~lsst.pex.config.Config`
    subclass.
ValueError
    Raised if:

    - ``target`` is not callable (callables have a ``__call__``
      method).
    - ``target`` is not startically defined (does not have
      ``__module__`` or ``__name__`` attributes).

Definition at line 211 of file configurableField.py.

Member Data Documentation

◆ check

lsst.pex.config.config.Field.check
inherited

Definition at line 305 of file config.py.

◆ ConfigClass

lsst.pex.config.configurableField.ConfigurableField.ConfigClass

Definition at line 266 of file configurableField.py.

◆ default

lsst.pex.config.config.Field.default
inherited

Definition at line 301 of file config.py.

◆ deprecated

lsst.pex.config.config.Field.deprecated
inherited

Definition at line 292 of file config.py.

◆ doc

lsst.pex.config.config.Field.doc
inherited

Definition at line 288 of file config.py.

◆ dtype

lsst.pex.config.config.Field.dtype
inherited

Definition at line 281 of file config.py.

◆ optional

lsst.pex.config.config.Field.optional
inherited

Definition at line 309 of file config.py.

◆ source

lsst.pex.config.config.Field.source
inherited

Definition at line 316 of file config.py.

◆ supportedTypes

lsst.pex.config.config.Field.supportedTypes = set((str, bool, float, int, complex))
staticinherited

Definition at line 266 of file config.py.

◆ target

lsst.pex.config.configurableField.ConfigurableField.target

Definition at line 265 of file configurableField.py.


The documentation for this class was generated from the following file: