package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.0.4.tbz
sha256=5c2a93d44af8a38996a2c0f80fbd7970fe4751f104be470cafa069353fc004c0
md5=fe2213d0bc63b1e10a2d0aa66d2fc8d9

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

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 (1)

  1. ocaml >= "4.03.0"

Dev Dependencies

None

  1. acgtk >= "1.5.1" & < "2.0.0"
  2. albatross < "1.4.3"
  3. alcotest < "1.6.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. apero-core
  11. apero-net
  12. archsat
  13. asak >= "0.2" & < "0.4"
  14. awa < "0.1.1"
  15. aws-s3 < "4.6.0"
  16. b0 < "0.0.4"
  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
  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-objdump < "2.2.0"
  33. bap-optimization < "2.2.0"
  34. bap-phoenix
  35. bap-piqi
  36. bap-plugins < "2.2.0"
  37. bap-powerpc >= "2.2.0"
  38. bap-std
  39. bap-symbol-reader < "2.2.0"
  40. bap-taint-propagator
  41. bap-term-mapper < "2.2.0"
  42. bap-trace
  43. bap-veri
  44. bap-warn-unused
  45. bap-x86
  46. benchpress
  47. benchpress-server
  48. bentov
  49. bisect_ppx >= "2.0.0"
  50. boltzgen < "0.9.5"
  51. brozip
  52. builder < "0.3.1"
  53. builder-web < "0.2.0"
  54. bun
  55. bytepdf
  56. ca-certs-nss < "3.77"
  57. camels
  58. camyll < "0.4.1"
  59. capnp-rpc-unix < "1.2.3"
  60. caqti = "1.7.0"
  61. caqti-async = "1.7.0"
  62. caqti-lwt = "1.7.0"
  63. carton >= "0.2.0" & < "0.4.4"
  64. catala < "0.7.0"
  65. catala-format >= "0.2.0"
  66. certify
  67. charrua-unix < "1.6.0"
  68. checkseum >= "0.0.2" & < "0.2.0"
  69. clim
  70. clim-ppx
  71. cmdliner-stdlib
  72. cmdtui-lambda-term
  73. cohttp-lwt-unix != "4.1.2" & < "5.2.0"
  74. coin < "0.1.2"
  75. conex
  76. conex-mirage-crypto
  77. conex-nocrypto
  78. confero
  79. coq-serapi < "8.15.0+0.15.2"
  80. cosovo
  81. cppffigen
  82. craml
  83. crowbar < "0.2.1"
  84. crunch < "3.3.1"
  85. current < "0.6"
  86. current_examples < "0.6"
  87. current_github >= "0.4" & < "0.6"
  88. current_web < "0.6"
  89. decompress < "1.0.0" | >= "1.3.0" & < "1.4.3"
  90. depgraph
  91. diffast-git-cli
  92. dirsift
  93. diskuvbox < "0.2.0"
  94. dkim < "0.4.0"
  95. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  96. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  97. dkml-install < "0.4.0"
  98. dkml-install-installer < "0.4.0"
  99. dkml-install-runner < "0.4.0"
  100. dns-cli < "6.2.0"
  101. dns-lwt-unix
  102. dockerfile >= "1.1.0" & < "3.0.0"
  103. dockerfile-cmd
  104. dockerfile-opam < "8.1.0"
  105. docteur < "0.0.4"
  106. doi2bib >= "0.3.0" & < "0.6.2"
  107. dolmen_bin < "0.7"
  108. dream-cli < "0.2.0"
  109. dryunit
  110. dscheck >= "0.2.0"
  111. duff < "0.3"
  112. dune-deps >= "1.1.0" & < "1.4.0"
  113. dune-expand
  114. dune-release < "1.6.1"
  115. dune_deps_extra
  116. earlybird < "1.2.0"
  117. elasticsearch-cli >= "1.0"
  118. electrod
  119. electrumAnalyzer
  120. elpi >= "1.3.1"
  121. equinoxe < "0.2.0"
  122. erlang
  123. ez_cmdliner < "0.4.3"
  124. facteur
  125. fat-filesystem < "0.15.1"
  126. fit < "1.0.3"
  127. fsevents-lwt
  128. functoria < "4.0.0"
  129. functoria-runtime < "4.0.0"
  130. git >= "3.0.0" & < "3.9.0"
  131. git-unix >= "2.0.0" & < "3.9.0"
  132. github-unix
  133. gobba
  134. gospel < "0.2.0"
  135. happy-eyeballs-lwt < "0.2.0"
  136. hlarp
  137. hll < "4.3"
  138. http-lwt-client < "0.0.6"
  139. hvsock < "3.0.1"
  140. hxd < "0.3.2"
  141. igvxml
  142. index >= "1.3.0"
  143. index-bench
  144. irmin-bench
  145. irmin-cli
  146. irmin-pack >= "2.3.0"
  147. irmin-server
  148. irmin-test >= "2.3.0"
  149. irmin-tezos
  150. irmin-unix >= "2.3.0"
  151. js_of_ocaml-compiler < "4.1.0"
  152. jsonxt
  153. kafka < "0.5"
  154. kafka_lwt
  155. kinetic-client >= "0.0.9"
  156. lab < "0.1.4"
  157. labrys
  158. lambdapi < "2.2.0"
  159. learn-ocaml < "0.14.1"
  160. learn-ocaml-client < "0.14.1"
  161. letsencrypt < "0.3.0"
  162. letsencrypt-app < "0.5.0"
  163. lilac
  164. llopt
  165. mastodon-archive-viewer < "0.4.0"
  166. mdx < "2.2.0"
  167. merge-fmt < "0.3"
  168. minicaml >= "0.2.2"
  169. mirage >= "4.0.0" & < "4.5.0"
  170. mirage-block-xen < "2.0.0"
  171. mirage-console >= "2.1.2" & < "2.2.0"
  172. mirage-seal
  173. mkaudio < "1.1.3"
  174. monorobot
  175. mrmime = "0.5.0"
  176. mustache = "3.2.0"
  177. named-pipe
  178. nbd < "4.0.3"
  179. nocoiner
  180. nuscr = "2.0.0"
  181. obandit >= "0.3.4"
  182. obuilder < "0.4"
  183. ocal
  184. ocamlcodoc
  185. ocamlformat < "0.21.0"
  186. ocamlformat-rpc < "0.21.0"
  187. ocp-browser >= "1.1.7" & < "1.3.4"
  188. ocp-build
  189. ocp-indent
  190. ocp-indent-nlfork
  191. ocp-index < "1.3.4"
  192. ocp-reloc
  193. odds < "1.1"
  194. odig < "0.0.8"
  195. odoc
  196. ometrics
  197. omigrate < "0.3.0"
  198. omod < "0.0.3"
  199. opam-0install < "0.4.3"
  200. opam-0install-cudf < "0.4.1"
  201. opam-build < "0.2.3"
  202. opam-bundle
  203. opam-ci
  204. opam-client < "2.2.0~alpha"
  205. opam-compiler < "0.2.0"
  206. opam-depext >= "1.2.1"
  207. opam-devel < "2.2.0~alpha"
  208. opam-dune-lint < "0.3"
  209. opam-ed
  210. opam-grep >= "0.2.0" & < "0.4.0"
  211. opam-installer
  212. opam-lib >= "1.3.1"
  213. opam-lock
  214. opam-package-upgrade
  215. opam-publish >= "0.3.5" & < "2.2.0"
  216. opam-test < "0.2.3"
  217. opium
  218. ordma >= "0.0.5"
  219. orun
  220. osbx
  221. oskel
  222. osx-fsevents
  223. owee >= "0.8"
  224. owi >= "0.2"
  225. owork
  226. passmakercmd
  227. pds >= "4.13" & < "5.42"
  228. pecu < "0.4"
  229. pg_query >= "0.9.6" & < "0.9.8"
  230. pkcs11-cli
  231. plotkicadsch
  232. polly < "0.4.1"
  233. ppx_deriving_cmdliner
  234. ppx_deriving_rpc = "8.1.0"
  235. prelude < "0.5"
  236. prof_spacetime
  237. prometheus-app
  238. protocol-9p < "0.12.1"
  239. protocol-9p-tool
  240. protocol-9p-unix < "0.12.1"
  241. pyast < "0.2.0"
  242. pyml_bindgen < "0.3.0"
  243. pyre-ast < "0.1.9"
  244. qcow < "0.10.2" | = "0.11.0"
  245. qcow-tool < "0.12.1"
  246. qmp < "0.20.0"
  247. regenerate
  248. rosetta < "0.3.0"
  249. rotor
  250. rpclib < "9.0.0"
  251. shared-block-ring < "3.0.1"
  252. sid
  253. slack
  254. slacko
  255. slipshow < "0.1.1"
  256. solo5-elftool < "0.3.1"
  257. spin
  258. sslconf
  259. tallgeese
  260. telltime
  261. tensorflow
  262. tezos-context-hash-irmin
  263. tidy_email_mailgun
  264. tidy_email_sendgrid
  265. tidy_email_smtp
  266. timmy
  267. tldr >= "0.3.0"
  268. tlstunnel
  269. topkg-care < "1.0.8"
  270. torch < "v0.16.0"
  271. touist >= "3.5.0"
  272. tuntap != "1.4.1" & < "2.0.1"
  273. u2f
  274. uring < "0.3"
  275. user-setup
  276. uuuu < "0.2.0"
  277. valentine
  278. vchan < "6.0.2"
  279. vchan-unix < "6.0.2"
  280. vchan-xen < "6.0.2"
  281. vecosek
  282. vpnkit
  283. wayland < "1.1"
  284. webauthn < "0.2.0"
  285. xapi-inventory
  286. xen-evtchn
  287. xen-evtchn-unix
  288. xen-gnt
  289. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.