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

7 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-04-04 03:33 -0600

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 

11from muutils.misc.hashing import stable_hash 

12from muutils.misc.sequence import ( 

13 WhenMissing, 

14 empty_sequence_if_attr_false, 

15 flatten, 

16 list_split, 

17 list_join, 

18 apply_mapping, 

19 apply_mapping_chain, 

20) 

21from muutils.misc.string import ( 

22 sanitize_name, 

23 sanitize_fname, 

24 sanitize_identifier, 

25 dict_to_filename, 

26 dynamic_docstring, 

27) 

28from muutils.misc.numerical import ( 

29 shorten_numerical_to_str, 

30 str_to_numeric, 

31 _SHORTEN_MAP, 

32) 

33from muutils.misc.freezing import ( 

34 FrozenDict, 

35 FrozenList, 

36 freeze, 

37) 

38from muutils.misc.classes import ( 

39 is_abstract, 

40 get_all_subclasses, 

41 isinstance_by_type_name, 

42 IsDataclass, 

43 get_hashable_eq_attrs, 

44 dataclass_set_equals, 

45) 

46 

47 

48__all__ = [ 

49 # submodules 

50 "classes", 

51 "freezing", 

52 "func", 

53 "hashing", 

54 "numerical", 

55 "sequence", 

56 "string", 

57 # imports 

58 "stable_hash", 

59 "WhenMissing", 

60 "empty_sequence_if_attr_false", 

61 "flatten", 

62 "list_split", 

63 "list_join", 

64 "apply_mapping", 

65 "apply_mapping_chain", 

66 "sanitize_name", 

67 "sanitize_fname", 

68 "sanitize_identifier", 

69 "dict_to_filename", 

70 "dynamic_docstring", 

71 "shorten_numerical_to_str", 

72 "str_to_numeric", 

73 "_SHORTEN_MAP", 

74 "FrozenDict", 

75 "FrozenList", 

76 "freeze", 

77 "is_abstract", 

78 "get_all_subclasses", 

79 "isinstance_by_type_name", 

80 "IsDataclass", 

81 "get_hashable_eq_attrs", 

82 "dataclass_set_equals", 

83]