defremove_none_values(d:T)->T:"""Remove all keys with a ``None`` value from a dict."""filtered_dict={k:vfork,vind.items()ifvisnotNone}returncast(T,filtered_dict)
defcamel_to_human(s:str)->str:"""Convert a camelCase string to a human-readable string. Examples -------- >>> camel_to_human("camelCase") 'Camel Case' >>> camel_to_human("camelCaseString") 'Camel Case String' >>> camel_to_human("randomID") 'Random ID' """# Use regex to find positions where a lowercase letter is followed by an uppercase letters=re.sub("([a-z])([A-Z])",r"\1 \2",s)# Capitalize the first letter of each wordreturns
defto_human(s:str)->str:"""Convert a string to a human-readable string."""result=sifs.islower():result=snake_to_human(s)else:result=camel_to_human(s)returnresult.title()
defformat_dict(d:Mapping[str,Any],level:int=0,indent_width:int=2)->str:"""Format a dict in a human-readable format. Simple values are printed as-is, lists are printed as comma-separated values, and dicts are recursively formatted with keys as section headers. """defformat_value(value:Any,level:int)->str:ifisinstance(value,Mapping):returnformat_dict(value,level+1)elifisinstance(value,list):return"\n".join(" "*((level+1)*indent_width)+"- "+format_value(item,level+1).strip()foriteminvalue)else:strval=str(value).strip()if"\n"instrval:return"\n"+textwrap.indent(strval,prefix=" "*(level*indent_width))else:returnstrvalindent=" "*(level*indent_width)formatted_items=[]forkey,valueind.items():formatted_value=format_value(value,level)orf"{indent} <empty>"header=f"{indent}{to_human(key)}"ifisinstance(value,list|Mapping):formatted_items.append(f"{header}:\n{formatted_value}\n")else:formatted_items.append(f"{header}: {formatted_value}")return"\n".join(formatted_items)