ApdbConfig¶
- class lsst.dax.apdb.ApdbConfig(*args, **kw)¶
- Bases: - Config- Attributes Summary - If non-zero then use cardinality hint ( - int, default- 0)- Location of (YAML) configuration file with column mapping ( - str, default- '${DAX_APDB_DIR}/data/apdb-afw-map.yaml')- If False then disable SQLAlchemy connection pool. - Maximum time to wait time for database lock to be released before exiting. - SQLAlchemy database connection URI ( - str)- List of columns to read from DiaObject, by default read all columns ( - List, default- [])- Indexing mode for DiaObject table ( - str, default- 'baseline')- Use separate nightly table for DiaObject ( - bool, default- False)- Name of the index to use with Oracle index hint ( - str, default- None)- If non-zero then use dynamic_sampling hint ( - int, default- 0)- If True then run EXPLAIN SQL command on each executed query ( - bool, default- False)- Location of (YAML) configuration file with extra schema ( - str, default- '${DAX_APDB_DIR}/data/apdb-schema-extra.yaml')- Transaction isolation level ( - str, default- 'READ_COMMITTED')- If True (default) then use "upsert" for DiaObjectsLast table ( - bool, default- True)- Prefix to add to table names and index names ( - str, default- '')- Number of months of history to read from DiaForcedSource ( - int, default- 12)- Number of months of history to read from DiaSource ( - int, default- 12)- Location of (YAML) configuration file with standard schema ( - str, default- '${DAX_APDB_DIR}/data/apdb-schema.yaml')- If True then pass SQLAlchemy echo option. - If True then print/log timing information ( - bool, default- False)- Methods Summary - compare(other[, shortcut, rtol, atol, output])- Compare this configuration to another - Configfor equality.- formatHistory(name, **kwargs)- Format a configuration field's history to a human-readable format. - freeze()- Make this config, and all subconfigs, read-only. - items()- Get configurations as - (field name, field value)pairs.- Iterate over (field name, field value) pairs. - iterkeys()- Iterate over field names - Iterate over field values. - keys()- Get field names. - load(filename[, root])- Modify this config in place by executing the Python code in a configuration file. - loadFromStream(stream[, root, filename])- Modify this Config in place by executing the Python code in the provided stream. - names()- Get all the field names in the config, recursively. - save(filename[, root])- Save a Python script to the named file, which, when loaded, reproduces this config. - saveToStream(outfile[, root, skipImports])- Save a configuration file to a stream, which, when loaded, reproduces this config. - Subclass hook for computing defaults. - toDict()- Make a dictionary of field names and their values. - update(**kw)- Update values of fields specified by the keyword arguments. - validate()- Validate the Config, raising an exception if invalid. - values()- Get field values. - Attributes Documentation - column_map¶
- Location of (YAML) configuration file with column mapping ( - str, default- '${DAX_APDB_DIR}/data/apdb-afw-map.yaml')
 - connection_pool¶
- If False then disable SQLAlchemy connection pool. Do not use connection pool when forking. ( - bool, default- True)
 - connection_timeout¶
- Maximum time to wait time for database lock to be released before exiting. Defaults to sqlachemy defaults if not set. ( - float, default- None)
 - dia_object_columns¶
- List of columns to read from DiaObject, by default read all columns ( - List, default- [])
 - dia_object_index¶
- Indexing mode for DiaObject table ( - str, default- 'baseline')- Allowed values: - 'baseline'
- Index defined in baseline schema 
- 'pix_id_iov'
- (pixelId, objectId, iovStart) PK 
- 'last_object_table'
- Separate DiaObjectLast table 
- 'None'
- Field is optional 
 
 - extra_schema_file¶
- Location of (YAML) configuration file with extra schema ( - str, default- '${DAX_APDB_DIR}/data/apdb-schema-extra.yaml')
 - history¶
- Read-only history. 
 - isolation_level¶
- Transaction isolation level ( - str, default- 'READ_COMMITTED')- Allowed values: - 'READ_COMMITTED'
- Read committed 
- 'READ_UNCOMMITTED'
- Read uncommitted 
- 'REPEATABLE_READ'
- Repeatable read 
- 'SERIALIZABLE'
- Serializable 
- 'None'
- Field is optional 
 
 - object_last_replace¶
- If True (default) then use “upsert” for DiaObjectsLast table ( - bool, default- True)
 - read_forced_sources_months¶
- Number of months of history to read from DiaForcedSource ( - int, default- 12)
 - schema_file¶
- Location of (YAML) configuration file with standard schema ( - str, default- '${DAX_APDB_DIR}/data/apdb-schema.yaml')
 - Methods Documentation - compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)¶
