swhid is an OCaml library to work with persistent identifiers found in Software Heritage
a parser and a printer for swhid
functions to compute a swhid for a given object (content, directory, revision, release, snapshot)
functions to query the swh API in order to get an URL from which you can download a given object
swhid can be installed with opam:
opam install swhid
If you don't have
opam, you can install it following the how to install opam guide.
If you can't or don't want to use
opam, consult the opam file for build instructions.
let id = "swh:1:rev:db21f0afdb54c16b265754ca599869fda0ca4bfc" let url = match Swhid.Parse.from_string id with | Error e -> Error e | Ok id -> Swhid.Download.revision id let () = match url with | Error e -> Format.eprintf "can't get download URL: `%s`@." e | Ok url -> Format.printf "you can download the revision at the URL: `%s`@." url