OPAM is an open-source package manager edited by OCamlPro. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
OPAM has been designed in the first place for OCaml. It is now the official way to install OCaml. Here are some useful links:
OCamlPro has developed several Cloud services for OPAM, usually in collaboration with Inria and IRILL:
The idea of OPAM emerged in 2010 in the FEDER Dorm collaborative project between the Mancoosi team at IRILL, the Inria team Gallium and the OCamlPro company.
Frederic Tuong was hired in 2011 at Inria by Fabrice Le Fessant to start the development, and was joined in 2012 by Thomas Gazagnaire at OCamlPro, who finalized the first version of OPAM, thanks to Jane Street fundings. Anil Madhavapeddy from OCamllabs was also involved a lot in the design of the Github workflow used to manage the OPAM repository.
The first version of OPAM was released in 2013, with more than 200 available packages, and the number of packages rapidely climbed to more than 1000 packages after one year of use.
OPAM is developed and maintained by OCamlPro.
If you would like to know more about OPAM or if you are already an happy user and would like to extend it for your needs, OCamlPro can provide:
Contact us for more details.
Available courses:
Contact us for more details.
OPAM supports all kinds of work-flows involving both public, shared and private components. OPAM also supports package pinning for easy deployment of unreleased components. Despite that flexibility, OPAM will ensure that your whole project stays up-to-date and consistent.
OPAM lets you collect the metadata about your components into self-contained repositories. Various kinds of repositories are supported: HTTP(s) servers, local and shared file-systems and Git: hence you can easily share the metadata of your components with your collaborators on GitHub.
OPAM keeps track of all the component dependencies in your project and ensures that it always stays in a consistent state. OPAM also ensures that only the minimal amount of computation is done when component interfaces change. This results in much shorter integration loops.
OPAM is developped using open-source technologies such as OCaml and CUDF. OPAM itself is an active open-source project with a vibrant sustainable, community-driven software model. Hence, you can easily modify it to make it better fit your needs.
OPAM is platform and project agnostic, making it the ideal choice for managing complex projects spanning multiple teams, tools and languages. OPAM uses state-of-the-art constraint solvers, developed in the framework of the Mancoosi project, to scale to hundred thousands of components -- the same tools are used daily by the Debian project to manage their packages.