Irmin is a key-value store based on the same priciples 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 accessed 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.