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 < "0.2.0"
  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. prelude
  223. prof_spacetime
  224. prometheus-app >= "0.4"
  225. protocol-9p < "0.12.1"
  226. protocol-9p-tool
  227. protocol-9p-unix < "0.12.1"
  228. publish < "0.3.4+transition"
  229. qcow < "0.10.2" | >= "0.11.0"
  230. qcow-format
  231. qcow-tool
  232. qmp < "0.20.0"
  233. regenerate < "0.2"
  234. rosetta < "0.3.0"
  235. rotor
  236. rpc >= "1.9.51" & < "5.9.0"
  237. rpclib < "9.0.0"
  238. satyrographos < "0.0.1.7"
  239. shared-block-ring < "3.0.1"
  240. sibylfs
  241. sid
  242. slack
  243. slack-backup
  244. slacko
  245. slipshow
  246. snabela
  247. solo5-elftool < "0.3.1"
  248. spin
  249. spotify-cli
  250. sslconf
  251. tallgeese
  252. tar-format >= "0.2.0" & < "0.7.1"
  253. telltime
  254. tensorflow >= "0.0.4"
  255. tezos-context-hash-irmin
  256. tezos-node >= "8.0" & < "13.0"
  257. timmy
  258. tldr >= "0.3.0"
  259. tlstunnel
  260. topkg-care < "0.9.0"
  261. torch < "v0.16.0"
  262. touist >= "3.5.0"
  263. travis-senv
  264. tuntap >= "1.0.0" & != "1.4.1" & < "2.0.1"
  265. u2f
  266. uring < "0.3"
  267. usbmux
  268. user-setup >= "0.4"
  269. uuuu < "0.2.0"
  270. valentine
  271. vchan < "6.0.2"
  272. vchan-unix < "6.0.2"
  273. vchan-xen < "6.0.2"
  274. vecosek
  275. vhd-tool
  276. vimebac
  277. vpnkit
  278. webauthn < "0.2.0"
  279. xapi-idl
  280. xapi-inventory
  281. xapi-rrd-transport
  282. xe-unikernel-upload
  283. xen-block-driver
  284. xen-disk
  285. xen-evtchn
  286. xen-evtchn-unix
  287. xen-gnt >= "1.0.0"
  288. xenctrl
  289. xentropyd
  290. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.