Irmin is a key-value store based on the same principles as Git. This means that for existing Git users it provides many familiar features: branching/merging, history and the ability to restore to any previous state.
Typically Irmin is used by embedding it into an OCaml application, but can
also be accessed using HTTP using irmin-http
or GraphQL using irmin-graphql
.
It is most often used to store application data, like configuration values,
shared state or checkpoint data, but there is nothing stopping you from using it
as a general purpose key-value store too. Additionally, since it is compatible
with Git, Irmin can be used to interact with Git repositories directly from
within your application.
Take a moment to skim the README to familiarize yourself with some of the concepts. This tutorial should always be up to date with the latest opam release. If you find that anything is outdated, missing or unclear then please file an issue!