package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.0.0.tbz
sha256=3df9a78a1fa966ba0cfbc4195f0e4dc8d0ff67a4ed23aa1807ef47a0233ed6e7
md5=6baa375f393fbe9ca1fcb0a7a875e001

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

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
  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. prof_spacetime
  246. prometheus-app >= "0.4"
  247. protocol-9p < "0.12.1"
  248. protocol-9p-tool
  249. protocol-9p-unix < "0.12.1"
  250. publish < "0.3.4+transition"
  251. pyml_bindgen < "0.3.0"
  252. pyre-ast < "0.1.9"
  253. qcow < "0.10.2" | >= "0.11.0"
  254. qcow-format
  255. qcow-tool
  256. qmp < "0.20.0"
  257. regenerate
  258. rosetta < "0.3.0"
  259. rotor
  260. rpc >= "1.9.51" & < "5.9.0"
  261. rpclib < "9.0.0"
  262. satyrographos < "0.0.1.7"
  263. shared-block-ring < "3.0.1"
  264. sibylfs
  265. sid
  266. slack
  267. slack-backup
  268. slacko
  269. slipshow
  270. snabela
  271. solo5-elftool < "0.3.1"
  272. spin
  273. spotify-cli
  274. sslconf
  275. tallgeese
  276. tar-format >= "0.2.0" & < "0.7.1"
  277. telltime
  278. tensorflow >= "0.0.4"
  279. tezos-context-hash-irmin
  280. tezos-node >= "8.0" & < "13.0"
  281. timmy
  282. tldr >= "0.3.0"
  283. tlstunnel
  284. topkg-care
  285. torch < "v0.16.0"
  286. touist >= "3.5.0"
  287. travis-senv
  288. tuntap >= "1.0.0" & != "1.4.1" & < "2.0.1"
  289. u2f
  290. uring < "0.3"
  291. usbmux
  292. user-setup >= "0.4"
  293. uuuu < "0.2.0"
  294. valentine
  295. vchan < "6.0.2"
  296. vchan-unix < "6.0.2"
  297. vchan-xen < "6.0.2"
  298. vecosek
  299. vhd-tool
  300. vimebac
  301. vpnkit
  302. webauthn
  303. xapi-idl
  304. xapi-inventory
  305. xapi-rrd-transport
  306. xe-unikernel-upload
  307. xen-block-driver
  308. xen-disk
  309. xen-evtchn
  310. xen-evtchn-unix
  311. xen-gnt >= "1.0.0"
  312. xenctrl
  313. xentropyd
  314. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.