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. snabela
  245. solo5-elftool < "0.3.1"
  246. spin
  247. spotify-cli
  248. sslconf
  249. tallgeese
  250. tar-format >= "0.2.0" & < "0.7.1"
  251. telltime
  252. tensorflow >= "0.0.4"
  253. tezos-context-hash-irmin
  254. tezos-node >= "8.0" & < "13.0"
  255. timmy
  256. tldr >= "0.3.0"
  257. tlstunnel
  258. topkg-care < "0.9.0"
  259. torch < "v0.16.0"
  260. touist >= "3.5.0"
  261. travis-senv
  262. tuntap >= "1.0.0" & != "1.4.1" & < "2.0.1"
  263. u2f
  264. uring < "0.3"
  265. usbmux
  266. user-setup >= "0.4"
  267. uuuu < "0.2.0"
  268. valentine
  269. vchan < "6.0.2"
  270. vchan-unix < "6.0.2"
  271. vchan-xen < "6.0.2"
  272. vecosek
  273. vhd-tool
  274. vimebac
  275. vpnkit
  276. webauthn
  277. xapi-idl
  278. xapi-inventory
  279. xapi-rrd-transport
  280. xe-unikernel-upload
  281. xen-block-driver
  282. xen-disk
  283. xen-evtchn
  284. xen-evtchn-unix
  285. xen-gnt >= "1.0.0"
  286. xenctrl
  287. xentropyd
  288. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.