PpdbConfig

class lsst.dax.ppdb.PpdbConfig

Bases: lsst.pex.config.config.Config

Attributes Summary

cardinality_hint If non-zero then use cardinality hint (int, default 0)
column_map Location of (YAML) configuration file with column mapping (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-afw-map.yaml')
connection_pool If False then disable SQLAlchemy connection pool.
db_url SQLAlchemy database connection URI (str, 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')
dia_object_nightly Use separate nightly table for DiaObject (bool, default False)
diaobject_index_hint Name of the index to use with Oracle index hint (str, default None)
dynamic_sampling_hint If non-zero then use dynamic_sampling hint (int, default 0)
explain If True then run EXPLAIN SQL command on each executed query (bool, default False)
extra_schema_file Location of (YAML) configuration file with extra schema (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-schema-extra.yaml')
history
isolation_level Transaction isolation level (str, default 'READ_COMMITTED')
object_last_replace If True (default) then use “upsert” for DiaObjectsLast table (bool, default True)
prefix Prefix to add to table names and index names (str, default '')
read_forced_sources_months Number of months of history to read from DiaForcedSource (int, default 12)
read_sources_months Number of months of history to read from DiaSource (int, default 12)
schema_file Location of (YAML) configuration file with standard schema (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-schema.yaml')
sql_echo If True then pass SQLAlchemy echo option.
timer If True then print/log timing information (bool, default False)

Methods Summary

compare(other[, shortcut, rtol, atol, output]) !Compare two Configs for equality; return True if equal
formatHistory(name, **kwargs) !Format the specified config field’s history to a more human-readable format
freeze() !Make this Config and all sub-configs read-only
items() !Return the list of (field name, field value) pairs
iteritems() !Iterate over (field name, field value) pairs
iterkeys() !Iterate over field names
itervalues() !Iterate over field values
keys() !Return the list of field names
load(filename[, root]) !Modify this config in place by executing the Python code in the named file.
loadFromStream(stream[, root, filename]) !Modify this config in place by executing the python code in the provided stream.
names() !Return all the keys in a config recursively
save(filename[, root]) !Save a python script to the named file, which, when loaded, reproduces this Config
saveToStream(outfile[, root]) !Save a python script to a stream, which, when loaded, reproduces this Config
setDefaults() Derived config classes that must compute defaults rather than using the Field defaults should do so here.
toDict() !Return a dict of field name: value
update(**kw) !Update values specified by the keyword arguments
validate() !Validate the Config; raise an exception if invalid
values() !Return the list of field values

Attributes Documentation

cardinality_hint

If non-zero then use cardinality hint (int, default 0)

column_map

Location of (YAML) configuration file with column mapping (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-afw-map.yaml')

connection_pool

If False then disable SQLAlchemy connection pool. Do not use connection pool when forking. (bool, default True)

db_url

SQLAlchemy database connection URI (str, 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
dia_object_nightly

Use separate nightly table for DiaObject (bool, default False)

diaobject_index_hint

Name of the index to use with Oracle index hint (str, default None)

dynamic_sampling_hint

If non-zero then use dynamic_sampling hint (int, default 0)

explain

If True then run EXPLAIN SQL command on each executed query (bool, default False)

extra_schema_file

Location of (YAML) configuration file with extra schema (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-schema-extra.yaml')

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)

prefix

Prefix to add to table names and index names (str, default '')

read_forced_sources_months

Number of months of history to read from DiaForcedSource (int, default 12)

read_sources_months

Number of months of history to read from DiaSource (int, default 12)

schema_file

Location of (YAML) configuration file with standard schema (str, default '/opt/lsst/software/stack/stack/miniconda3-4.5.4-fcd27eb/Linux64/dax_ppdb/master-g72da5ad0b5/data/ppdb-schema.yaml')

sql_echo

If True then pass SQLAlchemy echo option. (bool, default False)

timer

If True then print/log timing information (bool, default False)

Methods Documentation

compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)

!Compare two Configs for equality; return True if equal

If the Configs contain RegistryFields or ConfigChoiceFields, unselected Configs will not be compared.

@param[in] other Config object to compare with self. @param[in] shortcut If True, return as soon as an inequality is found. @param[in] rtol Relative tolerance for floating point comparisons. @param[in] atol Absolute tolerance for floating point comparisons. @param[in] output If not None, a callable that takes a string, used (possibly repeatedly)

to report inequalities.

Floating point comparisons are performed by numpy.allclose; refer to that for details.

formatHistory(name, **kwargs)

!Format the specified config field’s history to a more human-readable format

@param[in] name name of field whose history is wanted @param[in] kwargs keyword arguments for lsst.pex.config.history.format @return a string containing the formatted history

freeze()

!Make this Config and all sub-configs read-only

items()

!Return the list of (field name, field value) pairs

iteritems()

!Iterate over (field name, field value) pairs

iterkeys()

!Iterate over field names

itervalues()

!Iterate over field values

keys()

!Return the list of field names

load(filename, root='config')

!Modify this config in place by executing the Python code in the named file.

@param[in] filename name of file containing config override code @param[in] root name of variable in file that refers to the config being overridden

For example: if the value of root is “config” and the file contains this text: “config.myField = 5” then this config’s field “myField” is set to 5.

@deprecated For purposes of 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.

loadFromStream(stream, root='config', filename=None)

!Modify this config in place by executing the python code in the provided stream.

@param[in] stream open file object, string or compiled string containing config override code @param[in] root name of variable in stream that refers to the config being overridden @param[in] filename name of config override file, or None if unknown or contained

in the stream; used for error reporting

For example: if the value of root is “config” and the stream contains this text: “config.myField = 5” then this config’s field “myField” is set to 5.

@deprecated For purposes of 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.

names()

!Return all the keys in a config recursively

save(filename, root='config')

!Save a python script to the named file, which, when loaded, reproduces this Config

@param[in] filename name of file to which to write the config @param[in] root name to use for the root config variable; the same value must be used when loading

saveToStream(outfile, root='config')

!Save a python script to a stream, which, when loaded, reproduces this Config

@param outfile [inout] open file object to which to write the config. Accepts strings not bytes. @param root [in] name to use for the root config variable; the same value must be used when loading

setDefaults()

Derived config classes that must compute defaults rather than using the Field defaults should do so here. To correctly use inherited defaults, implementations of setDefaults() must call their base class’ setDefaults()

toDict()

!Return a dict of field name: value

Correct behavior is dependent on proper implementation of Field.toDict. If implementing a new Field type, you may need to implement your own toDict method.

update(**kw)

!Update values specified by the keyword arguments

@warning 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. Modifying these keywords allows users to lie about a Config’s history. Please do not do so!

validate()

!Validate the Config; raise an exception if invalid

The base class implementation performs type checks on all fields by calling Field.validate().

Complex single-field validation can be defined by deriving new Field types. As syntactic sugar, some derived Field types are defined in this module which handle recursing into sub-configs (ConfigField, ConfigChoiceField)

Inter-field relationships should only be checked in derived Config classes after calling this method, and base validation is complete

values()

!Return the list of field values