DatastoreConfig¶
- 
class lsst.daf.butler.DatastoreConfig(other=None, validate=True, mergeDefaults=True, searchPaths=None)¶
- Bases: - lsst.daf.butler.ConfigSubset- Attributes Summary - component- defaultConfigFile- includeKey- requiredKeys- Methods Summary - asArray(name)- Get a value as an array. - clear()- copy()- defaultSearchPaths()- Read the environment to determine search paths to use for global defaults. - dump(output)- Writes the config to a yaml stream. - dumpToFile(path, *[, overwrite])- Writes the config to a file. - dumpToS3File(uri, *[, overwrite])- Writes the config to a file in S3 Bucket. - dumpToUri(uri[, updateFile, …])- Writes the config to location pointed to by given URI. - fromYaml(string)- Create a new Config instance from a YAML string. - get(k[,d])- items()- keys()- merge(other)- Like Config.update, but will add keys & values from other that DO NOT EXIST in self. - nameTuples([topLevelOnly])- Get tuples representing the name hierarchies of all keys. - names([topLevelOnly, delimiter])- Get a delimited name of all the keys in the hierarchy. - pop(k[,d])- If key is not found, d is returned if given, otherwise KeyError is raised. - popitem()- as a 2-tuple; but raise KeyError if D is empty. - ppprint()- helper function for debugging, prints a config out in a readable way in the debugger. - setdefault(k[,d])- toDict()- Convert a - Configto a standalone hierarchical- dict.- update(other)- Like dict.update, but will add or modify keys in nested dicts, instead of overwriting the nested dict entirely. - updateParameters(configType, config, full[, …])- Generic helper function for updating specific config parameters. - validate()- Check that mandatory keys are present in this configuration. - values()- Attributes Documentation - 
component= 'datastore'¶
 - 
defaultConfigFile= 'datastore.yaml'¶
 - 
includeKey= 'includeConfigs'¶
 - 
requiredKeys= ('cls',)¶
 - Methods Documentation - 
asArray(name)¶
- Get a value as an array. - May contain one or more elements. - Parameters: - name : str
- Key to use to retrieve value. 
 - Returns: - array : collections.abc.Sequence
- The value corresponding to name, but guaranteed to be returned as a list with at least one element. If the value is a - Sequence(and not a- str) the value itself will be returned, else the value will be the first element.
 
- name : 
 - 
clear() → None. Remove all items from D.¶
 - 
copy()¶
 - 
classmethod defaultSearchPaths()¶
- Read the environment to determine search paths to use for global defaults. - Global defaults, at lowest priority, are found in the - configdirectory of the butler source tree. Additional defaults can be defined using the environment variable- $DAF_BUTLER_CONFIG_PATHSwhich is a PATH-like variable where paths at the front of the list have priority over those later.- Returns: - paths : list
- Returns a list of paths to search. The returned order is in priority with the highest priority paths first. The butler config directory will always be at the end of the list. 
 
- paths : 
 - 
dump(output)¶
- Writes the config to a yaml stream. - Parameters: - output
- The YAML stream to use for output. 
 
 - 
dumpToFile(path, *, overwrite=True)¶
- Writes the config to a file. - Parameters: - Raises: - FileExistsError
- Raised if the file already exists but overwrite is False. 
 - Notes - The name of the config file is stored in the Config object. 
 - 
dumpToS3File(uri, *, overwrite=True)¶
- Writes the config to a file in S3 Bucket. - Parameters: - Raises: - FileExistsError
- Raised if the configuration already exists at this location and overwrite is set to - False.
 
 - 
dumpToUri(uri, updateFile=True, defaultFileName='butler.yaml', overwrite=True)¶
- Writes the config to location pointed to by given URI. - Currently supports ‘s3’ and ‘file’ URI schemes. - Parameters: - uri: `str` or `ButlerURI`
- URI of location where the Config will be written. 
- updateFile : bool, optional
- If True and uri does not end on a filename with extension, will append - defaultFileNameto the target uri. True by default.
- defaultFileName : bool, optional
- The file name that will be appended to target uri if updateFile is True and uri does not end on a file with an extension. 
- overwrite : bool, optional
- If True the configuration will be written even if it already exists at that location. 
 
 - 
