mirage/ocaml-uri

RFC3986 URI parsing library for OCaml

99

stars

452

commits

OCaml

primary language

Nov 24, 2025

updated

ocaml
rfc-3986
uri
url
Browse cluster: OCaml Systems Programming & MirageOS

README

Uri -- an RFC3986 URI/URL parsing library

This is an OCaml implementation of the RFC3986 specification for parsing URI or URLs.

Installation

Via OPAM

The OPAM package manager can be used to install this library from source.

opam install uri

Locally

You can build the source code locally via the dune build system.

opam install uri --deps-only
eval `opam config env`
dune build
dune runtest

will install the dependencies via OPAM, build the library and then run the tests in the lib_test/ directory.

Usage

Once installed, there are three ocamlfind packages available for your use:

  • uri - the base Uri module
  • uri-re - the legacy implementation At the beginning, uri used re to parse a string. Since 4.0.0, we use angstrom - if something breaks with uri.4.0.0, you should compare with uri-re and submit an issue. uri-re is deprecated and it will be removed on the next release (see #150)
  • uri.top - the toplevel printers for use with utop
  • uri-sexp - provides converters to and from s-expressions (via a Uri_sexp.t type alias)
  • uri.services - the Uri_services module that provides the equivalent of services(5)
  • uri.services_full - the Uri_services_full module that provides a complete copy of the /etc/services file. This is quite large and normally not needed.

Contact

Build Status

Contributors

(top 30 of 33)

avsm

257 commits

dsheets

83 commits

dinosaure

28 commits

vbmithr

10 commits

mirage/ocaml-uri

RFC3986 URI parsing library for OCaml

99

stars

452

commits

OCaml

primary language

Nov 24, 2025

updated

ocaml
rfc-3986
uri
url
Browse cluster: OCaml Systems Programming & MirageOS

README

Uri -- an RFC3986 URI/URL parsing library

This is an OCaml implementation of the RFC3986 specification for parsing URI or URLs.

Installation

Via OPAM

The OPAM package manager can be used to install this library from source.

opam install uri

Locally

You can build the source code locally via the dune build system.

opam install uri --deps-only
eval `opam config env`
dune build
dune runtest

will install the dependencies via OPAM, build the library and then run the tests in the lib_test/ directory.

Usage

Once installed, there are three ocamlfind packages available for your use:

  • uri - the base Uri module
  • uri-re - the legacy implementation At the beginning, uri used re to parse a string. Since 4.0.0, we use angstrom - if something breaks with uri.4.0.0, you should compare with uri-re and submit an issue. uri-re is deprecated and it will be removed on the next release (see #150)
  • uri.top - the toplevel printers for use with utop
  • uri-sexp - provides converters to and from s-expressions (via a Uri_sexp.t type alias)
  • uri.services - the Uri_services module that provides the equivalent of services(5)
  • uri.services_full - the Uri_services_full module that provides a complete copy of the /etc/services file. This is quite large and normally not needed.

Contact

Build Status

Contributors

(top 30 of 33)

avsm

257 commits

dsheets

83 commits

dinosaure

28 commits

vbmithr

10 commits

Languages

OCaml

99.8%