package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.0.1.tbz
sha256=e9964972ac3a6f0636575fe16ac4a5df15392904e51d60c281f72c00e148448c
md5=6eb1083e64fa8775e5df16d8c9b1bc75

Description

Cmdliner allows the declarative definition of command line interfaces for OCaml.

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 has no dependencies and is distributed under the ISC license.

README

Cmdliner — Declarative definition of command line interfaces for OCaml

v1.0.1

Cmdliner allows the declarative definition of command line interfaces for OCaml.

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 has no dependencies and is distributed under the ISC 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 from the source interfaces. It can be consulted online or via odig doc cmdliner.

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 and run with:

topkg build --tests true && topkg test

Dependencies (5)

  1. result < "1.5"
  2. topkg >= "0.8.1" & build
  3. ocamlbuild build
  4. ocamlfind build
  5. ocaml >= "4.01.0" & < "5.0"

Dev Dependencies

None

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

Conflicts

None

OCaml

Innovation. Community. Security.