Coverage for muutils / misc / __init__.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-02-18 02:51 -0700

1"""miscellaneous utilities 

2 

3- `stable_hash` for hashing that is stable across runs 

4- `muutils.misc.sequence` for sequence manipulation, applying mappings, and string-like operations on lists 

5- `muutils.misc.string` for sanitizing things for filenames, adjusting docstrings, and converting dicts to filenames 

6- `muutils.misc.numerical` for turning numbers into nice strings and back 

7- `muutils.misc.freezing` for freezing things 

8- `muutils.misc.classes` for some weird class utilities 

9""" 

10 

11# pyright: reportPrivateUsage=false 

12 

13from muutils.misc.hashing import stable_hash 

14from muutils.misc.sequence import ( 

15 WhenMissing, 

16 empty_sequence_if_attr_false, 

17 flatten, 

18 list_split, 

19 list_join, 

20 apply_mapping, 

21 apply_mapping_chain, 

22) 

23from muutils.misc.string import ( 

24 sanitize_name, 

25 sanitize_fname, 

26 sanitize_identifier, 

27 dict_to_filename, 

28 dynamic_docstring, 

29) 

30from muutils.misc.numerical import ( 

31 shorten_numerical_to_str, 

32 str_to_numeric, 

33 _SHORTEN_MAP, 

34) 

35from muutils.misc.freezing import ( 

36 FrozenDict, 

37 FrozenList, 

38 freeze, 

39) 

40from muutils.misc.classes import ( 

41 is_abstract, 

42 get_all_subclasses, 

43 isinstance_by_type_name, 

44 IsDataclass, 

45 get_hashable_eq_attrs, 

46 dataclass_set_equals, 

47) 

48 

49 

50__all__ = [ 

51 # submodules 

52 "classes", 

53 "freezing", 

54 "func", 

55 "hashing", 

56 "numerical", 

57 "sequence", 

58 "string", 

59 # imports 

60 "stable_hash", 

61 "WhenMissing", 

62 "empty_sequence_if_attr_false", 

63 "flatten", 

64 "list_split", 

65 "list_join", 

66 "apply_mapping", 

67 "apply_mapping_chain", 

68 "sanitize_name", 

69 "sanitize_fname", 

70 "sanitize_identifier", 

71 "dict_to_filename", 

72 "dynamic_docstring", 

73 "shorten_numerical_to_str", 

74 "str_to_numeric", 

75 "_SHORTEN_MAP", 

76 "FrozenDict", 

77 "FrozenList", 

78 "freeze", 

79 "is_abstract", 

80 "get_all_subclasses", 

81 "isinstance_by_type_name", 

82 "IsDataclass", 

83 "get_hashable_eq_attrs", 

84 "dataclass_set_equals", 

85]