DbQuery

class lsst.analysis.ap.DbQuery(instrument=None)

Bases: ABC

Base class for APDB connection and query management.

Subclasses must specify a connection property to use as a context- manager for queries.

Parameters:
instrumentstr

Short name (e.g. “DECam”) of instrument to make a dataId unpacker and to add to the table columns; supports any gen3 instrument. To be deprecated once this information is in the database.

Attributes Summary

connection

Context manager for database connections.

Methods Summary

load_forced_source(id)

Load one diaForcedSource.

load_forced_sources([limit])

Load all diaForcedSources.

load_forced_sources_for_object(dia_object_id)

Load diaForcedSources for a single diaObject.

load_object(id)

Load the most-recently updated version of one diaObject.

load_objects([limit, latest])

Load all diaObjects.

load_source(id)

Load one diaSource.

load_sources([exclude_flagged, limit])

Load diaSources.

load_sources_for_object(dia_object_id[, ...])

Load diaSources for a single diaObject.

set_excluded_diaSource_flags(flag_list)

Set flags of diaSources to exclude when loading diaSources.

Attributes Documentation

connection

Context manager for database connections.

Yields:
connectionsqlalchemy.engine.Connection

Connection to the database that will be queried. Whether the connection is closed after the context manager is closed is implementation dependent.

Methods Documentation

load_forced_source(id)

Load one diaForcedSource.

Parameters:
idint

The diaForcedSourceId to load data for.

Returns:
datapandas.Series

The requested forced source.

load_forced_sources(limit=100000)

Load all diaForcedSources.

Parameters:
limitint

Maximum number of rows to return.

Returns:
datapandas.DataFrame

All available diaForcedSources.

load_forced_sources_for_object(dia_object_id, exclude_flagged=False, limit=100000)

Load diaForcedSources for a single diaObject.

Parameters:
dia_object_idint

Id of object to load sources for.

exclude_flaggedbool, optional

Exclude sources that have selected flags set. Use set_excluded_diaSource_flags to configure which flags are excluded.

limitint

Maximum number of rows to return.

Returns:
datapandas.DataFrame

A data frame of diaSources for the specified diaObject.

load_object(id)

Load the most-recently updated version of one diaObject.

Parameters:
idint

The diaObjectId to load data for.

Returns:
datapandas.Series

The requested object.

load_objects(limit=100000, latest=True)

Load all diaObjects.

Parameters:
limitint

Maximum number of rows to return.

latestbool

Only load diaObjects where validityEnd is None. These are the most-recently updated diaObjects.

Returns:
datapandas.DataFrame

All available diaObjects.

load_source(id)

Load one diaSource.

Parameters:
idint

The diaSourceId to load data for.

Returns:
datapandas.Series

The requested diaSource.

load_sources(exclude_flagged=False, limit=100000)

Load diaSources.

Parameters:
exclude_flaggedbool, optional

Exclude sources that have selected flags set. Use set_excluded_diaSource_flags to configure which flags are excluded.

limitint

Maximum number of rows to return.

Returns:
datapandas.DataFrame

All available diaSources.

load_sources_for_object(dia_object_id, exclude_flagged=False, limit=100000)

Load diaSources for a single diaObject.

Parameters:
dia_object_idint

Id of object to load sources for.

exclude_flaggedbool, optional

Exclude sources that have selected flags set. Use set_excluded_diaSource_flags to configure which flags are excluded.

limitint

Maximum number of rows to return.

Returns:
datapandas.DataFrame

A data frame of diaSources for the specified diaObject.

set_excluded_diaSource_flags(flag_list)

Set flags of diaSources to exclude when loading diaSources.

Any diaSources with configured flags are not returned when calling load_sources_for_object or load_sources with exclude_flagged = True.

Parameters:
flag_listlist [str]

Flag names to exclude.