LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
|
Public Member Functions | |
__iter__ (self) | |
keys (self) | |
values (self) | |
items (self) | |
__contains__ (self, name) | |
__new__ (cls, *args, **kw) | |
__reduce__ (self) | |
setDefaults (self) | |
update (self, **kw) | |
load (self, filename, root="config") | |
loadFromStream (self, stream, root="config", filename=None, extraLocals=None) | |
loadFromString (self, code, root="config", filename=None, extraLocals=None) | |
save (self, filename, root="config") | |
saveToString (self, skipImports=False) | |
saveToStream (self, outfile, root="config", skipImports=False) | |
freeze (self) | |
toDict (self) | |
names (self) | |
validate (self) | |
formatHistory (self, name, **kwargs) | |
__setattr__ (self, attr, value, at=None, label="assignment") | |
__delattr__ (self, attr, at=None, label="deletion") | |
__eq__ (self, other) | |
__ne__ (self, other) | |
__str__ (self) | |
__repr__ (self) | |
compare (self, other, shortcut=True, rtol=1e-8, atol=1e-8, output=None) | |
__init_subclass__ (cls, **kwargs) | |
Protected Member Functions | |
_save (self, outfile) | |
_collectImports (self) | |
_rename (self, name) | |
_fromPython (cls, config_py) | |
Protected Attributes | |
_imports | |
_frozen | |
_name | |
Static Protected Attributes | |
dict | _storage [str, Any] |
dict | _fields [str, Field] |
dict | _history [str, list[Any]] |
set | _imports [Any] |
Properties | |
history = property(lambda x: x._history) | |
Base class for configuration (*config*) objects. Notes ----- A ``Config`` object will usually have several `~lsst.pex.config.Field` instances as class attributes. These are used to define most of the base class behavior. ``Config`` implements a mapping API that provides many `dict`-like methods, such as `keys`, `values`, and `items`. ``Config`` instances also support the ``in`` operator to test if a field is in the config. Unlike a `dict`, ``Config`` classes are not subscriptable. Instead, access individual fields as attributes of the configuration instance. Examples -------- Config classes are subclasses of ``Config`` that have `~lsst.pex.config.Field` instances (or instances of `~lsst.pex.config.Field` subclasses) as class attributes: >>> from lsst.pex.config import Config, Field, ListField >>> class DemoConfig(Config): ... intField = Field(doc="An integer field", dtype=int, default=42) ... listField = ListField(doc="List of favorite beverages.", dtype=str, ... default=['coffee', 'green tea', 'water']) ... >>> config = DemoConfig() Configs support many `dict`-like APIs: >>> config.keys() ['intField', 'listField'] >>> 'intField' in config True Individual fields can be accessed as attributes of the configuration: >>> config.intField 42 >>> config.listField.append('earl grey tea') >>> print(config.listField) ['coffee', 'green tea', 'water', 'earl grey tea']
lsst.pex.config.config.Config.__contains__ | ( | self, | |
name ) |
Return `True` if the specified field exists in this config. Parameters ---------- name : `str` Field name to test for. Returns ------- in : `bool` `True` if the specified field exists in the config.
Reimplemented in lsst.pex.config.configChoiceField.ConfigInstanceDict.
Definition at line 1002 of file config.py.
lsst.pex.config.config.Config.__delattr__ | ( | self, | |
attr, | |||
at = None, | |||
label = "deletion" ) |
lsst.pex.config.config.Config.__eq__ | ( | self, | |
other ) |
Definition at line 1587 of file config.py.
lsst.pex.config.config.Config.__init_subclass__ | ( | cls, | |
** | kwargs ) |
Run initialization for every subclass. Specifically registers the subclass with a YAML representer and YAML constructor (if pyyaml is available)
Reimplemented in lsst.pipe.tasks.dataFrameActions._baseDataFrameActions.DataFrameAction.
Definition at line 1656 of file config.py.
lsst.pex.config.config.Config.__iter__ | ( | self | ) |
Iterate over fields.
Reimplemented in lsst.pex.config.configChoiceField.ConfigInstanceDict.
Definition at line 965 of file config.py.
lsst.pex.config.config.Config.__ne__ | ( | self, | |
other ) |
lsst.pex.config.config.Config.__new__ | ( | cls, | |
* | args, | ||
** | kw ) |
Allocate a new `lsst.pex.config.Config` object. In order to ensure that all Config object are always in a proper state when handed to users or to derived `~lsst.pex.config.Config` classes, some attributes are handled at allocation time rather than at initialization. This ensures that even if a derived `~lsst.pex.config.Config` class implements ``__init__``, its author does not need to be concerned about when or even the base ``Config.__init__`` should be called.
Reimplemented in lsst.meas.base.baseMeasurement.BaseMeasurementConfig.
Definition at line 1017 of file config.py.
lsst.pex.config.config.Config.__reduce__ | ( | self | ) |
Reduction for pickling (function with arguments to reproduce). We need to condense and reconstitute the `~lsst.pex.config.Config`, since it may contain lambdas (as the ``check`` elements) that cannot be pickled.
Reimplemented in lsst.pex.config.configChoiceField.ConfigInstanceDict.
Definition at line 1050 of file config.py.
lsst.pex.config.config.Config.__repr__ | ( | self | ) |
lsst.pex.config.config.Config.__setattr__ | ( | self, | |
attr, | |||
value, | |||
at = None, | |||
label = "assignment" ) |
Set an attribute (such as a field's value). Notes ----- Unlike normal Python objects, `~lsst.pex.config.Config` objects are locked such that no additional attributes nor properties may be added to them dynamically. Although this is not the standard Python behavior, it helps to protect users from accidentally mispelling a field name, or trying to set a non-existent field.
Reimplemented from lsst.pex.config.config.ConfigMeta.
Reimplemented in lsst.pex.config.registry.RegistryInstanceDict, lsst.pex.config.configChoiceField.ConfigInstanceDict, and lsst.pex.config.configurableActions._configurableAction.ConfigurableAction.
Definition at line 1544 of file config.py.
lsst.pex.config.config.Config.__str__ | ( | self | ) |
|
protected |
Add module containing self to the list of things to import and then loops over all the fields in the config calling a corresponding collect method. The field method will call _collectImports on any configs it may own and return the set of things to import. This returned set will be merged with the set of imports for this config class.
Reimplemented in lsst.pex.config.configChoiceField.ConfigChoiceField.
Definition at line 1400 of file config.py.
|
protected |
Instantiate a `Config`-subclass from serialized Python form. Parameters ---------- config_py : `str` A serialized form of the Config as created by `Config.saveToStream`. Returns ------- config : `Config` Reconstructed `Config` instant.
Definition at line 1670 of file config.py.
|
protected |
Rename this config object in its parent `~lsst.pex.config.Config`. Parameters ---------- name : `str` New name for this config in its parent `~lsst.pex.config.Config`. Notes ----- This method uses the `~lsst.pex.config.Field.rename` method of individual `lsst.pex.config.Field` instances. `lsst.pex.config.Field` subclasses may need to implement a ``rename`` method for *this* method to work. See Also -------- lsst.pex.config.Field.rename
Reimplemented in lsst.pex.config.configChoiceField.ConfigInstanceDict.
Definition at line 1468 of file config.py.
|
protected |
Save this config to an open stream object. Parameters ---------- outfile : file-like object Destination file object write the config into. Accepts strings not bytes.
Definition at line 1388 of file config.py.
lsst.pex.config.config.Config.compare | ( | self, | |
other, | |||
shortcut = True, | |||
rtol = 1e-8, | |||
atol = 1e-8, | |||
output = None ) |
Compare this configuration to another `~lsst.pex.config.Config` for equality. Parameters ---------- other : `lsst.pex.config.Config` Other `~lsst.pex.config.Config` object to compare against this config. shortcut : `bool`, optional If `True`, return as soon as an inequality is found. Default is `True`. rtol : `float`, optional Relative tolerance for floating point comparisons. atol : `float`, optional Absolute tolerance for floating point comparisons. output : callable, optional A callable that takes a string, used (possibly repeatedly) to report inequalities. Returns ------- isEqual : `bool` `True` when the two `lsst.pex.config.Config` instances are equal. `False` if there is an inequality. See Also -------- lsst.pex.config.compareConfigs Notes ----- Unselected targets of `~lsst.pex.config.RegistryField` fields and unselected choices of `~lsst.pex.config.ConfigChoiceField` fields are not considered by this method. Floating point comparisons are performed by `numpy.allclose`.
Definition at line 1612 of file config.py.
lsst.pex.config.config.Config.formatHistory | ( | self, | |
name, | |||
** | kwargs ) |
Format a configuration field's history to a human-readable format. Parameters ---------- name : `str` Name of a `~lsst.pex.config.Field` in this config. **kwargs Keyword arguments passed to `lsst.pex.config.history.format`. Returns ------- history : `str` A string containing the formatted history. See Also -------- lsst.pex.config.history.format
Definition at line 1517 of file config.py.
lsst.pex.config.config.Config.freeze | ( | self | ) |
Make this config, and all subconfigs, read-only.
Reimplemented in lsst.pex.config.configChoiceField.ConfigInstanceDict, and lsst.pex.config.configChoiceField.ConfigChoiceField.
Definition at line 1382 of file config.py.
lsst.pex.config.config.Config.items | ( | self | ) |
Get configurations as ``(field name, field value)`` pairs. Returns ------- items : `~collections.abc.ItemsView` Iterator of tuples for each configuration. Tuple items are: 0. Field name. 1. Field value.
Definition at line 989 of file config.py.
lsst.pex.config.config.Config.keys | ( | self | ) |
Get field names. Returns ------- names : `~collections.abc.KeysView` List of `lsst.pex.config.Field` names.
Definition at line 969 of file config.py.
lsst.pex.config.config.Config.load | ( | self, | |
filename, | |||
root = "config" ) |
Modify this config in place by executing the Python code in a configuration file. Parameters ---------- filename : `str` Name of the configuration file. A configuration file is Python module. root : `str`, optional Name of the variable in file that refers to the config being overridden. For example, the value of root is ``"config"`` and the file contains:: config.myField = 5 Then this config's field ``myField`` is set to ``5``. See Also -------- lsst.pex.config.Config.loadFromStream lsst.pex.config.Config.loadFromString lsst.pex.config.Config.save lsst.pex.config.Config.saveToStream lsst.pex.config.Config.saveToString
Definition at line 1136 of file config.py.
lsst.pex.config.config.Config.loadFromStream | ( | self, | |
stream, | |||
root = "config", | |||
filename = None, | |||
extraLocals = None ) |
Modify this Config in place by executing the Python code in the provided stream. Parameters ---------- stream : file-like object, `str`, `bytes`, or `~types.CodeType` Stream containing configuration override code. If this is a code object, it should be compiled with ``mode="exec"``. root : `str`, optional Name of the variable in file that refers to the config being overridden. For example, the value of root is ``"config"`` and the file contains:: config.myField = 5 Then this config's field ``myField`` is set to ``5``. filename : `str`, optional Name of the configuration file, or `None` if unknown or contained in the stream. Used for error reporting. extraLocals : `dict` of `str` to `object`, optional Any extra variables to include in local scope when loading. Notes ----- For backwards compatibility reasons, this method accepts strings, bytes and code objects as well as file-like objects. New code should use `loadFromString` instead for most of these types. See Also -------- lsst.pex.config.Config.load lsst.pex.config.Config.loadFromString lsst.pex.config.Config.save lsst.pex.config.Config.saveToStream lsst.pex.config.Config.saveToString
Definition at line 1168 of file config.py.
lsst.pex.config.config.Config.loadFromString | ( | self, | |
code, | |||
root = "config", | |||
filename = None, | |||
extraLocals = None ) |
Modify this Config in place by executing the Python code in the provided string. Parameters ---------- code : `str`, `bytes`, or `~types.CodeType` Stream containing configuration override code. root : `str`, optional Name of the variable in file that refers to the config being overridden. For example, the value of root is ``"config"`` and the file contains:: config.myField = 5 Then this config's field ``myField`` is set to ``5``. filename : `str`, optional Name of the configuration file, or `None` if unknown or contained in the stream. Used for error reporting. extraLocals : `dict` of `str` to `object`, optional Any extra variables to include in local scope when loading. Raises ------ ValueError Raised if a key in extraLocals is the same value as the value of the root argument. See Also -------- lsst.pex.config.Config.load lsst.pex.config.Config.loadFromStream lsst.pex.config.Config.save lsst.pex.config.Config.saveToStream lsst.pex.config.Config.saveToString
Definition at line 1215 of file config.py.
lsst.pex.config.config.Config.names | ( | self | ) |
Get all the field names in the config, recursively. Returns ------- names : `list` of `str` Field names.
Definition at line 1438 of file config.py.
lsst.pex.config.config.Config.save | ( | self, | |
filename, | |||
root = "config" ) |
Save a Python script to the named file, which, when loaded, reproduces this config. Parameters ---------- filename : `str` Desination filename of this configuration. root : `str`, optional Name to use for the root config variable. The same value must be used when loading (see `lsst.pex.config.Config.load`). See Also -------- lsst.pex.config.Config.saveToStream lsst.pex.config.Config.saveToString lsst.pex.config.Config.load lsst.pex.config.Config.loadFromStream lsst.pex.config.Config.loadFromString
Reimplemented in lsst.pex.config.configChoiceField.ConfigChoiceField.
Definition at line 1271 of file config.py.
lsst.pex.config.config.Config.saveToStream | ( | self, | |
outfile, | |||
root = "config", | |||
skipImports = False ) |
Save a configuration file to a stream, which, when loaded, reproduces this config. Parameters ---------- outfile : file-like object Destination file object write the config into. Accepts strings not bytes. root : `str`, optional Name to use for the root config variable. The same value must be used when loading (see `lsst.pex.config.Config.load`). skipImports : `bool`, optional If `True` then do not include ``import`` statements in output, this is to support human-oriented output from ``pipetask`` where additional clutter is not useful. See Also -------- lsst.pex.config.Config.save lsst.pex.config.Config.saveToString lsst.pex.config.Config.load lsst.pex.config.Config.loadFromStream lsst.pex.config.Config.loadFromString
Definition at line 1333 of file config.py.
lsst.pex.config.config.Config.saveToString | ( | self, | |
skipImports = False ) |
Return the Python script form of this configuration as an executable string. Parameters ---------- skipImports : `bool`, optional If `True` then do not include ``import`` statements in output, this is to support human-oriented output from ``pipetask`` where additional clutter is not useful. Returns ------- code : `str` A code string readable by `loadFromString`. See Also -------- lsst.pex.config.Config.save lsst.pex.config.Config.saveToStream lsst.pex.config.Config.load lsst.pex.config.Config.loadFromStream lsst.pex.config.Config.loadFromString
Definition at line 1305 of file config.py.
lsst.pex.config.config.Config.setDefaults | ( | self | ) |
Subclass hook for computing defaults. Notes ----- Derived `~lsst.pex.config.Config` classes that must compute defaults rather than using the `~lsst.pex.config.Field` instances's defaults should do so here. To correctly use inherited defaults, implementations of ``setDefaults`` must call their base class's ``setDefaults``.
Reimplemented in lsst.ip.diffim.dipoleMeasurement.DipoleMeasurementConfig, lsst.ip.diffim.subtractImages.AlardLuptonSubtractBaseConfig, lsst.ip.isr.ampOffset.AmpOffsetConfig, lsst.meas.algorithms.computeExPsf.ComputeExPsfConfig, lsst.meas.algorithms.measureApCorr.MeasureApCorrConfig, lsst.meas.algorithms.noise_covariance.ComputeNoiseCorrelationConfig, lsst.meas.algorithms.normalizedCalibrationFlux.NormalizedCalibrationFluxConfig, lsst.meas.algorithms.scaleVariance.ScaleVarianceConfig, lsst.meas.base.forcedMeasurement.ForcedMeasurementConfig, lsst.meas.modelfit.cmodel.cmodelContinued.CModelSingleFrameConfig, lsst.meas.modelfit.cmodel.cmodelContinued.CModelForcedConfig, lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxSingleFrameConfig, lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxForcedConfig, lsst.pipe.tasks.background.MaskObjectsConfig, and lsst.pipe.tasks.dataFrameActions._actions.NanoJansky.
Definition at line 1063 of file config.py.
lsst.pex.config.config.Config.toDict | ( | self | ) |
Make a dictionary of field names and their values. Returns ------- dict_ : `dict` Dictionary with keys that are `~lsst.pex.config.Field` names. Values are `~lsst.pex.config.Field` values. See Also -------- lsst.pex.config.Field.toDict Notes ----- This method uses the `~lsst.pex.config.Field.toDict` method of individual fields. Subclasses of `~lsst.pex.config.Field` may need to implement a ``toDict`` method for *this* method to work.
Reimplemented in lsst.pex.config.configChoiceField.ConfigChoiceField.
Definition at line 1414 of file config.py.
lsst.pex.config.config.Config.update | ( | self, | |
** | kw ) |
Update values of fields specified by the keyword arguments. Parameters ---------- **kw Keywords are configuration field names. Values are configuration field values. Notes ----- The ``__at`` and ``__label`` keyword arguments are special internal keywords. They are used to strip out any internal steps from the history tracebacks of the config. Do not modify these keywords to subvert a `~lsst.pex.config.Config` instance's history. Examples -------- This is a config with three fields: >>> from lsst.pex.config import Config, Field >>> class DemoConfig(Config): ... fieldA = Field(doc='Field A', dtype=int, default=42) ... fieldB = Field(doc='Field B', dtype=bool, default=True) ... fieldC = Field(doc='Field C', dtype=str, default='Hello world') ... >>> config = DemoConfig() These are the default values of each field: >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") ... fieldA: 42 fieldB: True fieldC: 'Hello world' Using this method to update ``fieldA`` and ``fieldC``: >>> config.update(fieldA=13, fieldC='Updated!') Now the values of each field are: >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") ... fieldA: 13 fieldB: True fieldC: 'Updated!'
Definition at line 1076 of file config.py.
lsst.pex.config.config.Config.validate | ( | self | ) |
Validate the Config, raising an exception if invalid. Raises ------ lsst.pex.config.FieldValidationError Raised if verification fails. Notes ----- The base class implementation performs type checks on all fields by calling their `~lsst.pex.config.Field.validate` methods. Complex single-field validation can be defined by deriving new Field types. For convenience, some derived `lsst.pex.config.Field`-types (`~lsst.pex.config.ConfigField` and `~lsst.pex.config.ConfigChoiceField`) are defined in ``lsst.pex.config`` that handle recursing into subconfigs. Inter-field relationships should only be checked in derived `~lsst.pex.config.Config` classes after calling this method, and base validation is complete.
Reimplemented in lsst.afw.geom.transformConfig.RadialTransformConfig, lsst.dax.apdb.sql.apdbSql.ApdbSqlConfig, lsst.fgcmcal.sedterms.Sedterm, lsst.meas.algorithms.gaussianPsfFactory.GaussianPsfFactory, lsst.meas.algorithms.measureApCorr.MeasureApCorrConfig, lsst.meas.algorithms.treecorrUtils.TreecorrConfig, lsst.meas.base.baseMeasurement.BaseMeasurementConfig, lsst.meas.base.compensatedGaussian._compensatedTophat.SingleFrameCompensatedTophatFluxConfig, lsst.pex.config.configurableActions.tests.ActionTest1, lsst.pex.config.configurableActions.tests.ActionTest2, lsst.pex.config.configurableActions.tests.ActionTest3, lsst.pex.config.configurableActions.tests.TestDivideAction, lsst.pipe.tasks.background.MaskObjectsConfig, and lsst.pex.config.configChoiceField.ConfigChoiceField.
Definition at line 1491 of file config.py.
lsst.pex.config.config.Config.values | ( | self | ) |
Get field values. Returns ------- values : `~collections.abc.ValuesView` Iterator of field values.
Definition at line 979 of file config.py.
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |