Opam
The source-based package manager for OCaml, created and maintained by our team since 2012. Opam powers the entire OCaml ecosystem, handling dependency resolution, compiler management, and package distribution for thousands of developers worldwide.
We built it. We maintain it.
Created at OCamlPro
Opam was designed and first implemented at OCamlPro in 2012. Since then, our team, led by Raja Boujbel, has maintained and evolved it into the standard package manager for the entire OCaml ecosystem. Major releases come from our engineers.
OCaml Ecosystem Tools
Beyond opam, we build and maintain core OCaml infrastructure: Flambda2 (compiler optimization), the opam repository, and key developer tooling. Our deep involvement in the OCaml ecosystem means we understand every layer, from compiler internals to package distribution.
What opam does
Source-Based Package Management
Opam compiles packages from source with full dependency resolution. It handles complex version constraints, optional dependencies, and conditional compilation across platforms.
Multiple Compiler Switches
Run multiple OCaml compiler versions side by side. Each switch is a fully isolated environment with its own set of packages, ideal for testing compatibility and migration.
Advanced Constraint Solving
Built on state-of-the-art dependency resolution algorithms developed with IRILL. Opam finds the best package configuration even with complex, conflicting constraints.
Git-Friendly Workflow
Pin packages to local directories, Git repositories, or specific commits. Development workflows integrate naturally with version control.
Custom & Private Repositories
Set up private opam repositories for internal packages. Control distribution, enforce policies, and manage proprietary code alongside open-source dependencies.
CI/CD Integration
Lock files, binary caching, and reproducible builds. Opam fits into modern CI/CD pipelines with predictable, repeatable installations.
Support from the maintainers
Nobody knows opam better than the people who build it. We offer professional services to help you get the most out of the OCaml ecosystem.
Custom Repository Setup
We set up and maintain private opam repositories for your organization, with access control, automated builds, and quality checks.
Opam Integration & CI/CD
We integrate opam into your development workflows, CI/CD pipelines, and deployment processes for reproducible, reliable builds.
Training
Our Mastering Opam training course covers advanced dependency management, custom repositories, and CI integration. Taught by opam's own maintainers.
Support & Consulting
Direct access to the opam maintainers for troubleshooting, performance optimization, and guidance on package management strategy.
Frequently asked questions
What is opam?
Opam is the official source-based package manager for OCaml. Created and maintained by our team, it handles dependency resolution, compiler switches, and reproducible builds for the entire OCaml ecosystem.
Can I use opam with a private package repository?
Yes. Opam supports custom and private repositories, allowing organizations to host internal libraries securely while still accessing the public ecosystem of 4,400+ packages.
How does opam handle multiple compiler versions?
Opam uses compiler switches to create isolated environments, each with its own compiler version and set of packages. This lets you test across versions and maintain legacy projects without conflicts.
Does opam support CI/CD workflows?
Yes. Opam provides lock files for fully reproducible builds and integrates seamlessly with CI/CD pipelines, ensuring consistent environments across development and deployment.
What support does Titagone offer for opam?
We offer professional support including custom repository setup, training, migration assistance, and priority issue resolution for organizations relying on opam in production.