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 for OCaml

OPAM has been designed in the first place for OCaml. It is now the official way to install OCaml. Here are some useful links:

  • The Official Website for OPAM for OCaml is now hosted at opam.ocaml.org, with a browsable list of packages.
  • The OPAM Repository with all package descriptions is hosted on Github.
  • The Sources of OPAM are also hosted on Github.
  • There are also additionnal tools for OPAM:
    • The opam-depext tool can be used to easily manage external dependencies.
    • The opam-publish tool is useful to create and update new package versions.
    • The opam2web tool is used to generate and update the OPAM repository website..

Cloud Services

OCamlPro has developed several Cloud services for OPAM, usually in collaboration with Inria and IRILL:

  • The OPAM Builder builds all OPAM packages in the opam-repository in real-time, to detect compilation failures as early as possible. Available at opam.ocamlpro.com/builder/.
  • The OPAM Backup stores source archives used by OPAM packages, in case they would become unavailable. Available at opam.ocamlpro.com/backup.
  • The OPAM Weather Service shows conflicts in real time between package dependencies. Available at ows.irill.org.
  • The CUDF Solver Farm can be used in environments where the external solvers, needed by OPAM for a better UX, are hard to install. Available at cudf-solvers.irill.org/.

OPAM History

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.



Support & Consulting

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:

  • Standard commercial support
  • Consulting services

Contact us for more details.


Available courses:

  • Getting started with OPAM. Learn how to manage your packages, switches and repositories.
  • OPAM for the Advanced User. Learn how to master OPAM workflows to speed-up your project developments.

Contact us for more details.

Flexible Workflows

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.

Repository Plugins

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.

Dependency Tracking

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 has a rich ecosystem of software which integrates together nicely. OCamlot is an automated framework integrated with GitHub to test for global project consistency when new components are submitted. Opam2web helps you build websites to visualize your universe of components.

Managing Complexity

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.