fusionlab.utils.fetch_joblib_data

fusionlab.utils.fetch_joblib_data(job_file, *keys, error_mode='raise', verbose=0)[source]

Dynamically load data from a joblib-saved dictionary with flexible key access.

Parameters:
  • job_file (str) – Path to the joblib file containing a dictionary

  • *keys (str) – Variable-length list of dictionary keys to retrieve

  • error_mode ({'raise', 'warn', 'ignore'}, default 'raise') – Handling of missing keys: - ‘raise’: Immediately raise KeyError - ‘warn’: Issue warning and skip missing keys - ‘ignore’: Silently skip missing keys

  • verbose (int, default 0) – Verbosity level: - 0: No output - 1: Basic loading information - 2: Detailed debugging output

Returns:

  • Full dictionary if no keys specified

  • Tuple of values for requested keys (maintaining order)

Return type:

Union[Dict, Tuple]

Raises:
  • FileNotFoundError – If specified job_file doesn’t exist

  • TypeError – If loaded data isn’t a dictionary

  • KeyError – If requested key not found and error_mode=’raise’

Examples

>>> from fusionlab.utils.io_utils import fetch_joblib_data
>>> data = fetch_joblib_data('data.joblib', 'X_train', 'y_train')
>>> X, y = fetch_joblib_data('data.joblib', 'X_val', 'y_val', verbose=1)
>>> full_dict = fetch_joblib_data('data.joblib')

Notes

  • Maintains original insertion order for Python 3.7+ dictionaries

  • Missing keys in ‘warn’/’ignore’ modes result in shorter return tuple

  • Joblib files must contain dictionary objects