Module

contracts.utils

Utility helpers shared by contract rules.

Functions

edit_distance 2 int
Levenshtein distance between two strings.
def edit_distance(a: str, b: str) -> int
Parameters
Name Type Description
a str
b str
Returns
int
closest_match 3 str | None
Return closest string within max_dist, or None.
def closest_match(target: str, values: set[str], *, max_dist: int) -> str | None
Parameters
Name Type Description
target str
values set[str]
max_dist int
Returns
str | None
closest_id 3 str | None
Closest ID match ignoring case.
def closest_id(target: str, ids: set[str], *, max_dist: int = 3) -> str | None
Parameters
Name Type Description
target str
ids set[str]
max_dist int Default:3
Returns
str | None
closest_field 3 str | None
Closest form field candidate.
def closest_field(target: str, fields: set[str], *, max_dist: int = 2) -> str | None
Parameters
Name Type Description
target str
fields set[str]
max_dist int Default:2
Returns
str | None