package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-0.9.7.tbz
sha256=9c19893cffb5d3c3469ee0cce85e3eeeba17d309b33b9ace31aba06f68f0bf7a
md5=46d7553b95f623f811df2a844fb448fb

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.

README

Cmdliner — Declarative definition of command line interfaces for OCaml

Release 0.9.7

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 (2)

  1. ocamlbuild build
  2. ocaml >= "3.12.1" & < "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" | = "0.9.9"
  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 < "0.2.0"
  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. coq-serapi < "8.7.1+0.4.8"
  73. craml
  74. crunch < "3.3.0"
  75. current < "0.6"
  76. current_examples < "0.6"
  77. current_web < "0.6"
  78. datakit
  79. datakit-bridge-github
  80. datakit-bridge-local-git
  81. datakit-ci
  82. datakit-client < "0.11.0"
  83. datakit-client-9p
  84. datakit-github
  85. datakit-server >= "0.10.0" & < "0.11.0"
  86. decompress >= "0.8" & < "1.0.0"
  87. depext < "1.0.2"
  88. depgraph
  89. dirsift
  90. dkim < "0.4.0"
  91. dns >= "0.6.0" & < "0.19.1"
  92. dns-forward < "0.9.0"
  93. dns-lwt-unix
  94. dockerfile >= "1.1.0" & < "3.0.0"
  95. dockerfile-cmd
  96. dockerfile-opam < "8.1.0"
  97. dog
  98. dolmen_bin < "0.7"
  99. dream-cli < "0.2.0"
  100. dscheck >= "0.2.0"
  101. dune-deps >= "1.1.0" & < "1.3.0"
  102. dune-release < "1.6.1"
  103. earlybird < "1.0.0"
  104. elasticsearch-cli >= "1.0"
  105. electrod >= "0.2.1"
  106. electrumAnalyzer
  107. elpi >= "1.3.1"
  108. equinoxe < "0.2.0"
  109. erlang
  110. ezxenstore < "0.4.3"
  111. facteur
  112. fat-filesystem < "0.15.1"
  113. frenetic >= "3.2.0" & < "5.0.0"
  114. fsevents-lwt
  115. git < "1.10.0" | >= "3.0.0" & != "3.7.1" & < "3.8.1"
  116. git-unix >= "1.10.0" & < "3.0.0"
  117. github >= "0.4.0" & < "1.1.0"
  118. gobba
  119. happy-eyeballs-lwt < "0.2.0"
  120. hlarp
  121. hll >= "2.7"
  122. http-lwt-client < "0.0.6"
  123. hvsock < "3.0.1"
  124. hxd < "0.3.2"
  125. igvxml
  126. index >= "1.3.0"
  127. index-bench < "1.3.2" | >= "1.4.2"
  128. irmin < "1.0.0"
  129. irmin-bench
  130. irmin-cli
  131. irmin-pack >= "2.3.0"
  132. irmin-test >= "2.3.0"
  133. irmin-tezos
  134. irmin-unix = "1.0.0" | >= "2.3.0"
  135. jitsu
  136. js_of_ocaml >= "2.5" & < "3.0"
  137. js_of_ocaml-compiler < "4.0.0"
  138. jsonxt
  139. kafka >= "0.3" & < "0.5"
  140. kafka_lwt
  141. ketrew < "3.1.0"
  142. kinetic-client >= "0.0.9"
  143. labrys
  144. learn-ocaml < "0.14.1"
  145. learn-ocaml-client < "0.14.1"
  146. letsencrypt < "0.3.0"
  147. letsencrypt-app < "0.5.0"
  148. llopt
  149. mastodon-archive-viewer < "0.4.0"
  150. mbr-format < "1.0.0"
  151. merge-fmt < "0.3"
  152. message-switch
  153. minicaml >= "0.2.2"
  154. mirage >= "0.10.0" & < "2.7.0" | >= "4.0.0" & < "4.5.0"
  155. mirage-block-xen < "2.0.0"
  156. mirage-console >= "2.1.2" & < "2.2.0"
  157. mirage-console-xen-cli
  158. mirage-dns >= "2.6.0" & < "3.0.0"
  159. mirage-seal
  160. mirari
  161. mirror
  162. mkaudio < "1.1.3"
  163. mrmime = "0.5.0"
  164. named-pipe
  165. nbd >= "0.9.2" & < "4.0.3"
  166. nebula
  167. obandit >= "0.3.4"
  168. obuilder < "0.4"
  169. ocal
  170. ocaml-gist
  171. ocamlcodoc
  172. ocamlformat < "0.21.0"
  173. ocamlformat-rpc < "0.21.0"
  174. oci
  175. ocp-browser >= "1.1.6" & < "1.3.4"
  176. ocp-indent >= "1.2.0" & != "1.5.2" & < "1.6.0"
  177. ocp-index < "1.3.4"
  178. ocp-reloc
  179. odds < "1.1"
  180. odig < "0.0.2"
  181. odoc < "1.3.0"
  182. omigrate < "0.3.0"
  183. opam-0install < "0.4.3"
  184. opam-0install-cudf < "0.4.1"
  185. opam-build-revdeps
  186. opam-bundle < "0.4"
  187. opam-ci
  188. opam-compiler < "0.2.0"
  189. opam-ed < "0.3"
  190. opam-lib
  191. opam-package-upgrade
  192. opam-publish != "0.3.0+transition" & < "2.1.0"
  193. opam-query
  194. opam2web >= "1.3.0" & < "2.0"
  195. opass >= "2.15"
  196. operf-macro
  197. opium >= "0.12.0"
  198. ordma >= "0.0.5"
  199. osbx
  200. oskel
  201. osx-fsevents
  202. owi >= "0.2"
  203. passmakercmd
  204. pds >= "4.13"
  205. pkcs11-cli < "1.0.1"
  206. plotkicadsch >= "0.2.0"
  207. polly < "0.4.1"
  208. ppx_deriving_cmdliner < "0.3.1"
  209. prelude
  210. prof_spacetime
  211. prometheus-app >= "0.4"
  212. protocol-9p < "0.12.1"
  213. protocol-9p-tool
  214. protocol-9p-unix < "0.12.1"
  215. publish < "0.3.4+transition"
  216. qcow < "0.10.2" | >= "0.11.0"
  217. qcow-format
  218. qcow-tool
  219. qmp < "0.20.0"
  220. regenerate < "0.2"
  221. rosetta < "0.3.0"
  222. rotor
  223. rpc >= "1.9.51" & < "5.9.0"
  224. rpclib >= "6.1.0" & < "8.1.1"
  225. satyrographos < "0.0.1.7"
  226. shared-block-ring < "3.0.1"
  227. sibylfs
  228. sid
  229. slack
  230. slack-backup
  231. slacko
  232. slipshow
  233. snabela
  234. solo5-elftool < "0.3.1"
  235. spin
  236. spotify-cli
  237. sslconf
  238. tallgeese
  239. tar-format >= "0.2.0" & < "0.7.1"
  240. telltime
  241. tensorflow >= "0.0.4"
  242. tezos-context-hash-irmin
  243. tezos-node >= "8.0" & < "13.0"
  244. timmy
  245. tldr >= "0.3.0"
  246. tlstunnel
  247. topkg-care < "0.9.0"
  248. torch < "v0.16.0"
  249. travis-senv
  250. tuntap >= "1.0.0" & != "1.4.1" & < "2.0.1"
  251. u2f
  252. uring < "0.3"
  253. usbmux < "1.3.2"
  254. user-setup >= "0.4"
  255. uuuu < "0.2.0"
  256. valentine
  257. vchan < "6.0.2"
  258. vchan-unix < "6.0.2"
  259. vchan-xen < "6.0.2"
  260. vecosek
  261. vhd-tool
  262. vimebac
  263. vpnkit
  264. webauthn < "0.2.0"
  265. xapi-idl
  266. xapi-inventory
  267. xapi-rrd-transport
  268. xe-unikernel-upload
  269. xen-block-driver
  270. xen-disk
  271. xen-evtchn
  272. xen-evtchn-unix
  273. xen-gnt >= "1.0.0"
  274. xenctrl
  275. xentropyd
  276. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.