OPAM

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.

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.

Open-Source

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.

Community

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.

 



OCamlPro

Support & Consulting



OPAM is developed and maintained by OCamlPro.

If you would like to know more about OPAM or if you are already a happy user and would like to extend it for your needs, OCamlPro can provide:

Training



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.

The full details are available on the OCamlPro website.

Users

OCamlPro released version 1.1 of OPAM in October 2013. This release mainly targets the OCaml ecosystem and adds lots of new features and stability improvements.

OPAM is already deployed in various environments, ranging from academic institutions -- such as Inria and University Paris Diderot, -- to industrial users -- such as Jane Street and Citrix.

Here are some examples of major OPAM deployments:


OPAM for OCaml

OPAM is the package manager for all OCaml projects. The official repository is managed by OCamlPro, OCaml Labs and the wider community; it gathers more than one hundred contributors and hundreds of packages and compiler descriptions.


OPAM for XenServer

The XAPI project is a sub-project (or team) of the Xen Project that develops the enterprise ready XAPI toolstack. Xen used with the XAPI toolstack consolidates server workloads, enables savings in power, cooling, and management costs and thus contributes to environmentally sustainable computing, increases the ability to adapt to ever-changing IT environments, optimises the use of existing hardware, and improves IT reliability.

Links

The XAPI project

The development packages