|
LSST Applications g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+5d3c95268f,g262e1987ae+129725fbd9,g29ae962dfc+34be89a2fc,g2cef7863aa+73c82f25e4,g3541666cd7+00c381f533,g35bb328faa+edbf708997,g3fd5ace14f+0f9585b40d,g47891489e3+19fcc35de2,g53246c7159+edbf708997,g5b326b94bb+74795fc0b3,g5e032395f3+2a361f5c28,g64539dfbff+33d965bf6c,g67b6fd64d1+19fcc35de2,g74acd417e5+6e038728f1,g786e29fd12+af89c03590,g7aefaa3e3d+a53f4933b3,g87389fa792+a4172ec7da,g88cb488625+cdc2ed4845,g89139ef638+19fcc35de2,g8d7436a09f+1c65fffe91,g8ea07a8fe4+79658f16ab,g90f42f885a+6577634e1f,g9722cb1a7f+d8f85438e7,g98df359435+0f66fdfca5,ga2180abaac+edbf708997,ga9e74d7ce9+128cc68277,gbf99507273+edbf708997,gc2a301910b+33d965bf6c,gca7fc764a6+19fcc35de2,gd7ef33dd92+19fcc35de2,gdab6d2f7ff+6e038728f1,gdbb4c4dda9+33d965bf6c,ge410e46f29+19fcc35de2,ge41e95a9f2+33d965bf6c,ge8e7e3f09d+a09b026073,geaed405ab2+062dfc8cdc,w.2025.45
LSST Data Management Base Package
|
Public Member Functions | |
| validateTarget (self, target, ConfigClass) | |
| __init__ (self, doc, target, ConfigClass=None, default=None, check=None, deprecated=None) | |
| ConfigurableField | __get__ (self, None instance, Any owner=None, Any at=None, str label="default") |
| ConfigurableInstance[FieldTypeVar] | __get__ (self, Config instance, Any owner=None, Any at=None, str label="default") |
| __get__ (self, instance, owner=None, at=None, label="default") | |
| __set__ (self, instance, value, at=None, label="assignment") | |
| rename (self, instance) | |
| save (self, outfile, instance) | |
| freeze (self, instance) | |
| toDict (self, instance) | |
| validate (self, instance) | |
| __deepcopy__ (self, memo) | |
| __class_getitem__ (cls, tuple[type,...]|type|ForwardRef params) | |
| __delete__ (self, instance, at=None, label="deletion") | |
| apply (self, *args, **kw) | |
| retarget (self, target, ConfigClass=None, at=None, label="retarget") | |
| __getattr__ (self, name) | |
| __setattr__ (self, name, value, at=None, label="assignment") | |
| __delattr__ (self, name, at=None, label="delete") | |
| __reduce__ (self) | |
Public Attributes | |
| dtype = dtype | |
| doc = doc | |
| deprecated = deprecated | |
| default = default | |
| check = check | |
| optional = optional | |
| source = source | |
Static Public Attributes | |
| dict | supportedTypes = {str, bool, float, int, complex} |
Protected Member Functions | |
| _collectImports (self, instance, imports) | |
| ConfigurableInstance|None | _copy_storage (self, Config old, Config new) |
| _compare (self, instance1, instance2, shortcut, rtol, atol, output) | |
| _setup (self, doc, dtype, default, check, optional, source, deprecated) | |
| _validateValue (self, value) | |
| Config | _config (self) |
| ConfigurableInstance | _copy (self, Config parent) |
Static Protected Member Functions | |
| Mapping[str, Any] | _parseTypingArgs (tuple[type,...]|tuple[str,...] params, Mapping[str, Any] kwds) |
Protected Attributes | |
| _field = self._field.validateTarget(target, ConfigClass) | |
| _target | |
| _ConfigClass | |
| _config | |
| _value | |
Properties | |
| target = property(lambda x: x._target) | |
| ConfigClass = property(lambda x: x._ConfigClass) | |
| value = property(lambda x: x._value) | |
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 238 of file configurableField.py.
| lsst.pex.config.configurableField.ConfigurableField.__init__ | ( | self, | |
| doc, | |||
| target, | |||
| ConfigClass = None, | |||
| default = None, | |||
| check = None, | |||
| deprecated = None ) |
Definition at line 332 of file configurableField.py.
|
inherited |
| 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 458 of file configurableField.py.
|
inherited |
Pretend to be an isntance of ConfigClass. Attributes defiend by ConfigurableInstance will shadow those defined in ConfigClass.
Definition at line 212 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 808 of file config.py.
| ConfigurableInstance[FieldTypeVar] lsst.pex.config.configurableField.ConfigurableField.__get__ | ( | self, | |
| Config | instance, | ||
| Any | owner = None, | ||
| Any | at = None, | ||
| str | label = "default" ) |
Definition at line 376 of file configurableField.py.
| lsst.pex.config.configurableField.ConfigurableField.__get__ | ( | self, | |
| instance, | |||
| owner = None, | |||
| at = None, | |||
| label = "default" ) |
Definition at line 380 of file configurableField.py.
| ConfigurableField lsst.pex.config.configurableField.ConfigurableField.__get__ | ( | self, | |
| None | instance, | ||
| Any | owner = None, | ||
| Any | at = None, | ||
| str | label = "default" ) |
Definition at line 371 of file configurableField.py.
|
inherited |
Definition at line 192 of file configurableField.py.
|
inherited |
Definition at line 229 of file configurableField.py.
| lsst.pex.config.configurableField.ConfigurableField.__set__ | ( | self, | |
| instance, | |||
| value, | |||
| at = None, | |||
| label = "assignment" ) |
Definition at line 386 of file configurableField.py.
|
inherited |
Pretend to be an instance of ConfigClass. Attributes defined by ConfigurableInstance will shadow those defined in ConfigClass
Definition at line 195 of file configurableField.py.
|
protected |
Call the _collectImports method on all config
objects the field may own, and union them with the supplied imports
set.
Parameters
----------
instance : instance or subclass of `lsst.pex.config.Config`
A config object that has this field defined on it
imports : `set`
Set of python modules that need imported after persistence
Reimplemented from lsst.pex.config.config.Field.
Definition at line 413 of file configurableField.py.
|
protected |
Compare two fields for equality.
Used by `lsst.pex.ConfigDictField.compare`.
Parameters
----------
instance1 : `lsst.pex.config.Config`
Left-hand side config instance to compare.
instance2 : `lsst.pex.config.Config`
Right-hand side config instance to compare.
shortcut : `bool`
If `True`, this function returns as soon as an inequality if found.
rtol : `float`
Relative tolerance for floating point comparisons.
atol : `float`
Absolute tolerance for floating point comparisons.
output : callable
A callable that takes a string, used (possibly repeatedly) to
report inequalities. For example: `print`.
Returns
-------
isEqual : bool
`True` if the fields are equal, `False` otherwise.
Notes
-----
Floating point comparisons are performed by `numpy.allclose`.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 472 of file configurableField.py.
|
protectedinherited |
Definition at line 121 of file configurableField.py.
|
protectedinherited |
Definition at line 110 of file configurableField.py.
|
protected |
Copy the storage for this field in the given field into an object suitable for storage in a new copy of that config. Any frozen storage should be unfrozen.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 443 of file configurableField.py.
|
staticprotected |
Parse type annotations into keyword constructor arguments.
This is a special private method that interprets type arguments (i.e.
Field[str]) into keyword arguments to be passed on to the constructor.
Subclasses of Field can implement this method to customize how they
handle turning type parameters into keyword arguments (see DictField
for an example)
Parameters
----------
params : `tuple` of `type` or `tuple` of str
Parameters passed to the type annotation. These will either be
types or strings. Strings are to interpreted as forward references
and will be treated as such.
kwds : `MutableMapping` with keys of `str` and values of `Any`
These are the user supplied keywords that are to be passed to the
Field constructor.
Returns
-------
kwds : `MutableMapping` with keys of `str` and values of `Any`
The mapping of keywords that will be passed onto the constructor
of the Field. Should be filled in with any information gleaned
from the input parameters.
Raises
------
ValueError
Raised if params is of incorrect length.
Raised if a forward reference could not be resolved
Raised if there is a conflict between params and values in kwds
Reimplemented from lsst.pex.config.config.Field.
Definition at line 356 of file configurableField.py.
|
protectedinherited |
Set attributes, usually during initialization.
Definition at line 486 of file config.py.
|
protectedinherited |
Validate a value.
Parameters
----------
value : object
The value being validated.
Raises
------
TypeError
Raised if the value's type is incompatible with the field's
``dtype``.
ValueError
Raised if the value is rejected by the ``check`` method.
Reimplemented in lsst.pex.config.choiceField.ChoiceField, and lsst.pex.config.rangeField.RangeField.
Definition at line 598 of file config.py.
|
inherited |
Call the configurable.
Parameters
----------
*args : `~typing.Any`
Arguments to use when calling the configurable.
**kw : `~typing.Any`
Keyword parameters to use when calling.
Notes
-----
In addition to the user-provided positional and keyword arguments,
the configurable is also provided a keyword argument ``config`` with
the value of `ConfigurableInstance.value`.
Definition at line 140 of file configurableField.py.
| lsst.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 lsst.pex.config.config.Field.
Definition at line 435 of file configurableField.py.
| lsst.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.Field`\s that hold subconfigs should
rename each subconfig with the full field name as generated by
`lsst.pex.config.config._joinNamePath`.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 408 of file configurableField.py.
|
inherited |
Target a new configurable and ConfigClass.
Parameters
----------
target : `type`
Item to retarget.
ConfigClass : `type` or `None`, optional
New config class to use.
at : `list` of `~lsst.pex.config.callStack.StackFrame` or `None`,\
optional
Stack for history recording.
label : `str`, optional
Label for history recording.
Definition at line 158 of file configurableField.py.
| lsst.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 : `~lsst.pex.config.Config`
The `~lsst.pex.config.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 lsst.pex.config.config.Field.
Definition at line 420 of file configurableField.py.
| 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 : `~lsst.pex.config.Config`
The `~lsst.pex.config.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.
Definition at line 439 of file configurableField.py.
| lsst.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.validate` if they re-implement
`~lsst.pex.config.Field.validate`.
Reimplemented from lsst.pex.config.config.Field.
Definition at line 450 of file configurableField.py.
| lsst.pex.config.configurableField.ConfigurableField.validateTarget | ( | self, | |
| target, | |||
| ConfigClass ) |
Validate the target and configuration class.
Parameters
----------
target : configurable class
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 287 of file configurableField.py.
|
protectedinherited |
Definition at line 174 of file configurableField.py.
|
protectedinherited |
Definition at line 116 of file configurableField.py.
|
protectedinherited |
Definition at line 113 of file configurableField.py.
|
protectedinherited |
Definition at line 115 of file configurableField.py.
|
protectedinherited |
Definition at line 193 of file configurableField.py.
|
inherited |
|
inherited |
|
staticinherited |
|
staticinherited |
Definition at line 131 of file configurableField.py.
|
staticinherited |
Definition at line 127 of file configurableField.py.
|
staticinherited |
Definition at line 135 of file configurableField.py.