NothingType=Literal[_Nothing.NOTHING]__all__=["NOTHING","Attribute","AttrsInstance","Converter","Factory","NothingType","asdict","assoc","astuple","attr","attrib","attributes","attrs","cmp_using","converters","define","evolve","exceptions","field","fields","fields_dict","filters","frozen","get_run_validators","has","ib","make_class","mutable","resolve_types","s","set_run_validators","setters","validate","validators",]def_make_getattr(mod_name:str)->Callable:""" Create a metadata proxy for packaging information that uses *mod_name* in its warnings and errors. """def__getattr__(name:str)->str:ifnamenotin("__version__","__version_info__"):msg=f"module {mod_name} has no attribute {name}"raiseAttributeError(msg)fromimportlib.metadataimportmetadatameta=metadata("attrs")ifname=="__version_info__":returnVersionInfo._from_version_string(meta["version"])returnmeta["version"]return__getattr____getattr__=_make_getattr(__name__)