package cmdliner

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

Install

Dune 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. boltzgen < "0.9.3"
  36. brozip
  37. builder < "0.3.2"
  38. builder-web < "0.2.0"
  39. bytepdf
  40. ca-certs-nss < "3.77"
  41. camels
  42. capnp-rpc-unix < "1.2.3"
  43. caqti = "1.7.0"
  44. caqti-async = "1.7.0"
  45. caqti-lwt = "1.7.0"
  46. catala-format >= "0.2.0"
  47. charrua-unix < "1.6.0"
  48. checkseum >= "0.0.2" & < "0.2.0"
  49. cmdtui-lambda-term
  50. cohttp-lwt-unix != "4.1.2" & < "5.3.0"
  51. coin < "0.1.2"
  52. conex
  53. conex-mirage-crypto
  54. confero
  55. craml
  56. crunch < "4.0.0"
  57. current < "0.6.2"
  58. current_examples < "0.6.2"
  59. current_web < "0.6.2"
  60. decompress < "1.0.0"
  61. depext < "1.0.3"
  62. depgraph
  63. diffast-git-cli
  64. dirsift
  65. dockerfile-cmd
  66. dockerfile-opam < "8.2.7"
  67. dolmen_bin < "0.7"
  68. dream-cli < "0.2.0"
  69. dscheck >= "0.2.0"
  70. dune-deps >= "1.1.0" & < "1.3.0"
  71. dune-release < "1.6.1"
  72. dune_deps_extra
  73. elasticsearch-cli >= "1.0"
  74. electrod
  75. electrumAnalyzer
  76. elpi
  77. equinoxe < "0.2.0"
  78. erlang
  79. facteur
  80. fat-filesystem < "0.15.1"
  81. fsevents-lwt
  82. git >= "3.2.0" & < "3.15.0"
  83. git-unix < "3.2.0"
  84. gobba >= "0.4.2"
  85. happy-eyeballs-lwt < "0.6.0"
  86. hlarp
  87. hll < "4.3"
  88. http-lwt-client < "0.0.8"
  89. hvsock < "3.0.1"
  90. hxd < "0.3.2"
  91. igvxml
  92. index >= "1.3.0"
  93. index-bench < "1.3.2" | >= "1.4.2"
  94. irmin-bench < "3.11.0"
  95. irmin-cli < "3.11.0"
  96. irmin-pack < "3.11.0"
  97. irmin-test < "3.11.0"
  98. irmin-tezos < "3.11.0"
  99. irmin-unix
  100. js_of_ocaml-compiler < "4.0.0"
  101. jsonxt
  102. kafka < "0.5"
  103. kafka_lwt
  104. kinetic-client >= "0.0.9"
  105. labrys
  106. learn-ocaml < "0.14.1"
  107. learn-ocaml-client < "0.14.1"
  108. llopt
  109. mastodon-archive-viewer < "0.4.0"
  110. merge-fmt < "0.3"
  111. minicaml >= "0.2.2" & < "0.3.3"
  112. mirage < "4.7.0"
  113. mirage-seal
  114. mkaudio < "1.1.3"
  115. mrmime = "0.5.0"
  116. named-pipe
  117. nbd < "4.0.3"
  118. obandit >= "0.3.4"
  119. obuilder < "0.4"
  120. ocal
  121. ocamlcodoc
  122. ocamlformat < "0.21.0"
  123. ocamlformat-rpc < "0.21.0"
  124. ocp-browser >= "1.1.7" & < "1.3.4"
  125. ocp-index < "1.3.4"
  126. ocp-reloc
  127. odds < "1.1"
  128. omigrate < "0.3.0"
  129. opam-0install < "0.4.3"
  130. opam-0install-cudf < "0.4.1"
  131. opam-bundle < "0.4"
  132. opam-ci
  133. opam-compiler < "0.2.0"
  134. opam-ed < "0.3"
  135. opam-lib
  136. opam-package-upgrade
  137. opam-publish >= "0.3.5" & < "2.1.0"
  138. opium
  139. ordma >= "0.0.5"
  140. osbx
  141. oskel
  142. osx-fsevents
  143. owee >= "0.8"
  144. owi >= "0.2"
  145. passmakercmd
  146. pds >= "4.13" & < "5.42"
  147. pkcs11-cli < "1.0.1"
  148. plotkicadsch
  149. polly < "0.4.1"
  150. prelude < "0.5"
  151. prof_spacetime
  152. prometheus-app
  153. protocol-9p < "0.12.1"
  154. protocol-9p-tool
  155. protocol-9p-unix < "0.12.1"
  156. qcow < "0.10.2" | = "0.11.0"
  157. qcow-tool < "0.12.1"
  158. qmp < "0.20.0"
  159. quill
  160. rosetta < "0.3.0"
  161. rotor
  162. sid
  163. slack
  164. slacko
  165. slipshow < "0.1.1"
  166. spin
  167. sslconf
  168. tallgeese
  169. telltime
  170. tensorflow
  171. tezos-context-hash-irmin
  172. timmy
  173. tldr >= "0.3.0"
  174. torch < "v0.16.0"
  175. uring < "0.3"
  176. user-setup
  177. uuuu < "0.2.0"
  178. valentine
  179. vchan < "6.0.2"
  180. vecosek
  181. vpnkit
  182. webauthn < "0.2.0"
  183. xapi-inventory
  184. xen-evtchn
  185. xen-evtchn-unix
  186. xen-gnt
  187. yuscii < "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.