package cudf

  1. Overview
  2. Docs
CUDF library (part of the Mancoosi tools)


Dune Dependency






CUDF (for Common Upgradeability Description Format) is a format for describing upgrade scenarios in package-based Free and Open Source Software distribution.

Published: 23 Jul 2022



libCUDF - CUDF (Common Upgradeability Description Format) library

libCUDF is a reference implementation of CUDF (Common Upgradeability
Description Format), a document format to describe package upgrade scenarios,
in a package manager agnostic way.  distributions.

A CUDF document consists of an optional leading "preamble", a "package
universe", and a trailing "user request":

- The package universe describes all packages known to the package
  manager, a subset of which (the "package status") denotes the
  package being currently installed on a given machine.

- The user request denotes a change to the package status requested by
  the user, e.g.: "install package foo", "remove package bar", ...

- The preamble contains meta-information such as a typing information
  for custom package properties, checksums, document unique
  identifiers, ...

A CUDF document is naturally complemented by a "solution" describing
the resulting package status (if any) that satisfies the user request,
as found by a package manager.

libCUDF enables manipulation of CUDF and related documents.


Development happens on GitLab, in the [CUDF project][1]. There you can find:

* [releases][4]
* [Git repository][5]
* [bug reports][6]


Please report bugs using the [bug tracker][6].
Patches are welcome!, just submit a merge request on GitLab.

If you're in a hurry and just want to get the latest version of the code, here
is the command you're looking for:

    $ git clone


libCUDF implements the Common Upgradeability Description Format (CUDF)
2.0 [specifications][2], edited by the [Mancoosi project][3].


 -- Stefano Zacchiroli <>  Sun, 14 Oct 2012 16:28:32 +0100

Dependencies (4)

  1. extlib-compat
  2. extlib
  3. dune >= "2.0"
  4. ocaml >= "4.07"

Dev Dependencies (2)

  1. odoc with-doc
  2. ounit2 with-test & >= "2.0.0"