nibcq.measurement.ConfigFileSupport

class nibcq.measurement.ConfigFileSupport

Bases: Protocol

Protocol for configuration file support in parameter classes.

This protocol defines the interface that parameter classes should implement to support loading configuration from JSON files. Using a protocol allows for duck typing while maintaining clear expectations for implementers.

Classes implementing this protocol can be used with configuration management utilities and provide consistent JSON loading behavior across different parameter types.

classmethod from_json(json_data: Dict[str, Any]) ConfigFileSupport

Create instance from JSON dictionary.

Parameters:

json_data (Dict[str, Any]) – Dictionary containing configuration data parsed from JSON

Returns:

Instance of the class implementing this protocol

Raises:
  • ValueError – If required parameters are missing or invalid

  • KeyError – If expected keys are not found in json_data

Return type:

ConfigFileSupport

classmethod from_file(file_path: str) ConfigFileSupport

Create instance from JSON configuration file.

Parameters:

file_path (str) – Path to JSON configuration file

Returns:

Instance of the class implementing this protocol

Raises:
Return type:

ConfigFileSupport