package cmdliner

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

cmdliner-0.9.4.tbz
sha256=ecb65e2cfd984ec07e97a78f334a80cda41fb8f8bb5e37c41fd33e6a0e2e69ef
md5=5089b4b69993ddc5ce4aac0e30d0c641

Description

Cmdliner is a module for the declarative definition of command line interfaces.

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 is made of a single independent module and distributed under the BSD3 license.

Tags

cli system declarative

Published: 10 Feb 2014

README

Cmdliner — Declarative definition of command line interfaces for OCaml

Release 0.9.4

Cmdliner is a module for the declarative definition of command line interfaces.

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 is made of a single independent module and distributed under the BSD3 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 ocamldoc from the interfaces. It can be consulted online and there is a generated version in the doc directory of the distribution.

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 with:

ocamlbuild -use-ocamlfind test/tests.otarget

The resulting binaries are in _build/test.

Dependencies (3)

  1. ocamlbuild build
  2. ocamlfind
  3. ocaml >= "3.12.0" & < "5.0"

Dev Dependencies

None

  1. alcotest-async < "1.7.0"
  2. alt-ergo = "2.4.0"
  3. altgr-ergo = "2.4.0"
  4. awa < "0.2.0"
  5. aws-s3 < "4.6.0"
  6. bap-abi < "2.2.0"
  7. bap-api < "2.2.0"
  8. bap-beagle < "2.3.0"
  9. bap-bil < "2.2.0"
  10. bap-byteweight-frontend
  11. bap-cache < "2.2.0"
  12. bap-callsites
  13. bap-demangle < "2.5.0"
  14. bap-dump-symbols < "2.2.0"
  15. bap-frames
  16. bap-frontend < "2.2.0"
  17. bap-fsi-benchmark
  18. bap-ida-plugin < "2.2.0"
  19. bap-llvm < "2.2.0"
  20. bap-main != "2.4.0"
  21. bap-objdump < "2.2.0"
  22. bap-optimization < "2.2.0"
  23. bap-phoenix
  24. bap-piqi
  25. bap-plugins < "2.2.0"
  26. bap-symbol-reader < "2.2.0"
  27. bap-taint-propagator
  28. bap-term-mapper < "2.2.0"
  29. bap-trace
  30. bap-veri
  31. bap-warn-unused
  32. bap-x86 < "2.2.0"
  33. benchpress
  34. benchpress-server
  35. brozip
  36. builder < "0.3.2"
  37. builder-web < "0.2.0"
  38. bytepdf
  39. ca-certs-nss < "3.77"
  40. camels
  41. capnp-rpc-unix < "1.2.3"
  42. caqti = "1.7.0"
  43. caqti-async = "1.7.0"
  44. caqti-lwt = "1.7.0"
  45. catala-format >= "0.2.0"
  46. charrua-unix < "1.6.0"
  47. checkseum >= "0.0.2" & < "0.2.0"
  48. cmdtui-lambda-term
  49. cohttp-lwt-unix != "4.1.2" & < "5.3.0"
  50. coin < "0.1.2"
  51. conex < "1.0.0"
  52. conex-mirage-crypto < "1.0.0"
  53. confero
  54. craml
  55. crunch < "4.0.0"
  56. current < "0.6.2"
  57. current_examples < "0.6.2"
  58. current_web < "0.6.2"
  59. decompress < "1.0.0"
  60. depext < "1.0.3"
  61. depgraph
  62. diffast-git-cli < "0.3.5.1"
  63. dirsift
  64. dockerfile-cmd
  65. dockerfile-opam < "8.2.7"
  66. dolmen_bin < "0.7"
  67. dream-cli < "0.2.0"
  68. dscheck >= "0.2.0"
  69. dune-deps >= "1.1.0" & < "1.3.0"
  70. dune-release < "1.6.1"
  71. dune_deps_extra
  72. elasticsearch-cli
  73. electrod
  74. electrumAnalyzer
  75. elpi
  76. equinoxe < "0.2.0"
  77. erlang
  78. facteur
  79. fat-filesystem < "0.15.1"
  80. fsevents-lwt
  81. git >= "3.2.0" & < "3.15.0"
  82. git-unix < "3.2.0"
  83. gobba >= "0.4.2"
  84. happy-eyeballs-lwt < "0.6.0"
  85. hlarp
  86. hll < "4.3"
  87. http-lwt-client < "0.0.8"
  88. hvsock < "3.0.1"
  89. hxd < "0.3.0"
  90. igvxml
  91. index >= "1.3.0"
  92. index-bench < "1.3.2" | >= "1.4.2"
  93. irmin-bench < "3.11.0"
  94. irmin-cli < "3.11.0"
  95. irmin-pack < "3.11.0"
  96. irmin-test < "3.11.0"
  97. irmin-tezos < "3.11.0"
  98. irmin-unix
  99. js_of_ocaml-compiler < "4.0.0"
  100. jsonxt
  101. kafka < "0.5"
  102. kafka_lwt
  103. kinetic-client >= "0.0.9"
  104. labrys
  105. learn-ocaml < "0.14.1"
  106. learn-ocaml-client < "0.14.1"
  107. llopt
  108. mastodon-archive-viewer < "0.4.0"
  109. merge-fmt < "0.3"
  110. minicaml >= "0.2.2" & < "0.3.3"
  111. mirage < "4.7.0"
  112. mirage-monitoring < "0.0.8"
  113. mirage-runtime = "4.0.0"
  114. mirage-seal
  115. mkaudio < "1.1.3"
  116. mlgpx
  117. mrmime = "0.5.0"
  118. named-pipe
  119. nbd < "4.0.3"
  120. obandit >= "0.3.4"
  121. obuilder < "0.4"
  122. ocal
  123. ocamlcodoc
  124. ocamlformat < "0.21.0"
  125. ocamlformat-mlx-lib < "0.27.0"
  126. ocamlformat-rpc < "0.21.0"
  127. ocp-browser >= "1.1.7" & < "1.3.4"
  128. ocp-index < "1.3.4"
  129. ocp-reloc
  130. odds < "1.1"
  131. omigrate < "0.3.0"
  132. opam-0install < "0.4.3"
  133. opam-0install-cudf < "0.4.1"
  134. opam-bundle < "0.4"
  135. opam-ci
  136. opam-compiler < "0.2.0"
  137. opam-ed < "0.3"
  138. opam-lib
  139. opam-package-upgrade
  140. opam-publish >= "0.3.5" & < "2.1.0"
  141. opium
  142. ordma >= "0.0.5"
  143. osbx
  144. oskel
  145. osx-fsevents
  146. owee >= "0.8"
  147. owi >= "0.2"
  148. passage >= "0.1.8"
  149. passmakercmd
  150. pds >= "4.13" & < "5.42"
  151. pkcs11-cli < "1.0.1"
  152. plotkicadsch
  153. polly < "0.4.1"
  154. prelude < "0.5"
  155. prof_spacetime
  156. prometheus-app
  157. protocol-9p < "0.12.1"
  158. protocol-9p-tool < "2.1.0"
  159. protocol-9p-unix < "0.12.1"
  160. qcow < "0.10.2" | = "0.11.0"
  161. qcow-tool < "0.12.1"
  162. qmp < "0.20.0"
  163. quill
  164. rosetta < "0.3.0"
  165. rotor
  166. runtime_events_tools < "0.3"
  167. sid
  168. slack
  169. slacko
  170. slipshow < "0.1.1"
  171. spin
  172. sslconf
  173. tallgeese
  174. telltime
  175. tensorflow
  176. tezos-context-hash-irmin
  177. timmy
  178. tldr >= "0.3.0"
  179. torch < "v0.16.0"
  180. touist < "3.5.0"
  181. uring < "0.3"
  182. user-setup
  183. uuuu < "0.2.0"
  184. valentine
  185. vchan < "6.0.2"
  186. vecosek
  187. vpnkit
  188. webauthn < "0.2.0"
  189. xapi-inventory
  190. xen-evtchn
  191. xen-evtchn-unix
  192. xen-gnt
  193. yuscii < "0.3.0"
  194. zeit

Conflicts

None