package cmdliner

Build not checked
  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

Optional 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. console
  56. console-eio
  57. coq-serapi < "8.15.0+0.15.2"
  58. cosovo
  59. cppffigen
  60. craml
  61. crowbar < "0.2.1"
  62. crunch < "4.0.0"
  63. current < "0.6.2"
  64. current_examples < "0.6.2"
  65. current_github < "0.6.2"
  66. current_web < "0.6.2"
  67. decompress < "1.0.0" | >= "1.3.0" & < "1.4.3"
  68. depgraph
  69. diffast-git-cli < "0.3.5.1"
  70. dirsift
  71. diskuvbox < "0.2.0"
  72. dkml-install
  73. dkml-install-installer
  74. dkml-install-runner
  75. dockerfile-cmd
  76. dockerfile-opam < "8.2.7"
  77. docteur < "0.0.4"
  78. dolmen_bin < "0.7"
  79. dream-cli < "0.2.0"
  80. dryunit
  81. dscheck >= "0.2.0"
  82. duff < "0.3"
  83. dune-deps >= "1.1.0" & < "1.4.0"
  84. dune-expand
  85. dune-release < "1.6.1"
  86. dune_deps_extra
  87. earlybird < "1.2.0"
  88. elasticsearch-cli
  89. electrod
  90. elpi < "3.7.3"
  91. equinoxe < "0.2.0"
  92. erlang
  93. ez_cmdliner < "0.4.3"
  94. facteur
  95. fat-filesystem < "0.15.1"
  96. fit < "1.0.3"
  97. fsevents-lwt
  98. functoria-runtime < "4.0.0"
  99. git >= "3.2.0" & < "3.15.0"
  100. git-unix < "3.15.0"
  101. github-unix < "4.5.0"
  102. gobba
  103. gospel < "0.2.0"
  104. happy-eyeballs-lwt < "0.6.0"
  105. hlarp
  106. hll < "4.3"
  107. http-lwt-client < "0.0.8"
  108. hvsock < "3.0.1"
  109. hxd < "0.3.2"
  110. igvxml
  111. index >= "1.3.0"
  112. index-bench
  113. irmin-bench < "3.11.0"
  114. irmin-cli < "3.11.0"
  115. irmin-pack < "3.11.0"
  116. irmin-server < "3.11.0"
  117. irmin-test < "3.11.0"
  118. irmin-tezos < "3.11.0"
  119. irmin-unix
  120. js_of_ocaml-compiler < "4.1.0"
  121. jsonxt
  122. kafka < "0.5"
  123. kafka_lwt
  124. kaun-board
  125. kinetic-client
  126. lab < "0.1.4"
  127. lambdapi < "2.2.0"
  128. learn-ocaml < "0.14.1"
  129. learn-ocaml-client < "0.14.1"
  130. lilac
  131. llopt
  132. mastodon-archive-viewer < "0.4.0"
  133. mdx < "2.2.0"
  134. merge-fmt < "0.3"
  135. mfetch
  136. minicaml >= "0.2.2"
  137. mirage = "4.0.0"
  138. mirage-monitoring < "0.0.8"
  139. mirage-runtime = "4.0.0"
  140. mirage-seal
  141. mkaudio < "1.1.3"
  142. mlgpx
  143. mnet-cli < "0.0.2"
  144. mnet-dns >= "0.0.5"
  145. mnet-happy-eyeballs >= "0.0.5"
  146. monorobot
  147. mrmime = "0.5.0"
  148. mustache = "3.2.0"
  149. named-pipe
  150. nbd < "4.0.3"
  151. nocoiner
  152. nuscr = "2.0.0"
  153. obandit >= "0.3.4"
  154. obuilder < "0.4"
  155. ocal
  156. ocaml-sbom
  157. ocamlcodoc
  158. ocamlformat < "0.21.0"
  159. ocamlformat-mlx-lib < "0.27.0"
  160. ocamlformat-rpc < "removed"
  161. ocgtk < "0.1~preview2"
  162. ocp-browser >= "1.2.1" & < "1.3.4"
  163. ocp-build
  164. ocp-indent < "1.9.0"
  165. ocp-indent-nlfork
  166. ocp-index < "1.3.4"
  167. ocp-reloc
  168. ocsigen-toolkit >= "4.3.0"
  169. odds < "1.1"
  170. odoc < "3.1.0"
  171. ometrics
  172. omigrate < "0.3.0"
  173. opam-0install < "0.4.3"
  174. opam-0install-cudf < "0.4.1"
  175. opam-build < "0.2.3"
  176. opam-bundle
  177. opam-ci
  178. opam-client < "2.2.0"
  179. opam-compiler < "0.2.0"
  180. opam-depext >= "1.2.1"
  181. opam-devel < "2.2.0"
  182. opam-ed < "0.5"
  183. opam-grep >= "0.2.0" & < "0.4.0"
  184. opam-installer < "2.5.0~beta1"
  185. opam-lib
  186. opam-lock
  187. opam-package-upgrade
  188. opam-publish >= "0.3.5" & < "2.2.0"
  189. opam-test < "0.2.3"
  190. opium
  191. ordma >= "0.0.5"
  192. orun
  193. osbx
  194. oskel
  195. osx-fsevents
  196. owee >= "0.8"
  197. owi >= "0.2"
  198. owork
  199. passage >= "0.1.8" & < "0.3.2"
  200. passmakercmd
  201. pds >= "4.13" & < "5.42"
  202. pecu < "0.4"
  203. pg_query >= "0.9.6" & < "0.9.8"
  204. pkcs11-cli
  205. plotkicadsch
  206. polly < "0.4.1"
  207. ppx_deriving_cmdliner
  208. prelude < "0.5"
  209. prof_spacetime
  210. prometheus-app
  211. protocol-9p < "0.12.1"
  212. protocol-9p-tool < "2.1.0"
  213. protocol-9p-unix < "0.12.1"
  214. pyast < "0.2.0"
  215. pyml_bindgen < "0.3.0"
  216. pyre-ast < "0.1.9"
  217. qcow < "0.12.1"
  218. qcow-tool < "0.12.1"
  219. qmp < "0.20.0"
  220. quill
  221. rosetta < "0.3.0"
  222. runtime_events_tools < "0.3"
  223. sid
  224. slack
  225. slacko
  226. slipshow < "0.1.1"
  227. spin
  228. sslconf
  229. tallgeese
  230. telltime
  231. tensorflow
  232. tidy_email_mailgun
  233. tidy_email_sendgrid
  234. tidy_email_smtp
  235. timmy
  236. tldr
  237. torch < "v0.16.0"
  238. touist
  239. tw
  240. unic
  241. uring < "0.3"
  242. user-setup
  243. uuuu < "0.2.0"
  244. valentine
  245. vchan < "6.0.2"
  246. vecosek
  247. wayland < "1.1"
  248. webauthn < "0.2.0"
  249. xapi-inventory
  250. xen-evtchn
  251. xen-evtchn-unix
  252. xen-gnt
  253. yuscii < "0.3.0"
  254. zeit

Conflicts

None

Build status

Results of building cmdliner with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

This version is not in the latest run; the versions below are.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
2.1.1 good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure