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:
objectClass 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)