mirar.processors.database package
Central module for interactions with postgres databases
Submodules
mirar.processors.database.base_database_processor module
Module containing base database processor class
- class mirar.processors.database.base_database_processor.BaseDatabaseProcessor(db_table: ~typing.Type[~mirar.database.base_model.BaseDB], pg_user: ~mirar.database.user.postgres_user.PostgresUser = <mirar.database.user.postgres_user.PostgresUser object>, pg_admin: ~mirar.database.user.postgres_admin.PostgresAdmin = <mirar.database.user.postgres_admin.PostgresAdmin object>)[source]
Bases:
BaseProcessor,ABCBase class for processors which interact with a postgres database
mirar.processors.database.database_inserter module
Module containing processors for exporting to databases
- class mirar.processors.database.database_inserter.BaseDatabaseInserter(*args, duplicate_protocol: str = 'fail', **kwargs)[source]
Bases:
BaseDatabaseProcessor,ABCBase class for DB inserter
- base_key = 'dbinserter'
- class mirar.processors.database.database_inserter.DatabaseImageBatchInserter(*args, duplicate_protocol: str = 'fail', **kwargs)[source]
Bases:
DatabaseImageInserterProcessor for creating a single entry per batch of images in a database
- class mirar.processors.database.database_inserter.DatabaseImageInserter(*args, duplicate_protocol: str = 'fail', **kwargs)[source]
Bases:
BaseDatabaseInserter,BaseImageProcessorProcessor for exporting images to a database
- class mirar.processors.database.database_inserter.DatabaseSourceInserter(*args, duplicate_protocol: str = 'fail', **kwargs)[source]
Bases:
BaseDatabaseInserter,BaseSourceProcessorProcessor for exporting sources to a database
- exception mirar.processors.database.database_inserter.ImageBatchDatabaseExporterError[source]
Bases:
BaseProcessorErrorError for ImageBatchDatabaseExporter
mirar.processors.database.database_selector module
Module containing processors which import values from a database
- class mirar.processors.database.database_selector.BaseDatabaseSelector(*args, boolean_match_key: str | None = None, **kwargs)[source]
Bases:
BaseDatabaseProcessor,ABCBase Class for any database selector
- base_key = 'dbselector'
- get_constraints(data: dict) None | DBQueryConstraints[source]
Get db query constraints for a given datablock object
- Parameters:
data – data block
- Returns:
db query constraints object
- class mirar.processors.database.database_selector.BaseDatabaseSourceSelector(db_output_columns: str | list[str], max_num_results: int | None = None, additional_query_constraints: DBQueryConstraints | None = None, **kwargs)[source]
Bases:
BaseDatabaseSelector,BaseSourceProcessor,ABCBase Class for dataframe DB importers
- class mirar.processors.database.database_selector.BaseImageDatabaseSelector(db_output_columns: str | list[str], output_alias_map: str | list[str] | None = None, update_header: ~collections.abc.Callable[[~mirar.data.image_data.Image, list[dict]], ~mirar.data.image_data.Image] = <function update_header_with_single_match>, **kwargs)[source]
Bases:
BaseDatabaseSelector,BaseImageProcessor,ABCProcessor to import data from images
- class mirar.processors.database.database_selector.BaseSpatialCrossmatchSource(crossmatch_radius_arcsec: float, ra_field_name: str = 'ra', dec_field_name: str = 'dec', order_field_name: str | None = None, order_ascending: bool = False, query_dist: bool = False, **kwargs)[source]
Bases:
BaseDatabaseSourceSelector,ABCProcessor to crossmatch to sources in a database using spatial search
- get_constraints(data: dict) DBQueryConstraints[source]
Get db query constraints for a given datablock object
- Parameters:
data – data block
- Returns:
db query constraints object
- get_source_crossmatch_constraints(data: dict) DBQueryConstraints[source]
Apply constraints to a single source, using q3c
- Parameters:
data – Dictionary containing source data
- Returns:
DBQueryConstraints
- class mirar.processors.database.database_selector.BaseValuesCrossmatch(db_query_columns: str | list[str], *args, **kwargs)[source]
Bases:
BaseDatabaseSelector,ABCProcessor to crossmatch to a database
- get_accepted_values(data: dict) list[str | float | int][source]
Get list of accepted values for crossmatch query
- Parameters:
data – datablock
- Returns:
accepted values from datablock
- get_constraints(data: dict) DBQueryConstraints[source]
Get db query constraints for a datablock
- Parameters:
data – datablock
- Returns:
list of constraints
- class mirar.processors.database.database_selector.CrossmatchDatabaseWithHeader(db_output_columns: str | list[str], output_alias_map: str | list[str] | None = None, update_header: ~collections.abc.Callable[[~mirar.data.image_data.Image, list[dict]], ~mirar.data.image_data.Image] = <function update_header_with_single_match>, **kwargs)[source]
Bases:
BaseImageDatabaseSelector,BaseValuesCrossmatchProcessor to crossmatch to a database using keys
- class mirar.processors.database.database_selector.DatabaseHistorySelector(history_duration_days: float, time_field_name: str = 'jd', **kwargs)[source]
Bases:
SpatialCrossmatchSourceWithDatabaseProcessor to import previous detections of a source from a database
- get_constraints(data: dict) DBQueryConstraints[source]
Get db query constraints for a given datablock object
- Parameters:
data – data block
- Returns:
db query constraints object
- class mirar.processors.database.database_selector.DatabaseMultimatchSelector(*args, base_output_column: str = 'prv_candidates', **kwargs)[source]
Bases:
BaseDatabaseSourceSelector,ABCProcessor to import multiple matches from a database
- class mirar.processors.database.database_selector.DatabaseSingleMatchSelector(*args, **kwargs)[source]
Bases:
BaseDatabaseSourceSelector,ABCProcessor to import a single match from a database
- class mirar.processors.database.database_selector.SelectSourcesWithMetadata(*args, base_output_column: str = 'prv_candidates', **kwargs)[source]
Bases:
DatabaseMultimatchSelector,BaseValuesCrossmatchProcessor to import sources from a database using metadata values
- class mirar.processors.database.database_selector.SingleSpatialCrossmatchSource(crossmatch_radius_arcsec: float, ra_field_name: str = 'ra', dec_field_name: str = 'dec', order_field_name: str | None = None, order_ascending: bool = False, query_dist: bool = False, **kwargs)[source]
Bases:
BaseSpatialCrossmatchSource,DatabaseSingleMatchSelectorProcessor to import a single source from a database using spatial crossmatch
- class mirar.processors.database.database_selector.SpatialCrossmatchSourceWithDatabase(crossmatch_radius_arcsec: float, ra_field_name: str = 'ra', dec_field_name: str = 'dec', order_field_name: str | None = None, order_ascending: bool = False, query_dist: bool = False, **kwargs)[source]
Bases:
BaseSpatialCrossmatchSource,DatabaseMultimatchSelectorProcessor to import multiple sources from a database using spatial crossmatch
mirar.processors.database.database_updater module
Module for processors to modify database entries
- class mirar.processors.database.database_updater.BaseDatabaseUpdater(db_alter_columns: str | list[str], **kwargs)[source]
Bases:
BaseDatabaseSelector,ABCBase class for database updaters
- base_key = 'dbupdater'
- class mirar.processors.database.database_updater.ImageDatabaseMultiEntryUpdater(sequence_key: str, **kwargs)[source]
Bases:
ImageSequenceDatabaseUpdaterProcessor to modify multiple entries specified by a list of sequences in an image database
- class mirar.processors.database.database_updater.ImageDatabaseUpdater(db_alter_columns: str | list[str], **kwargs)[source]
Bases:
BaseDatabaseUpdater,BaseImageDatabaseSelector,ABCBase Class for updating image entries in a database
- class mirar.processors.database.database_updater.ImageSequenceDatabaseUpdater(sequence_key: str | list[str] | None = None, **kwargs)[source]
Bases:
ImageDatabaseUpdaterProcessor to modify images in a database with a sequence
- description() str[source]
Return a description of the processor
- Returns:
A description of the processor
- get_constraints(data) DBQueryConstraints[source]
Function to get the constraints for a database query
- Parameters:
data – Image
- Returns:
Constraints for a database query