package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-0.9.5.tbz
md5=a5195004312cd99bacde7de232bab73b

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: 04 Jul 2014

README

Cmdliner — Declarative definition of command line interfaces for OCaml

Release 0.9.5

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" & < "4.06.0"

Dev Dependencies

None

  1. acgtk >= "1.5.1" & < "1.5.3"
  2. alcotest < "1.0.0"
  3. alcotest-async >= "1.3.0" & < "1.6.0"
  4. alcotest-lwt >= "1.3.0" & < "1.6.0"
  5. alcotest-mirage >= "1.3.0" & < "1.6.0"
  6. alt-ergo = "2.4.0"
  7. altgr-ergo = "2.4.0"
  8. aperf
  9. awa < "0.1.1"
  10. aws-s3 >= "3.0.0" & < "4.6.0"
  11. aws-s3-async < "3.0.0"
  12. bap < "0.9.5"
  13. bap-abi < "2.2.0"
  14. bap-api < "2.2.0"
  15. bap-beagle < "2.3.0"
  16. bap-bil < "2.2.0"
  17. bap-byteweight-frontend
  18. bap-cache < "2.2.0"
  19. bap-callsites
  20. bap-demangle < "2.5.0"
  21. bap-dump-symbols < "2.2.0"
  22. bap-frames < "2.1.1"
  23. bap-frontend < "2.2.0"
  24. bap-fsi-benchmark
  25. bap-ida-plugin < "2.2.0"
  26. bap-llvm < "2.2.0"
  27. bap-main != "2.4.0"
  28. bap-mc < "2.0.0"
  29. bap-objdump < "2.2.0"
  30. bap-optimization < "2.2.0"
  31. bap-phoenix
  32. bap-piqi
  33. bap-plugins < "2.2.0"
  34. bap-std < "1.4.0"
  35. bap-symbol-reader < "2.2.0"
  36. bap-taint < "1.4.0"
  37. bap-taint-propagator
  38. bap-term-mapper < "2.2.0"
  39. bap-trace
  40. bap-veri
  41. bap-warn-unused
  42. bap-x86 < "2.2.0"
  43. batsh >= "0.0.4"
  44. benchpress
  45. benchpress-server
  46. boltzgen < "0.9.3"
  47. brozip
  48. bt
  49. builder < "0.3.1"
  50. builder-web
  51. bytepdf
  52. ca-certs-nss < "3.77"
  53. camels
  54. capnp-rpc-unix < "1.2.3"
  55. caqti = "1.7.0"
  56. caqti-async = "1.7.0"
  57. caqti-lwt = "1.7.0"
  58. certify < "0.2"
  59. charrua-unix
  60. checkseum >= "0.0.2" & < "0.2.0"
  61. cmdtui-lambda-term
  62. coclobas
  63. cohttp >= "0.13.0" & < "0.99.0"
  64. cohttp-lwt-unix != "4.1.2" & < "5.2.0"
  65. cohttp-lwt-unix-nossl
  66. cohttp-lwt-unix-ssl
  67. coin < "0.1.2"
  68. conex
  69. conex-mirage-crypto
  70. conex-nocrypto
  71. confero
  72. craml
  73. crunch < "3.3.0"
  74. current < "0.6"
  75. current_examples < "0.6"
  76. current_web < "0.6"
  77. datakit
  78. datakit-bridge-github
  79. datakit-bridge-local-git
  80. datakit-ci
  81. datakit-client < "0.11.0"
  82. datakit-client-9p
  83. datakit-github
  84. datakit-server >= "0.10.0" & < "0.11.0"
  85. decompress >= "0.8" & < "1.0.0"
  86. depext < "1.0.2"
  87. depgraph
  88. dirsift
  89. dkim < "0.4.0"
  90. dns >= "0.6.0" & < "0.19.1"
  91. dns-forward < "0.9.0"
  92. dns-lwt-unix
  93. dockerfile >= "1.1.0" & < "3.0.0"
  94. dockerfile-cmd
  95. dockerfile-opam < "8.1.0"
  96. dog
  97. dolmen_bin < "0.7"
  98. dream-cli < "0.2.0"
  99. dscheck >= "0.2.0"
  100. dune-deps >= "1.1.0" & < "1.3.0"
  101. dune-release < "1.6.1"
  102. earlybird < "1.0.0"
  103. elasticsearch-cli >= "1.0"
  104. electrod >= "0.2.1"
  105. electrumAnalyzer
  106. elpi >= "1.3.1"
  107. equinoxe < "0.2.0"
  108. erlang
  109. ezxenstore < "0.4.3"
  110. facteur
  111. fat-filesystem < "0.15.1"
  112. frenetic >= "3.2.0" & < "5.0.0"
  113. fsevents-lwt
  114. git < "1.10.0" | >= "3.0.0" & != "3.7.1" & < "3.8.1"
  115. git-unix >= "1.10.0" & < "3.0.0"
  116. github >= "0.4.0" & < "1.1.0"
  117. gobba
  118. happy-eyeballs-lwt < "0.2.0"
  119. hlarp
  120. hll >= "2.7"
  121. http-lwt-client < "0.0.6"
  122. hvsock < "3.0.1"
  123. hxd < "0.3.2"
  124. igvxml
  125. index >= "1.3.0"
  126. index-bench < "1.3.2" | >= "1.4.2"
  127. irmin < "1.0.0"
  128. irmin-bench
  129. irmin-cli
  130. irmin-pack >= "2.3.0"
  131. irmin-test >= "2.3.0"
  132. irmin-tezos
  133. irmin-unix = "1.0.0" | >= "2.3.0"
  134. jitsu
  135. js_of_ocaml >= "2.5" & < "3.0"
  136. js_of_ocaml-compiler < "4.0.0"
  137. jsonxt
  138. kafka >= "0.3" & < "0.5"
  139. kafka_lwt
  140. ketrew < "3.1.0"
  141. kinetic-client >= "0.0.9"
  142. labrys
  143. learn-ocaml < "0.14.1"
  144. learn-ocaml-client < "0.14.1"
  145. letsencrypt < "0.3.0"
  146. letsencrypt-app < "0.5.0"
  147. llopt
  148. mastodon-archive-viewer < "0.4.0"
  149. mbr-format < "1.0.0"
  150. merge-fmt < "0.3"
  151. message-switch
  152. minicaml >= "0.2.2"
  153. mirage >= "0.10.0" & < "2.7.0" | >= "4.0.0" & < "4.4.0"
  154. mirage-block-xen < "2.0.0"
  155. mirage-console >= "2.1.2" & < "2.2.0"
  156. mirage-console-xen-cli
  157. mirage-dns >= "2.6.0" & < "3.0.0"
  158. mirage-seal
  159. mirari
  160. mirror
  161. mkaudio < "1.1.3"
  162. mrmime = "0.5.0"
  163. named-pipe
  164. nbd >= "0.9.2" & < "4.0.3"
  165. obandit >= "0.3.4"
  166. obuilder < "0.4"
  167. ocal
  168. ocaml-gist
  169. ocamlcodoc
  170. ocamlformat < "0.21.0"
  171. ocamlformat-rpc < "0.21.0"
  172. oci
  173. ocp-browser >= "1.1.6" & < "1.3.4"
  174. ocp-indent >= "1.2.0" & != "1.5.2" & < "1.6.0"
  175. ocp-index < "1.3.4"
  176. ocp-reloc
  177. odds < "1.1"
  178. odig < "0.0.2"
  179. odoc < "1.3.0"
  180. omigrate < "0.3.0"
  181. opam-0install < "0.4.3"
  182. opam-0install-cudf < "0.4.1"
  183. opam-build-revdeps
  184. opam-bundle < "0.4"
  185. opam-ci
  186. opam-compiler < "0.2.0"
  187. opam-ed < "0.3"
  188. opam-lib
  189. opam-package-upgrade
  190. opam-publish != "0.3.0+transition" & < "2.1.0"
  191. opam-query
  192. opam2web >= "1.3.0" & < "2.0"
  193. opass >= "2.15"
  194. operf-macro
  195. opium >= "0.12.0"
  196. ordma >= "0.0.5"
  197. osbx
  198. oskel
  199. osx-fsevents
  200. owi >= "0.2"
  201. passmakercmd
  202. pds >= "4.13"
  203. pkcs11-cli < "1.0.1"
  204. plotkicadsch >= "0.2.0"
  205. polly < "0.4.1"
  206. ppx_deriving_cmdliner < "0.3.1"
  207. prof_spacetime
  208. prometheus-app >= "0.4"
  209. protocol-9p < "0.12.1"
  210. protocol-9p-tool
  211. protocol-9p-unix < "0.12.1"
  212. publish < "0.3.4+transition"
  213. qcow < "0.10.2" | >= "0.11.0"
  214. qcow-format
  215. qcow-tool
  216. qmp < "0.20.0"
  217. regenerate < "0.2"
  218. rosetta < "0.3.0"
  219. rotor
  220. rpc >= "1.9.51" & < "5.9.0"
  221. rpclib >= "6.1.0" & < "8.1.1"
  222. satyrographos < "0.0.1.7"
  223. shared-block-ring < "3.0.1"
  224. sibylfs
  225. sid
  226. slack
  227. slack-backup
  228. slacko
  229. snabela
  230. solo5-elftool < "0.3.1"
  231. spin
  232. spotify-cli
  233. sslconf
  234. tallgeese
  235. tar-format >= "0.2.0" & < "0.7.1"
  236. telltime
  237. tensorflow >= "0.0.4"
  238. tezos-context-hash-irmin
  239. tezos-node >= "8.0" & < "13.0"
  240. timmy
  241. tldr >= "0.3.0"
  242. tlstunnel
  243. topkg-care < "0.9.0"
  244. torch < "v0.16.0"
  245. travis-senv
  246. tuntap >= "1.0.0" & != "1.4.1" & < "2.0.1"
  247. u2f
  248. uring < "0.3"
  249. usbmux < "1.3.2"
  250. user-setup >= "0.4"
  251. uuuu < "0.2.0"
  252. valentine
  253. vchan < "6.0.2"
  254. vchan-unix < "6.0.2"
  255. vchan-xen < "6.0.2"
  256. vecosek
  257. vhd-tool
  258. vimebac
  259. vpnkit
  260. webauthn
  261. xapi-idl
  262. xapi-inventory
  263. xapi-rrd-transport
  264. xe-unikernel-upload
  265. xen-block-driver
  266. xen-disk
  267. xen-evtchn
  268. xen-evtchn-unix
  269. xen-gnt >= "1.0.0"
  270. xenctrl
  271. xentropyd
  272. yuscii < "0.3.0"

Conflicts

None