package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-0.9.8.tbz
sha256=7dfaafdd88ec9d96abf8ded4c0ea7111948194400220a56e4bb44a1edfa4bd41
md5=fc67c937447cc223722f1419fa2189da

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.8

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

Conflicts

None

OCaml

Innovation. Community. Security.