package cmdliner

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

Install

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

Conflicts

None