package cmdliner

  1. Overview
  2. Docs
Declarative definition of command line interfaces for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

cmdliner-0.9.4.tbz
sha256=ecb65e2cfd984ec07e97a78f334a80cda41fb8f8bb5e37c41fd33e6a0e2e69ef
md5=5089b4b69993ddc5ce4aac0e30d0c641

Description

Cmdliner is a module for the declarative definition of command line interfaces.

It provides a simple and compositional mechanism to convert command line arguments to OCaml values and pass them to your functions. The module automatically handles syntax errors, help messages and UNIX man page generation. It supports programs with single or multiple commands and respects most of the POSIX and GNU conventions.

Cmdliner is made of a single independent module and distributed under the BSD3 license.

Tags

cli system declarative

Published: 10 Feb 2014

README

Cmdliner — Declarative definition of command line interfaces for OCaml

Release 0.9.4

Cmdliner is a module for the declarative definition of command line interfaces.

It provides a simple and compositional mechanism to convert command line arguments to OCaml values and pass them to your functions. The module automatically handles syntax errors, help messages and UNIX man page generation. It supports programs with single or multiple commands and respects most of the POSIX and GNU conventions.

Cmdliner is made of a single independent module and distributed under the BSD3 license.

Home page: http://erratique.ch/software/cmdliner Contact: Daniel Bünzli <daniel.buenzl i@erratique.ch>

Installation

Cmdliner can be installed with opam:

opam install cmdliner

If you don't use opam consult the opam file for build instructions.

Documentation

The documentation and API reference is automatically generated by ocamldoc from the interfaces. It can be consulted online and there is a generated version in the doc directory of the distribution.

Sample programs

If you installed Cmdliner with opam sample programs are located in the directory opam config var cmdliner:doc. These programs define the command line of some classic programs.

In the distribution sample programs are located in the test directory of the distribution. They can be built with:

ocamlbuild -use-ocamlfind test/tests.otarget

The resulting binaries are in _build/test.

Dependencies (3)

  1. ocamlbuild build
  2. ocamlfind
  3. ocaml >= "3.12.0" & < "5.0"

Dev Dependencies

