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

1""" 

2This file contains helper functionality. 

3""" 

4 

5import typing 

6 

7from more_itertools import flatten as _flatten 

8from rapidfuzz import fuzz 

9 

10T = typing.TypeVar("T") 

11 

12 

13def flatten(data: list[list[T]]) -> list[T]: 

14 """ 

15 Flatten a 2D list into a 1D list. 

16 """ 

17 return list(_flatten(data)) 

18 

19 

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)