- Compare this configuration to another - Configfor equality.- Parameters:
- otherlsst.pex.config.Config
- Other - Configobject to compare against this config.
- shortcutbool, optional
- If - True, return as soon as an inequality is found. Default is- True.
- rtolfloat, optional
- Relative tolerance for floating point comparisons. 
- atolfloat, optional
- Absolute tolerance for floating point comparisons. 
- outputcallable, optional
- A callable that takes a string, used (possibly repeatedly) to report inequalities. 
 
- other
- Returns:
- isEqualbool
- Truewhen the two- lsst.pex.config.Configinstances are equal.- Falseif there is an inequality.
 
- isEqual
 - See also - Notes - Unselected targets of - RegistryFieldfields and unselected choices of- ConfigChoiceFieldfields are not considered by this method.- Floating point comparisons are performed by - numpy.allclose.
 - formatHistory(name, **kwargs)¶
- Format a configuration field’s history to a human-readable format. - Parameters:
- namestr
- Name of a - Fieldin this config.
- kwargs
- Keyword arguments passed to - lsst.pex.config.history.format.
 
- name
- Returns:
- historystr
- A string containing the formatted history. 
 
- history
 - See also 
 - freeze()¶
- Make this config, and all subconfigs, read-only. 
 - items()¶
- Get configurations as - (field name, field value)pairs.- Returns:
- itemslist
- List of tuples for each configuration. Tuple items are: - Field name. 
- Field value. 
 
 
- items
 - See also 
 - iteritems()¶
- Iterate over (field name, field value) pairs. - Yields:
- itemtuple
- Tuple items are: - Field name. 
- Field value. 
 
 
- item
 - See also 
 - itervalues()¶
- Iterate over field values. - Yields:
- valueobj
- A field value. 
 
 - See also 
 - keys()¶
- Get field names. - Returns:
- nameslist
- List of - lsst.pex.config.Fieldnames.
 
- names
 - See also 
 - load(filename, root='config')¶
- Modify this config in place by executing the Python code in a configuration file. - Parameters:
- filenamestr
- Name of the configuration file. A configuration file is Python module. 
- rootstr, 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 - myFieldis set to- 5.- Deprecated: For backwards compatibility, older config files that use - root="root"instead of- root="config"will be loaded with a warning printed to- sys.stderr. This feature will be removed at some point.
 
- filename
 - See also - lsst.pex.config.Config.loadFromStream
- lsst.pex.config.Config.save
- lsst.pex.config.Config.saveFromStream
 
 - loadFromStream(stream, root='config', filename=None)¶
- Modify this Config in place by executing the Python code in the provided stream. - Parameters:
- streamfile-like object, str, or compiled string
- Stream containing configuration override code. 
- rootstr, 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 - myFieldis set to- 5.- Deprecated: For backwards compatibility, older config files that use - root="root"instead of- root="config"will be loaded with a warning printed to- sys.stderr. This feature will be removed at some point.
- filenamestr, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
 
- streamfile-like object, 
 - See also - lsst.pex.config.Config.load
- lsst.pex.config.Config.save
- lsst.pex.config.Config.saveFromStream
 
 - save(filename, root='config')¶
- Save a Python script to the named file, which, when loaded, reproduces this config. - Parameters:
- filenamestr
- Desination filename of this configuration. 
- rootstr, optional
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
 
- filename
 
 - saveToStream(outfile, root='config', skipImports=False)¶
- Save a configuration file to a stream, which, when loaded, reproduces this config. - Parameters:
- outfilefile-like object
- Destination file object write the config into. Accepts strings not bytes. 
- root
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
- skipImportsbool, optional
- If - Truethen do not include- importstatements in output, this is to support human-oriented output from- pipetaskwhere additional clutter is not useful.
 
 
 - setDefaults()¶
- Subclass hook for computing defaults. - Notes - Derived - Configclasses that must compute defaults rather than using the- Fieldinstances’s defaults should do so here. To correctly use inherited defaults, implementations of- setDefaultsmust call their base class’s- setDefaults.
 - toDict()¶
- Make a dictionary of field names and their values. - See also - Notes - This method uses the - toDictmethod of individual fields. Subclasses of- Fieldmay need to implement a- toDictmethod for this method to work.
 - update(**kw)¶
- Update values of fields specified by the keyword arguments. - Parameters:
- kw
- Keywords are configuration field names. Values are configuration field values. 
 
 - Notes - The - __atand- __labelkeyword 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- Configinstance’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 - fieldAand- 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!' 
 - validate()¶
- 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 - validatemethods.- Complex single-field validation can be defined by deriving new Field types. For convenience, some derived - lsst.pex.config.Field-types (- ConfigFieldand- ConfigChoiceField) are defined in- lsst.pex.configthat handle recursing into subconfigs.- Inter-field relationships should only be checked in derived - Configclasses after calling this method, and base validation is complete.