None

  1. alcotest-async < "1.7.0"
  2. alt-ergo = "2.4.0"
  3. altgr-ergo = "2.4.0"
  4. arc >= "0.0.2"
  5. awa < "0.2.0"
  6. aws-s3 < "4.6.0"
  7. bap-beagle < "2.3.0"
  8. bap-byteweight-frontend
  9. bap-callsites
  10. bap-demangle < "2.5.0"
  11. bap-fsi-benchmark
  12. bap-main != "2.4.0"
  13. bap-phoenix
  14. bap-piqi
  15. bap-taint-propagator
  16. bap-trace
  17. bap-warn-unused
  18. builder < "0.3.2"
  19. builder-web < "0.2.0"
  20. bytepdf
  21. ca-certs-nss < "3.77"
  22. camels < "1.0.0"
  23. capnp-rpc-unix < "1.2.3"
  24. caqti = "1.7.0"
  25. caqti-async = "1.7.0"
  26. caqti-lwt = "1.7.0"
  27. catala-format >= "0.2.0" & < "1.2.0"
  28. charrua-unix < "1.6.0"
  29. checkseum >= "0.0.2" & < "0.2.0"
  30. cmdtui-lambda-term
  31. cohttp-lwt-unix != "4.1.2" & < "5.3.0"
  32. coin < "0.1.2"
  33. conex < "1.0.0"
  34. conex-mirage-crypto < "1.0.0"
  35. confero
  36. craml
  37. crunch < "4.0.0"
  38. current < "0.6.2"
  39. current_examples < "0.6.2"
  40. current_web < "0.6.2"
  41. decompress < "1.0.0"
  42. depext < "1.0.3"
  43. depgraph
  44. diffast-git-cli < "0.3.5.1"
  45. dirsift
  46. dockerfile-cmd
  47. dockerfile-opam < "8.2.7"
  48. dolmen_bin < "0.7"
  49. dream-cli < "0.2.0"
  50. dscheck >= "0.2.0"
  51. dune-deps >= "1.1.0" & < "1.3.0"
  52. dune-release < "1.6.1"
  53. dune_deps_extra
  54. elasticsearch-cli
  55. electrod
  56. elpi
  57. equinoxe < "0.2.0"
  58. erlang
  59. facteur
  60. fat-filesystem < "0.15.1"
  61. fsevents-lwt
  62. git >= "3.2.0" & < "3.15.0"
  63. git-unix < "3.2.0"
  64. gobba >= "0.4.2"
  65. happy-eyeballs-lwt < "0.6.0"
  66. hlarp
  67. hll < "4.3"
  68. http-lwt-client < "0.0.8"
  69. hvsock < "3.0.1"
  70. hxd < "0.3.0"
  71. igvxml
  72. index >= "1.3.0"
  73. index-bench < "1.3.2" | >= "1.4.2"
  74. irmin-bench < "3.11.0"
  75. irmin-cli < "3.11.0"
  76. irmin-pack < "3.11.0"
  77. irmin-test < "3.11.0"
  78. irmin-tezos < "3.11.0"
  79. irmin-unix
  80. js_of_ocaml-compiler < "4.0.0"
  81. jsonxt
  82. kafka < "0.5"
  83. kafka_lwt
  84. kaun-board
  85. kinetic-client
  86. learn-ocaml < "0.14.1"
  87. learn-ocaml-client < "0.14.1"
  88. llopt
  89. mastodon-archive-viewer < "0.4.0"
  90. merge-fmt < "0.3"
  91. minicaml >= "0.2.2" & < "0.3.3"
  92. mirage < "4.7.0"
  93. mirage-monitoring < "0.0.8"
  94. mirage-runtime = "4.0.0"
  95. mirage-seal
  96. mkaudio < "1.1.3"
  97. mlgpx
  98. mnet-cli < "0.0.2"
  99. mrmime = "0.5.0"
  100. named-pipe
  101. nbd < "4.0.3"
  102. obandit >= "0.3.4"
  103. obuilder < "0.4"
  104. ocal
  105. ocamlcodoc
  106. ocamlformat < "0.21.0"
  107. ocamlformat-mlx-lib < "0.27.0"
  108. ocamlformat-rpc < "removed"
  109. ocgtk
  110. ocp-browser >= "1.2.1" & < "1.3.4"
  111. ocp-index < "1.3.4"
  112. ocp-reloc
  113. odds < "1.1"
  114. omigrate < "0.3.0"
  115. opam-0install < "0.4.3"
  116. opam-0install-cudf < "0.4.1"
  117. opam-bundle < "0.4"
  118. opam-ci
  119. opam-compiler < "0.2.0"
  120. opam-ed < "0.3"
  121. opam-lib
  122. opam-package-upgrade
  123. opam-publish >= "0.3.5" & < "2.1.0"
  124. opium
  125. ordma >= "0.0.5"
  126. osbx
  127. oskel
  128. osx-fsevents
  129. owee >= "0.8"
  130. owi >= "0.2"
  131. passage >= "0.1.8" & < "0.3.2"
  132. passmakercmd
  133. pds >= "4.13" & < "5.42"
  134. pkcs11-cli < "1.0.1"
  135. plotkicadsch
  136. polly < "0.4.1"
  137. prelude < "0.5"
  138. prof_spacetime
  139. prometheus-app
  140. protocol-9p < "0.12.1"
  141. protocol-9p-tool < "2.1.0"
  142. protocol-9p-unix < "0.12.1"
  143. qcow < "0.12.1"
  144. qcow-tool < "0.12.1"
  145. qmp < "0.20.0"
  146. quill
  147. rosetta < "0.3.0"
  148. runtime_events_tools < "0.3"
  149. sid
  150. slack
  151. slacko
  152. slipshow < "0.1.1"
  153. spin
  154. sslconf
  155. tallgeese
  156. telltime
  157. tensorflow
  158. timmy
  159. tldr
  160. torch < "v0.16.0"
  161. touist < "3.5.0"
  162. uring < "0.3"
  163. user-setup
  164. uuuu < "0.2.0"
  165. valentine
  166. vchan < "6.0.2"
  167. vecosek
  168. webauthn < "0.2.0"
  169. xapi-inventory
  170. xen-evtchn
  171. xen-evtchn-unix
  172. xen-gnt
  173. yuscii < "0.3.0"
  174. zeit

Conflicts

None