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 < "0.1~preview2"
  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. ocsigen-toolkit >= "4.3.0"
  163. odds < "1.1"
  164. odoc < "3.1.0"
  165. ometrics
  166. omigrate < "0.3.0"
  167. opam-0install < "0.4.3"
  168. opam-0install-cudf < "0.4.1"
  169. opam-build < "0.2.3"
  170. opam-bundle
  171. opam-ci
  172. opam-client < "2.2.0"
  173. opam-compiler < "0.2.0"
  174. opam-depext >= "1.2.1"
  175. opam-devel < "2.2.0"
  176. opam-ed
  177. opam-grep >= "0.2.0" & < "0.4.0"
  178. opam-installer < "2.5.0~beta1"
  179. opam-lib
  180. opam-lock
  181. opam-package-upgrade
  182. opam-publish >= "0.3.5" & < "2.2.0"
  183. opam-test < "0.2.3"
  184. opium
  185. ordma >= "0.0.5"
  186. orun
  187. osbx
  188. oskel
  189. osx-fsevents
  190. owee >= "0.8"
  191. owi >= "0.2"
  192. owork
  193. passage >= "0.1.8" & < "0.3.2"
  194. passmakercmd
  195. pds >= "4.13" & < "5.42"
  196. pecu < "0.4"
  197. pg_query >= "0.9.6" & < "0.9.8"
  198. pkcs11-cli
  199. plotkicadsch
  200. polly < "0.4.1"
  201. ppx_deriving_cmdliner
  202. prelude < "0.5"
  203. prof_spacetime
  204. prometheus-app
  205. protocol-9p < "0.12.1"
  206. protocol-9p-tool < "2.1.0"
  207. protocol-9p-unix < "0.12.1"
  208. pyast < "0.2.0"
  209. pyml_bindgen < "0.3.0"
  210. pyre-ast < "0.1.9"
  211. qcow < "0.12.1"
  212. qcow-tool < "0.12.1"
  213. qmp < "0.20.0"
  214. quill
  215. rosetta < "0.3.0"
  216. runtime_events_tools < "0.3"
  217. sid
  218. slack
  219. slacko
  220. slipshow < "0.1.1"
  221. spin
  222. sslconf
  223. tallgeese
  224. telltime
  225. tensorflow
  226. tidy_email_mailgun
  227. tidy_email_sendgrid
  228. tidy_email_smtp
  229. timmy
  230. tldr
  231. torch < "v0.16.0"
  232. touist
  233. uring < "0.3"
  234. user-setup
  235. uuuu < "0.2.0"
  236. valentine
  237. vchan < "6.0.2"
  238. vecosek
  239. wayland < "1.1"
  240. webauthn < "0.2.0"
  241. xapi-inventory
  242. xen-evtchn
  243. xen-evtchn-unix
  244. xen-gnt
  245. yuscii < "0.3.0"
  246. zeit

Conflicts

None