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
-
4475
Packages
-
27
New packages this month
-
72
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_mixins
A PPX for mixing module type signatures into a type declaration
conf-gtk4
Virtual package relying on GTK4 system installation
ocgtk
OCaml bindings for GTK 4
ochre-cli
Command-line interface for ochre syntax highlighter
ochre
Syntax highlighter using TextMate grammars and themes
Recently Updated
ocaml-base-compiler
First beta release of OCaml 5.5.0
ocaml-compiler
First beta release of OCaml 5.5.0
ocaml-variants
First beta release of OCaml 5.5.0
ppx_mixins
A PPX for mixing module type signatures into a type declaration
conf-gtk4
Virtual package relying on GTK4 system installation
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.