nibcq.measurement.ConfigFileSupport
- class nibcq.measurement.ConfigFileSupport
Bases:
ProtocolProtocol 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:
- 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:
FileNotFoundError – If configuration file is not found
ValueError – If file content is invalid or required parameters are missing
json.JSONDecodeError – If file contains invalid JSON
- Return type: