OCaml Packages
Explore thousands of open-source OCaml packages with their documentation
Publish a Package
opam
The OCaml Package Manager
Opam is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow
-
4683
Packages
-
34
New packages this month
-
52
Updates this week
packages
Most Used
odoc
OCaml Documentation Generator
alcotest
Alcotest is a lightweight and colourful test framework
lwt
Promises and event-driven I/O
fmt
OCaml Format pretty-printer combinators
logs
Logging infrastructure for OCaml
New Packages
ppx_platform
Platform-specific code for native and Melange builds
ppx_elpi
PPX deriver to interface OCaml data types with ELPI
faker
Generate massive amounts of fake (but realistic) data for testing and development
dream-mirage
Tidy, feature-complete Web framework
betacalendars
Deterministic calendar grids, recurrence and date-boundary utilities
Recently Updated
unic
A tool to infer what is needed to vendors to compile unikernels
uniq
A library which introspect and infer dependencies via codept, ocamlfind and opam
arc
ARC support in OCaml
pgn_to_tex
A chess PGN to TeX conversion tool
lilv
Bindings to lilv library for using LV2 audio plugins
stable ecosystem
Focus on Your Code, and opam Takes Care of Distributing It
Our users have the highest standards for the OCaml ecosystem to run mission-critical applications across a variety of operating systems, and they expect that a package that compiles today will still work a decade from now
Continuous Integration
Before any package update, we run sandboxed matrix builds for boundaries of the dependencies and for each of the dependent packages. A package publication will never break the rest of the ecosystem.
State of the Art
Opam supports publishing multiple versions of packages simultaneously to specify the version constraints, so only compatible revisions are chosen for a build. It comes with a performant constraint solver, a flexible CLI, a well-specified metadata format, and an easy access to the package manager logic via OCaml libraries.
Package Stability
The opam project and package repository is maintained by a team of developers who ensure that everything is not only running smoothly, but also curated to maintain a high degree of metadata quality. This makes it one of the most stable package repositories available today.
documentation
Automatic Documentation Generation
Every package published to opam gets its documentation built and hosted automatically on this website.
How It Works
Documentation is generated using odoc, the OCaml documentation tool. When you publish a package, a continuous integration pipeline called ocaml-docs-ci automatically picks it up, builds the documentation for all versions, and makes it available here.
The pipeline is built with OCurrent, a workflow specification language written in OCaml that powers much of the OCaml ecosystem's CI infrastructure.
Writing Good Documentation
To make the most of automatic documentation generation, add doc-comments to your .mli files
using the odoc syntax. These comments will be rendered as formatted documentation with cross-references to other modules and packages.
Learn more about writing documentation in the odoc documentation.
community
Start Contributing
Learn how to publish your first Opam package today and make it available to the rest of the community.