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.

Tags

cli system declarative org:erratique

Added to opam-repository:

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

Conflicts

None