|
LSSTApplications
19.0.0-14-gb0260a2+2d714fc2ef,20.0.0+34a42eae2c,20.0.0+76f397ef0c,20.0.0+8558dd3f48,20.0.0+a6b6977b51,20.0.0+b2ea66fa67,20.0.0+cc669a8b45,20.0.0+d561663fb5,20.0.0+d778e99126,20.0.0+efe67588cf,20.0.0+f45b7d88f4,20.0.0+f7c597f720,20.0.0+fb43bee9b9,20.0.0+fb4d547e0d,20.0.0-1-g10df615+d8b88ec1b5,20.0.0-1-g253301a+a6b6977b51,20.0.0-1-g498fb60+ff88705a28,20.0.0-1-g4d801e7+ce0d01dabd,20.0.0-1-g5b95a8c+24eaf908b3,20.0.0-1-g8a53f90+2817c06967,20.0.0-1-gc96f8cb+fb4d547e0d,20.0.0-1-gd1c87d7+2817c06967,20.0.0-1-gdb27ee5+abab67204f,20.0.0-13-ge998c5c+9f8c516ffa,20.0.0-18-g08fba245+88079d2923,20.0.0-2-gec03fae+fb98bf9d97,20.0.0-3-gdd5c15c+a61313b210,20.0.0-34-gdb4d86a+b43b2c05ff,20.0.0-4-g4a2362f+f45b7d88f4,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-gac0d578b1+a8c4e2ada3,20.0.0-5-gfcebe35+cfceff6a24,20.0.0-6-g01203fff+e332440eaf,20.0.0-8-gea2affd+48c001ce3c,20.0.0-9-gabd0d4c+abab67204f,20.0.0-9-gf3ab18e+fb4d547e0d,w.2020.33
LSSTDataManagementBasePackage
|
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)) | |
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 170 of file configurableField.py.
| def pex.config.configurableField.ConfigurableField.__init__ | ( | self, | |
| doc, | |||
| target, | |||
ConfigClass = None, |
|||
default = None, |
|||
check = None, |
|||
deprecated = None |
|||
| ) |
| def 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 354 of file configurableField.py.
|
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 573 of file config.py.
| def pex.config.configurableField.ConfigurableField.__get__ | ( | self, | |
| instance, | |||
owner = None, |
|||
at = None, |
|||
label = "default" |
|||
| ) |
Define how attribute access should occur on the Config instance This is invoked by the owning config object and should not be called directly When the field attribute is accessed on a Config class object, it returns the field object itself in order to allow inspection of Config classes. When the field attribute is access on a config instance, the actual value described by the field (and held by the Config instance) is returned.
Reimplemented from pex.config.config.Field.
Definition at line 285 of file configurableField.py.
| def 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 pex.config.config.Field.
Definition at line 291 of file configurableField.py.
| def pex.config.configurableField.ConfigurableField.freeze | ( | self, | |
| instance | |||
| ) |
Make this field read-only (for internal use 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.**
Reimplemented from pex.config.config.Field.
Definition at line 338 of file configurableField.py.
| def pex.config.configurableField.ConfigurableField.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`.
Reimplemented from pex.config.config.Field.
Definition at line 311 of file configurableField.py.
| def pex.config.configurableField.ConfigurableField.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.
Reimplemented from pex.config.config.Field.
Definition at line 323 of file configurableField.py.
| def 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 pex.config.config.Field.
Definition at line 342 of file configurableField.py.
| def pex.config.configurableField.ConfigurableField.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`.
Reimplemented from pex.config.config.Field.
Definition at line 346 of file configurableField.py.
| def 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 219 of file configurableField.py.
| pex.config.configurableField.ConfigurableField.ConfigClass |
Definition at line 274 of file configurableField.py.
|
staticinherited |
| pex.config.configurableField.ConfigurableField.target |
Definition at line 273 of file configurableField.py.
1.8.18