enchant.utils: Misc utilities for the enchant package
This module provides miscellaneous utilities for use with the enchant spellchecking package. Currently available functionality includes:
functions for dealing with locale/language settings
ability to list supporting data files (win32 only)
functions for bundling supporting data files from a build
- enchant.utils.get_default_language(default: str | None = None) str | None
Determine the user’s default language, if possible.
This function uses the
locale
module to try to determine the user’s preferred language. The return value is as follows:if a locale is available for the LC_MESSAGES category, that language is used
if a default locale is available, that language is used
if the keyword argument default is given, it is used
if nothing else works, None is returned
Note that determining the user’s language is in general only possible if they have set the necessary environment variables on their system.
- enchant.utils.levenshtein(s1: str, s2: str) int
Calculate the Levenshtein distance between two strings.
This is straight from Wikipedia.
- enchant.utils.trim_suggestions(word: str, suggs: Iterable[str], maxlen: int, calcdist: Callable[[str, str], int] | None = None) List[str]
Trim a list of suggestions to a maximum length.
If the list of suggested words is too long, you can use this function to trim it down to a maximum length. It tries to keep the “best” suggestions based on similarity to the original word.
If the optional calcdist argument is provided, it must be a callable taking two words and returning the distance between them. It will be used to determine which words to retain in the list. The default is a simple Levenshtein distance.