pipeline.src.flows.missions

Functions

extract_missions(→ pandas.DataFrame)

Extracts missions data from Monitorenv database for the specified number of months.

extract_missions_control_units(→ pandas.DataFrame)

Extracts all missions_control_units data from the Monitorenv database.

filter_missions_control_units(→ pandas.DataFrame)

Returns the subset of the input missions_control_units whose mission_id is

load_missions_and_missions_control_units(missions, ...)

Truncates tables and populates them with data from input DataFrames.

missions_flow(number_of_months[, extract_missions_fn, ...])

Module Contents

pipeline.src.flows.missions.extract_missions(number_of_months: int) pandas.DataFrame[source]

Extracts missions data from Monitorenv database for the specified number of months.

Parameters:

number_of_months (int) – number of months of controls data to extract, going backwards from the present.

Raises:
  • ValueError – if number_of_months is not of type int

  • ValueError – if number_of_months is not between 1 and 240

Returns:

DataFrame with missions data.

Return type:

pd.DataFrame

pipeline.src.flows.missions.extract_missions_control_units() pandas.DataFrame[source]

Extracts all missions_control_units data from the Monitorenv database.

Returns:

DataFrame of missions_control_units.

Return type:

pd.DataFrame

pipeline.src.flows.missions.filter_missions_control_units(missions: pandas.DataFrame, missions_control_units: pandas.DataFrame) pandas.DataFrame[source]

Returns the subset of the input missions_control_units whose mission_id is present the missions.id Series.

Parameters:
  • missions (pd.DataFrame) – DataFrame of missions. Must have an id column.

  • missions_control_units (pd.DataFrame) – DataFrame of missions_control_units. Must have a mission_id column.

Returns:

Filtered missions_control_units.

Return type:

pd.DataFrame

pipeline.src.flows.missions.load_missions_and_missions_control_units(missions: pandas.DataFrame, missions_control_units: pandas.DataFrame, analytics_missions_table: sqlalchemy.Table, analytics_missions_control_units_table: sqlalchemy.Table)[source]

Truncates tables and populates them with data from input DataFrames.

pipeline.src.flows.missions.missions_flow(number_of_months: int, extract_missions_fn=extract_missions, extract_missions_control_units_fn=extract_missions_control_units)[source]