Coverage for mindsdb / integrations / utilities / handlers / validation_utilities / parameter_validation_utilities.py: 0%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-21 00:36 +0000

1import difflib 

2 

3 

4class ParameterValidationUtilities: 

5 @staticmethod 

6 def validate_parameter_spelling(handler_cls, parameters): 

7 expected_params = handler_cls.model_fields.keys() 

8 for key in parameters.keys(): 

9 if key not in expected_params: 

10 close_matches = difflib.get_close_matches( 

11 key, expected_params, cutoff=0.4 

12 ) 

13 if close_matches: 

14 raise ValueError( 

15 f"Unexpected parameter '{key}'. Did you mean '{close_matches[0]}'?" 

16 ) 

17 else: 

18 raise ValueError(f"Unexpected parameter '{key}'.")