Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Topkg — The transitory OCaml software packager


Topkg is a packager for distributing OCaml software. It provides an API to describe the files a package installs in a given build configuration and to specify information about the package's distribution, creation and publication procedures.

The optional topkg-care package provides the topkg command line tool which helps with various aspects of a package's life cycle: creating and linting a distribution, releasing it on the WWW, publish its documentation, add it to the OCaml opam repository, etc.

Topkg is distributed under the ISC license and has no dependencies. This is what your packages will need as a build dependency.

Topkg-care is distributed under the ISC license it depends on fmt, logs, bos, cmdliner, webbrowser and opam-format.

Home page:


Topkg and topkg-care can be installed with opam:

opam install topkg       # All you need for your packages
opam install topkg-care  # topkg binary, takes care of your packages

If you don't use opam consult the topkg.opam and topkg-care.opam files for build instructions.


A basic introduction and API reference is automatically generated by ocamldoc from the interfaces. It can be consulted online.

The topkg command line tool is extensively documented in man pages available through it's help system. Type:

topkg help release # for help about releasing your package
topkg help         # for more help