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
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1import difflib
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}'.")