factorymind.data_loader module

Functionality for interaction with factory data on the FactoryMind platform

Code documentation

class factorymind.data_loader.FactoryDB(api_url_base: str = 'core-api:80', api_key: Optional[str] = None, verbose: bool = True)

Bases: object

Class for FM interaction with factory data

Parameters
  • api_url_base – str, defaults to “core-api:80”. Url to FM api

  • api_key – str, default None. API key to use with FM API

  • verbose – boolean, default True Indicator to print out list of data sources

data_info(dataset: str)

More info on specific dataset.

Parameters

dataset – str. Name of dataset (table) to get info about.

Return dataset_info

dict. Info of dataset, keys “name”, “nrows”, “ncolumns”

Return dataset_columns

list. List of dataset columns (strings)

Return dataset_sample

pd.DataFrame. Sample of 5 last records in dataset

Example

>>> from factorymind.data_loader import FactoryDB

>>> mydb = FactoryDB(apikey=YOUR-API-KEY)
>>> table_info, _, df_sample = mydb.data_info(dataset='example_data.energy_demand')
>>> print(table_info)

{'name': 'example_data.energy_demand', 'nrows': 35064, 'ncolumns': 29}
get_data(dataset: str, limit: int = 10000)

Fetch batch dataset from DB

Parameters
  • dataset – str. Name of dataset (collection)

  • limit – int, default 10000. Number of datapoints (rows) to limit query to

Return data

pd.DataFrame. Dataset, limited to last “limit” records

Example

>>> from factorymind.data_loader import FactoryDB

>>> mydb = FactoryDB(apikey=YOUR-API-KEY)
>>> df = mydb.get_data(dataset="example_data.sensors", limit=100)
list_data_sources()

List available data sources on factory data platform

Return data_sources

list of strings. List of data sources (collections) available on FactoryMind data platform

Return type

list

Example

>>> from factorymind.data_loader import FactoryDB

>>> mydb = FactoryDB(apikey=YOUR-API-KEY)
>>> mydb.list_data_sources()

['example_data.energy_demand', 'example_data.sensors', 'sensors.sensors', 'sensors.sensors_metadata']
run_custom_query(query: str)

Run custom SQL query towards DB

Parameters
  • dataset – str. Name of dataset (collection)

  • limit – int, default 10000. Number of datapoints (rows) to limit query to

Return data

pd.DataFrame. Dataset, limited to last “limit” records

Example

>>> from factorymind.data_loader import FactoryDB

>>> mydb = FactoryDB(apikey=YOUR-API-KEY)
>>> query = """
            SELECT timestamp, sensor_00
            FROM example_data.sensors
            WHERE sensor_00 > 2.30;
        """
>>> df = mydb.run_custom_query(query)