Package URL (purl) ECMA-427 1st Edition: build, parse, validate and normalize pkg:type/namespace/name@version?qualifiers#subpath identifiers, with the per-component percent-encoding and case rules, the registered PURL type definitions (npm, pypi, maven, golang, cargo, nuget, gem, docker, oci, github, deb, rpm, generic and the rest) and their normalizations, the recommended qualifiers (repository_url, download_url, vcs_url, file_name, checksum, vers), and VERS 1.2 version ranges (vers:npm/>=1.0.0|<2.0.0).