Coverage for src/lib2fas/utils.py: 100%
8 statements
« prev ^ index » next coverage.py v7.4.1, created at 2024-01-29 11:26 +0100
« prev ^ index » next coverage.py v7.4.1, created at 2024-01-29 11:26 +0100
1"""
2This file contains helper functionality.
3"""
5import typing
7from more_itertools import flatten as _flatten
8from rapidfuzz import fuzz
10T = typing.TypeVar("T")
13def flatten(data: list[list[T]]) -> list[T]:
14 """
15 Flatten a 2D list into a 1D list.
16 """
17 return list(_flatten(data))
20def fuzzy_match(val1: str, val2: str) -> float:
21 """
22 Wrapper around `fuzz.partial_ratio` with a slighly more friendly name.
23 """
24 return fuzz.partial_ratio(val1, val2)