classmethod fromYaml(string: str) → lsst.daf.butler.core.config.Config¶
- Create a new Config instance from a YAML string. - Parameters: - string : str
- String containing content in YAML format 
 - Returns: - c : Config
- Newly-constructed Config. 
 
- string : 
 - 
get(k[, d]) → D[k] if k in D, else d. d defaults to None.¶
 - 
items() → a set-like object providing a view on D's items¶
 - 
keys() → a set-like object providing a view on D's keys¶
 - 
merge(other)¶
- Like Config.update, but will add keys & values from other that DO NOT EXIST in self. - Keys and values that already exist in self will NOT be overwritten. - Parameters: 
 - 
nameTuples(topLevelOnly=False)¶
- Get tuples representing the name hierarchies of all keys. - The tuples returned from this method are guaranteed to be usable to access items in the configuration object. - Parameters: - topLevelOnly : bool, optional
- If False, the default, a full hierarchy of names is returned. If True, only the top level are returned. 
 - Returns: 
- topLevelOnly : 
 - 
names(topLevelOnly=False, delimiter=None)¶
- Get a delimited name of all the keys in the hierarchy. - The values returned from this method are guaranteed to be usable to access items in the configuration object. - Parameters: - topLevelOnly : bool, optional
- If False, the default, a full hierarchy of names is returned. If True, only the top level are returned. 
- delimiter : str, optional
- Delimiter to use when forming the keys. If the delimiter is present in any of the keys, it will be escaped in the returned names. If - Nonegiven a delimiter will be automatically provided. The delimiter can not be alphanumeric.
 - Returns: - Raises: - ValueError:
- The supplied delimiter is alphanumeric. 
 - Notes - This is different than the built-in method - dict.keys, which will return only the first level keys.
- topLevelOnly : 
 - 
pop(k[, d]) → v, remove specified key and return the corresponding value.¶
- If key is not found, d is returned if given, otherwise KeyError is raised. 
 - 
popitem() → (k, v), remove and return some (key, value) pair¶
- as a 2-tuple; but raise KeyError if D is empty. 
 - 
ppprint()¶
- helper function for debugging, prints a config out in a readable way in the debugger. - use: pdb> print(myConfigObject.ppprint()) - Returns: - s : str
- A prettyprint formatted string representing the config 
 
- s : 
 - 
setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D¶
 - 
toDict()¶
- Convert a - Configto a standalone hierarchical- dict.- Returns: - Notes - This can be useful when passing a Config to some code that expects native Python types. 
 - 
update(other)¶
- Like dict.update, but will add or modify keys in nested dicts, instead of overwriting the nested dict entirely. - For example, for the given code: foo = {“a”: {“b”: 1}} foo.update({“a”: {“c”: 2}}) - Parameters: 
 - 
static updateParameters(configType, config, full, toUpdate=None, toCopy=None, overwrite=True)¶
- Generic helper function for updating specific config parameters. - Allows for named parameters to be set to new values in bulk, and for other values to be set by copying from a reference config. - Assumes that the supplied config is compatible with - configTypeand will attach the updated values to the supplied config by looking for the related component key. It is assumed that- configand- fullare from the same part of the configuration hierarchy.- Parameters: - configType : ConfigSubset
- Config type to use to extract relevant items from - config.
- config : Config
- A - Configto update. Only the subset understood by the supplied- ConfigSubsetwill be modified. Default values will not be inserted and the content will not be validated since mandatory keys are allowed to be missing until populated later by merging.
- full : Config
- A complete config with all defaults expanded that can be converted to a - configType. Read-only and will not be modified by this method. Values are read from here if- toCopyis defined.- Repository-specific options that should not be obtained from defaults when Butler instances are constructed should be copied from - fullto- config.
- toUpdate : dict, optional
- A - dictdefining the keys to update and the new value to use. The keys and values can be any supported by- Configassignment.
- toCopy : tuple, optional
- tupleof keys whose values should be copied from- fullinto- config.
- overwrite : bool, optional
- If - False, do not modify a value in- configif the key already exists. Default is always to overwrite.
 - Raises: - ValueError
- Neither - toUpdatenot- toCopywere defined.
 
- configType : 
 - 
validate()¶
- Check that mandatory keys are present in this configuration. - Ignored if - requiredKeysis empty.
 - 
values() → an object providing a view on D's values¶
 
-