LSST Applications 28.0.2,g0fba68d861+5b923b673a,g1fd858c14a+7a7b9dd5ed,g2c84ff76c0+5548bfee71,g30358e5240+f0e04ebe90,g35bb328faa+fcb1d3bbc8,g436fd98eb5+bdc6fcdd04,g4af146b050+742274f7cd,g4d2262a081+3efd3f8190,g4e0f332c67+cb09b8a5b6,g53246c7159+fcb1d3bbc8,g5a012ec0e7+477f9c599b,g5edb6fd927+826dfcb47f,g60b5630c4e+bdc6fcdd04,g67b6fd64d1+2218407a0c,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g87b7deb4dc+f9ac2ab1bd,g8852436030+ebf28f0d95,g89139ef638+2218407a0c,g9125e01d80+fcb1d3bbc8,g989de1cb63+2218407a0c,g9f33ca652e+42fb53f4c8,g9f7030ddb1+11b9b6f027,ga2b97cdc51+bdc6fcdd04,gab72ac2889+bdc6fcdd04,gabe3b4be73+1e0a283bba,gabf8522325+3210f02652,gb1101e3267+9c79701da9,gb58c049af0+f03b321e39,gb89ab40317+2218407a0c,gcf25f946ba+ebf28f0d95,gd6cbbdb0b4+e8f9c9c900,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+a08f294619,ge278dab8ac+3ef3db156b,ge410e46f29+2218407a0c,gf67bdafdda+2218407a0c
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, doc, keytype=None, itemtype=None, default=None, optional=False, dictCheck=None, keyCheck=None, itemCheck=None, deprecated=None) | |
validate (self, instance) | |
None | __set__ (self, Config instance, Mapping[KeyTypeVar, ItemTypeVar]|None value, Any at=None, str label="assignment") |
toDict (self, instance) | |
__class_getitem__ (cls, tuple[type,...]|type|ForwardRef params) | |
rename (self, instance) | |
freeze (self, instance) | |
save (self, outfile, instance) | |
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 | |
_compare (self, instance1, instance2, shortcut, rtol, atol, output) | |
_setup (self, doc, dtype, default, check, optional, source, deprecated) | |
_validateValue (self, value) | |
_collectImports (self, instance, imports) | |
Config | _config (self) |
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 maps keys and values. The types of both items and keys are restricted to these builtin types: `int`, `float`, `complex`, `bool`, and `str`). All keys share the same type and all values share the same type. Keys can have a different type from values. Parameters ---------- doc : `str` A documentation string that describes the configuration field. keytype : {`int`, `float`, `complex`, `bool`, `str`}, optional The type of the mapping keys. All keys must have this type. Optional if keytype and itemtype are supplied as typing arguments to the class. itemtype : {`int`, `float`, `complex`, `bool`, `str`}, optional Type of the mapping values. Optional if keytype and itemtype are supplied as typing arguments to the class. default : `dict`, optional The default mapping. optional : `bool`, optional If `True`, the field doesn't need to have a set value. dictCheck : callable A function that validates the dictionary as a whole. keyCheck : callable A function that validates individual mapping keys. itemCheck : callable A function that validates individual mapping values. 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 ConfigurableField Field ListField RangeField RegistryField Examples -------- This field maps has `str` keys and `int` values: >>> from lsst.pex.config import Config, DictField >>> class MyConfig(Config): ... field = DictField( ... doc="Example string-to-int mapping field.", ... keytype=str, ... itemtype=int, ... default={}, ... ) >>> config = MyConfig() >>> config.field["myKey"] = 42 >>> print(config.field) {'myKey': 42}
Definition at line 197 of file dictField.py.
lsst.pex.config.dictField.DictField.__init__ | ( | self, | |
doc, | |||
keytype = None, | |||
itemtype = None, | |||
default = None, | |||
optional = False, | |||
dictCheck = None, | |||
keyCheck = None, | |||
itemCheck = None, | |||
deprecated = None ) |
Definition at line 292 of file dictField.py.
|
inherited |
|
inherited |
Definition at line 112 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 800 of file config.py.
|
inherited |
Definition at line 159 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 713 of file config.py.
|
inherited |
|
inherited |
Definition at line 103 of file dictField.py.
|
inherited |
Definition at line 109 of file dictField.py.
|
inherited |
Definition at line 106 of file dictField.py.
|
inherited |
Definition at line 189 of file dictField.py.
|
inherited |
Definition at line 171 of file dictField.py.
None lsst.pex.config.dictField.DictField.__set__ | ( | self, | |
Config | instance, | ||
Mapping[KeyTypeVar, ItemTypeVar] | None | value, | ||
Any | at = None, | ||
str | label = "assignment" ) |
Definition at line 367 of file dictField.py.
|
inherited |
Definition at line 177 of file dictField.py.
|
inherited |
Definition at line 115 of file dictField.py.
|
inherited |
Definition at line 174 of file dictField.py.
|
protectedinherited |
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 in lsst.pex.config.configChoiceField.ConfigChoiceField, lsst.pex.config.configDictField.ConfigDictField, lsst.pex.config.configField.ConfigField, lsst.pex.config.configurableActions._configurableActionStructField.ConfigurableActionStructField, and lsst.pex.config.configurableField.ConfigurableField.
Definition at line 626 of file config.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.config.Field.
Reimplemented in lsst.pex.config.configDictField.ConfigDictField.
Definition at line 406 of file dictField.py.
|
protectedinherited |
Definition at line 92 of file dictField.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 263 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.
|
inherited |
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 in lsst.pex.config.configChoiceField.ConfigChoiceField, lsst.pex.config.configDictField.ConfigDictField, lsst.pex.config.configField.ConfigField, lsst.pex.config.configurableActions._configurableActionStructField.ConfigurableActionStructField, and lsst.pex.config.configurableField.ConfigurableField.
Definition at line 581 of file config.py.
|
inherited |
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 in lsst.pex.config.configChoiceField.ConfigChoiceField, lsst.pex.config.configDictField.ConfigDictField, lsst.pex.config.configField.ConfigField, lsst.pex.config.configurableActions._configurableActionStructField.ConfigurableActionStructField, and lsst.pex.config.configurableField.ConfigurableField.
Definition at line 531 of file config.py.
|
inherited |
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 in lsst.pex.config.configChoiceField.ConfigChoiceField, lsst.pex.config.configDictField.ConfigDictField, lsst.pex.config.configField.ConfigField, lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField, lsst.pex.config.configurableActions._configurableActionStructField.ConfigurableActionStructField, and lsst.pex.config.configurableField.ConfigurableField.
Definition at line 640 of file config.py.
lsst.pex.config.dictField.DictField.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.config.Field.
Reimplemented in lsst.pex.config.configDictField.ConfigDictField.
Definition at line 388 of file dictField.py.
lsst.pex.config.dictField.DictField.validate | ( | self, | |
instance ) |
Validate the field's value (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The configuration that contains this field. Raises ------ lsst.pex.config.FieldValidationError Raised if validation fails for this field (see *Notes*). Notes ----- This method validates values according to the following criteria: - A non-optional field is not `None`. - If a value is not `None`, it must pass the `ConfigField.dictCheck` user callback function. Individual key and item checks by the ``keyCheck`` and ``itemCheck`` user callback functions are done immediately when the value is set on a key. Those checks are not repeated by this method.
Reimplemented from lsst.pex.config.config.Field.
Reimplemented in lsst.pex.config.configDictField.ConfigDictField.
Definition at line 336 of file dictField.py.
|
protectedinherited |
Definition at line 87 of file dictField.py.
|
protectedinherited |
Definition at line 76 of file dictField.py.
|
protectedinherited |
Definition at line 77 of file dictField.py.
|
protectedinherited |
Definition at line 75 of file dictField.py.
|
protectedinherited |
Definition at line 78 of file dictField.py.
|
inherited |
lsst.pex.config.dictField.DictField.dictCheck = dictCheck |
Definition at line 332 of file dictField.py.
|
static |
Definition at line 260 of file dictField.py.
lsst.pex.config.dictField.DictField.itemCheck = itemCheck |
Definition at line 334 of file dictField.py.
lsst.pex.config.dictField.DictField.itemtype = itemtype |
Definition at line 331 of file dictField.py.
lsst.pex.config.dictField.DictField.keyCheck = keyCheck |
Definition at line 333 of file dictField.py.
lsst.pex.config.dictField.DictField.keytype = keytype |
Definition at line 330 of file dictField.py.
|
inherited |
|
staticinherited |
|
staticinherited |
Definition at line 99 of file dictField.py.