[docs]defparse_dependencies(dependencies:list[str])->dict[str,str]:"""Transform a list of dependencies into a dictionary of dependencies, with package name as key."""parsed={}fordependencyindependencies:# Skip empty lines or commentsifnotdependencyordependency.startswith("#"):continue# Handle editable packagesifdependency.startswith("-e"):pkg_repo,pkg_name=dependency.rsplit("/",1)pkg_name=pkg_name.split("#egg=")[-1]# Extract package namepkg_version="editable"else:parts=dependency.split("==")iflen(parts)==2:pkg_name,pkg_version=partselse:# Handle packages without a version or with unusual formattingpkg_name,pkg_version=parts[0],"unknown"# Check for duplicatesifpkg_nameinparsed:raiseValueError(f"Duplicate package name {pkg_name} found.")parsed[pkg_name]=pkg_versionreturnparsed