defversion_info()->str:"""Return complete version information for Pydantic and its dependencies."""importimportlib.metadataasimportlib_metadataimportosimportplatformimportsysfrompathlibimportPathimportpydantic_core._pydantic_coreaspdcfrom._internalimport_gitasgit# get data about packages that are closely related to pydantic, use pydantic or often conflict with pydanticpackage_names={'email-validator','fastapi','mypy','pydantic-extra-types','pydantic-settings','pyright','typing_extensions',}related_packages=[]fordistinimportlib_metadata.distributions():name=dist.metadata['Name']ifnameinpackage_names:related_packages.append(f'{name}-{dist.version}')pydantic_dir=os.path.abspath(os.path.dirname(os.path.dirname(__file__)))most_recent_commit=(git.git_revision(pydantic_dir)ifgit.is_git_repo(pydantic_dir)andgit.have_git()else'unknown')info={'pydantic version':VERSION,'pydantic-core version':pdc.__version__,'pydantic-core build':getattr(pdc,'build_info',None)orpdc.build_profile,'install path':Path(__file__).resolve().parent,'python version':sys.version,'platform':platform.platform(),'related packages':' '.join(related_packages),'commit':most_recent_commit,}return'\n'.join('{:>30}{}'.format(k+':',str(v).replace('\n',' '))fork,vininfo.items())