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

Conflicts

None

OCaml

Innovation. Community. Security.