|
LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
|
Public Member Functions | |
| __init__ (self, doc, keytype, itemtype, default=None, optional=False, dictCheck=None, keyCheck=None, itemCheck=None, deprecated=None) | |
| rename (self, instance) | |
| validate (self, instance) | |
| toDict (self, instance) | |
| save (self, outfile, instance) | |
| freeze (self, instance) | |
| None | __set__ (self, Config instance, Mapping[KeyTypeVar, ItemTypeVar]|None value, Any at=None, str label="assignment") |
| __class_getitem__ (cls, tuple[type,...]|type|ForwardRef params) | |
| Field[FieldTypeVar] | __get__ (self, None instance, Any owner=None, Any at=None, str label="default") |
| FieldTypeVar | __get__ (self, Config instance, Any owner=None, Any at=None, str label="default") |
| __get__ (self, instance, owner=None, at=None, label="default") | |
| __delete__ (self, instance, at=None, label="deletion") | |
| ItemTypeVar | __getitem__ (self, KeyTypeVar k) |
| int | __len__ (self) |
| Iterator[KeyTypeVar] | __iter__ (self) |
| bool | __contains__ (self, Any k) |
| None | __setitem__ (self, KeyTypeVar k, ItemTypeVar x, Any at=None, str label="setitem", bool setHistory=True) |
| None | __delitem__ (self, KeyTypeVar k, Any at=None, str label="delitem", bool setHistory=True) |
| __repr__ (self) | |
| __str__ (self) | |
| __setattr__ (self, attr, value, at=None, label="assignment") | |
| __reduce__ (self) | |
Public Attributes | |
| keytype = keytype | |
| itemtype = itemtype | |
| dictCheck = dictCheck | |
| keyCheck = keyCheck | |
| itemCheck = itemCheck | |
| dtype = dtype | |
| doc = doc | |
| deprecated = deprecated | |
| default = default | |
| check = check | |
| optional = optional | |
| source = source | |
Static Public Attributes | |
| type | DictClass = Dict |
| dict | supportedTypes = {str, bool, float, int, complex} |
Protected Member Functions | |
| _collectImports (self, instance, imports) | |
| _compare (self, instance1, instance2, shortcut, rtol, atol, output) | |
| Dict[KeyTypeVar, ItemTypeVar]|None | _copy_storage (self, Config old, Config new) |
| _setup (self, doc, dtype, default, check, optional, source, deprecated) | |
| _validateValue (self, value) | |
| Config | _config (self) |
| Dict | _copy (self, Config config) |
Static Protected Member Functions | |
| Mapping[str, Any] | _parseTypingArgs (tuple[type,...]|tuple[str,...] params, Mapping[str, Any] kwds) |
Protected Attributes | |
| _field = field | |
| _config_ = weakref.ref(config) | |
| dict | _dict = {} |
| Config | _history = self._config._history.setdefault(self._field.name, []) |
| _config | |
Properties | |
| history = property(lambda x: x._history) | |
A configuration field (`~lsst.pex.config.Field` subclass) that is a
mapping of keys to `~lsst.pex.config.Config` instances.
``ConfigDictField`` behaves like `DictField` except that the
``itemtype`` must be a `~lsst.pex.config.Config` subclass.
Parameters
----------
doc : `str`
A description of the configuration field.
keytype : {`int`, `float`, `complex`, `bool`, `str`}
The type of the mapping keys. All keys must have this type.
itemtype : `lsst.pex.config.Config`-type
The type of the values in the mapping. This must be
`~lsst.pex.config.Config` or a subclass.
default : optional
Unknown.
default : ``itemtype``-dtype, optional
Default value of this field.
optional : `bool`, optional
If `True`, this configuration `~lsst.pex.config.Field` is *optional*.
Default is `True`.
dictCheck : `~collections.abc.Callable` or `None`, optional
Callable to check a dict.
keyCheck : `~collections.abc.Callable` or `None`, optional
Callable to check a key.
itemCheck : `~collections.abc.Callable` or `None`, optional
Callable to check an item.
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.
Raises
------
ValueError
Raised if the inputs are invalid:
- ``keytype`` or ``itemtype`` arguments are not supported types
(members of `ConfigDictField.supportedTypes`.
- ``dictCheck``, ``keyCheck`` or ``itemCheck`` is not a callable
function.
See Also
--------
ChoiceField
ConfigChoiceField
ConfigField
ConfigurableField
DictField
Field
ListField
RangeField
RegistryField
Notes
-----
You can use ``ConfigDictField`` to create name-to-config mappings. One use
case is for configuring mappings for dataset types in a Butler. In this
case, the dataset type names are arbitrary and user-selected while the
mapping configurations are known and fixed.
Definition at line 135 of file configDictField.py.
| lsst.pex.config.configDictField.ConfigDictField.__init__ | ( | self, | |
| doc, | |||
| keytype, | |||
| itemtype, | |||
| default = None, | |||
| optional = False, | |||
| dictCheck = None, | |||
| keyCheck = None, | |||
| itemCheck = None, | |||
| deprecated = None ) |
Definition at line 200 of file configDictField.py.
|
inherited |
|
inherited |
Definition at line 124 of file dictField.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.
|
inherited |
Definition at line 171 of file dictField.py.
|
inherited |
|
inherited |
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.
Definition at line 721 of file config.py.
|
inherited |
|
inherited |
Definition at line 115 of file dictField.py.
|
inherited |
Definition at line 121 of file dictField.py.
|
inherited |
Definition at line 118 of file dictField.py.
|
inherited |
Definition at line 201 of file dictField.py.
|
inherited |
Definition at line 183 of file dictField.py.
|
inherited |
Definition at line 379 of file dictField.py.
|
inherited |
Definition at line 189 of file dictField.py.
|
inherited |
Definition at line 127 of file dictField.py.
|
inherited |
Definition at line 186 of file dictField.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 286 of file configDictField.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.
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.dictField.DictField.
Definition at line 312 of file configDictField.py.
|
protectedinherited |
Definition at line 101 of file dictField.py.
Reimplemented in lsst.pex.config.configDictField.ConfigDict.
Definition at line 112 of file dictField.py.
|
protectedinherited |
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 418 of file dictField.py.
|
staticprotectedinherited |
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 275 of file dictField.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.
| lsst.pex.config.configDictField.ConfigDictField.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 306 of file configDictField.py.
| lsst.pex.config.configDictField.ConfigDictField.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 240 of file configDictField.py.
| lsst.pex.config.configDictField.ConfigDictField.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 294 of file configDictField.py.
| lsst.pex.config.configDictField.ConfigDictField.toDict | ( | self, | |
| instance ) |
Convert this field's key-value pairs into a regular `dict`.
Parameters
----------
instance : `lsst.pex.config.Config`
The configuration that contains this field.
Returns
-------
result : `dict` or `None`
If this field has a value of `None`, then this method returns
`None`. Otherwise, this method returns the field's value as a
regular Python `dict`.
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 275 of file configDictField.py.
| lsst.pex.config.configDictField.ConfigDictField.validate | ( | self, | |
| instance ) |
Validate the field.
Parameters
----------
instance : `lsst.pex.config.Config`
The config instance that contains this field.
Raises
------
lsst.pex.config.FieldValidationError
Raised if validation fails for this field.
Notes
-----
Individual key checks (``keyCheck``) are applied when each key is added
and are not re-checked by this method.
Reimplemented from lsst.pex.config.dictField.DictField.
Definition at line 247 of file configDictField.py.
|
protectedinherited |
Definition at line 96 of file dictField.py.
|
protectedinherited |
Definition at line 85 of file dictField.py.
|
protectedinherited |
Definition at line 86 of file dictField.py.
|
protectedinherited |
Definition at line 84 of file dictField.py.
|
protectedinherited |
Definition at line 87 of file dictField.py.
|
inherited |
|
inherited |
Definition at line 344 of file dictField.py.
|
staticinherited |
Definition at line 272 of file dictField.py.
|
inherited |
Definition at line 346 of file dictField.py.
|
inherited |
Definition at line 343 of file dictField.py.
|
inherited |
Definition at line 345 of file dictField.py.
|
inherited |
Definition at line 342 of file dictField.py.
|
inherited |
|
staticinherited |
|
staticinherited |
Definition at line 108 of file dictField.py.