# ocaml/opam

opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.

Repository: https://github.com/ocaml/opam
Canonical: https://ross.abutalabs.com/products/opam
Homepage: https://opam.ocaml.org
Language: OCaml
License: NOASSERTION
License Family: other
Topics: ocaml, opam, package-manager, git
Last push: 2026-08-25T15:29:44+00:00

## Health v2 (maintenance only)
Score: 88/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 68, longevity 100
- inputs: {"age_days": 5311, "days_push": 8, "days_rel": 55, "gap_med": 127, "n_releases_24m": 6}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1376, forks 407 (observed 2026-08-28T04:04:33.233628+00:00)

## What it is
opam is the source-based package manager for OCaml, supporting multiple simultaneous compiler installations via switches, flexible package constraints, and a Git-friendly workflow. It is the standard tool for installing OCaml compilers, libraries, and managing per-project environments.

## Use cases
- install ocaml compiler and libraries
- manage multiple ocaml compiler versions side by side
- create isolated per-project ocaml environments
- pin and develop ocaml packages from git
- resolve ocaml package dependency constraints
- set up reproducible ocaml build environments
- publish ocaml packages to the opam repository

## When to choose
- you are developing in OCaml and need to install compilers and libraries
- you need multiple OCaml compiler versions or isolated switches per project
- you want a Git-friendly workflow for hacking on OCaml packages
- you need a mature dependency solver with flexible version constraints

## When to avoid
- you are working in a language other than OCaml
- you want prebuilt binary packages rather than source builds
- you need a general-purpose system package manager

## Facets
- artifact type: cli-tool
- maturity: stable
- function: package-manager, build-tool, cli, developer-tools
- domain: programming-languages, developer-tools, version-control
- platform: windows, bsd, cross-platform, cli
- tags: ocaml, opam, compiler-switches, source-based-package-manager, dependency-solver, command-line, linux, macos

## Member repositories
- ocaml/opam (main) score 88

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.233628+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:31.101574+00:00, confidence not recorded.
  - readme: https://github.com/ocaml/opam (fetched 2026-08-28T04:04:33.233628+00:00, sha 899fa5489dc3)
  - homepage: https://opam.ocaml.org (fetched 2026-08-29T11:56:46.060369+00:00, sha ea9720e4c79c)
  - site_page: https://opam.ocaml.org/doc/Install.html (fetched 2026-08-29T11:56:46.062958+00:00, sha c36d7c8535b7)
  - site_page: https://opam.ocaml.org/about.html (fetched 2026-08-29T11:56:46.067599+00:00, sha 28a578c6a18c)
  - site_page: https://opam.ocaml.org/doc/FAQ.html (fetched 2026-08-29T11:56:46.065082+00:00, sha 8d8fc6c5e09e)
  - site_page: https://opam.ocaml.org/blog/opam-2-5-0-rc1-publish (fetched 2026-08-29T11:56:46.069404+00:00, sha 0aa69ade5b52)
- Data as of 2026-08-30T08:39:29.467469+00:00.
