package cmdliner

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

cmdliner-2.1.1.tbz
sha512=cdc338ae2e56a72b7c75dae9564c57cca4e1fbfac454aabbf8303fcb612346284aede5984dfde7e8a7a496cc870bbd57ddf28cab3a38667279b31657f85c15dd

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 command line completion, 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.

Homepage: http://erratique.ch/software/cmdliner

Tags

cli system declarative org:erratique

Added to opam-repository:

README

Cmdliner — Declarative definition of command line interfaces for OCaml

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 command line completion, 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.

Homepage: http://erratique.ch/software/cmdliner

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 can be consulted online or via odig doc cmdliner.

Questions are welcome but better asked on the OCaml forum than on the issue tracker.

Sample programs

A few examples and blueprints can be found in the documentation and in the test directory.

Dependencies (1)

  1. ocaml >= "4.08.0"

Dev Dependencies

None

  1. abella >= "2.0.8"
  2. acgtk >= "2.1.0"
  3. albatross >= "1.4.3"
  4. alcobar
  5. alcotest >= "1.9.1"
  6. alcotest-async
  7. alcotest-js
  8. alcotest-lwt
  9. alcotest-mirage
  10. alt-ergo >= "2.6.3"
  11. altgr-ergo >= "2.4.2"
  12. api-watch
  13. arc >= "0.0.2"
  14. areas-and-adversaries
  15. asak
  16. atd >= "2.13.0"
  17. atdcpp
  18. atdd
  19. atdml
  20. atdpy
  21. atdts
  22. awa >= "0.2.0"
  23. aws-s3
  24. b0
  25. bancos
  26. bap-beagle < "2.3.0"
  27. bap-byteweight-frontend
  28. bap-callsites
  29. bap-demangle < "2.5.0"
  30. bap-fsi-benchmark
  31. bap-phoenix
  32. bap-piqi
  33. bap-std
  34. bap-taint-propagator
  35. bap-trace
  36. bap-warn-unused
  37. bcfg
  38. bibfmt
  39. boltzgen >= "0.9.5"
  40. boulangerie
  41. builder
  42. builder-web >= "0.2.0"
  43. ca-certs-nss >= "3.77"
  44. caisar >= "0.2" & < "6.0"
  45. camels >= "1.0.0"
  46. camyll >= "0.4.1"
  47. capnp-rpc-unix >= "2.1.1"
  48. caqti >= "1.8.0"
  49. caqti-async >= "1.8.0"
  50. caqti-driver-mariadb >= "1.8.0"
  51. caqti-driver-postgresql >= "1.8.0"
  52. caqti-driver-sqlite3 >= "1.8.0"
  53. caqti-dynload = "2.0.1"
  54. caqti-eio
  55. caqti-lwt >= "1.8.0"
  56. caqti-miou
  57. carton = "0.7.2"
  58. carton-miou
  59. carton-miou-unix
  60. cascade
  61. catala >= "0.7.0"
  62. catala-format >= "0.2.0"
  63. chamelon-unix
  64. charrua-unix >= "1.6.0"
  65. checkseum = "0.0.2" | >= "0.0.9" & < "0.2.0"
  66. ciao_lwt
  67. clim-ppx
  68. cmdlang-cmdliner-err-runner
  69. cmdlang-to-cmdliner
  70. cmdliner-stdlib
  71. cmdtui-lambda-term
  72. cohttp-curl-lwt >= "6.2.1"
  73. cohttp-lwt-unix >= "6.0.0~beta2" & < "6.2.2"
  74. cohttp-lwt-unix-bin
  75. commons >= "1.8.0"
  76. compsort
  77. conex >= "1.0.0"
  78. conex-mirage-crypto
  79. confero
  80. coq-lsp
  81. coq-serapi < "8.13.0+0.13.0" | >= "8.15.0+0.15.2"
  82. crockford
  83. crowbar >= "0.2.1"
  84. crunch >= "4.0.0"
  85. cucumber
  86. current
  87. current-albatross-deployer
  88. current_examples
  89. current_github
  90. current_gitlab
  91. current_web
  92. decompress >= "1.4.3"
  93. dedukti >= "2.7"
  94. deepseek
  95. diffast-git-cli >= "0.3.5.1"
  96. dkim
  97. dkim-bin
  98. dkml-install-installer
  99. dns-cli >= "10.1.0"
  100. docfd >= "13.0.0"
  101. dockerfile-cmd
  102. dockerfile-opam < "8.2.7"
  103. docteur >= "0.0.4"
  104. doctor
  105. doi2bib >= "0.7.6"
  106. dream-cli >= "0.2.0"
  107. dscheck >= "0.2.0"
  108. dune-deps >= "1.4.0"
  109. dune-release >= "2.2.0"
  110. dune_deps_extra
  111. earlybird
  112. eio-trace
  113. eio_linux >= "0.3"
  114. extism
  115. ez_cmdliner >= "0.5.0"
  116. facteur
  117. fat-filesystem < "0.13.0" | >= "0.15.1"
  118. fit >= "1.0.3"
  119. forester >= "5.0"
  120. functoria-runtime >= "4.0.0"
  121. git >= "3.2.0"
  122. git-unix >= "3.15.0"
  123. github-unix >= "4.5.0"
  124. gitlab-unix >= "0.1.3"
  125. gospel >= "0.3.1"
  126. happy-eyeballs-lwt >= "0.6.0"
  127. happy-eyeballs-miou-unix
  128. hlarp < "0.0.3"
  129. http-lwt-client >= "0.3.2"
  130. hurl >= "0.0.1~beta2"
  131. hvsock >= "3.0.1"
  132. hxd >= "0.3.5"
  133. index-bench >= "1.6.1"
  134. irmin-bench
  135. irmin-cli
  136. irmin-pack != "2.10.2"
  137. irmin-pack-tools
  138. irmin-server
  139. irmin-test >= "3.11.0"
  140. irmin-tezos
  141. irmin-unix
  142. jasmin >= "2023.06.0"
  143. js_of_ocaml-compiler >= "4.1.0"
  144. jsonschema2atd
  145. kaun-board
  146. ke >= "0.5"
  147. kmt
  148. lab >= "0.1.4"
  149. learn-ocaml
  150. learn-ocaml-client
  151. ledes
  152. letsencrypt-app
  153. MlFront_Cli < "2.3.1"
  154. MlFront_Logs
  155. MlFront_Tools
  156. markdown_monolith
  157. mastodon-archive-viewer >= "0.2"
  158. mcrunch
  159. mdx >= "2.5.1"
  160. mel
  161. melange
  162. meldep
  163. menhirformat
  164. merge-fmt >= "0.3"
  165. mfat
  166. migra
  167. mirage >= "4.10.2"
  168. mirage-block-ccm
  169. mirage-logs
  170. mirage-monitoring >= "0.0.8"
  171. mirage-runtime >= "4.9.0"
  172. mirage-seal
  173. mkaudio >= "1.1.4"
  174. mlgpx
  175. mnet-cli
  176. mrmime >= "0.6.0"
  177. mtbox
  178. named-pipe
  179. nbd < "4.0.3"
  180. niru
  181. nuscr >= "2.1.0"
  182. object
  183. obuilder >= "0.4"
  184. ocaml-sbom
  185. ocamlformat >= "0.25.1"
  186. ocamlformat-lib >= "0.28.1"
  187. ocamlformat-mlx
  188. ocamlformat-mlx-lib >= "0.28.1.1"
  189. ocamlgrep
  190. ocamlmig
  191. ocgtk < "0.1~preview2"
  192. ochre-cli
  193. ocluster >= "0.2"
  194. ocp-browser >= "1.2.1"
  195. ocp-indent >= "1.9.0"
  196. ocp-indent-nlfork
  197. ocp-index >= "1.4.0"
  198. ocsigen-toolkit >= "4.3.0"
  199. odds >= "1.1"
  200. odep
  201. odig >= "0.1.0"
  202. odoc >= "3.1.0"
  203. odoc-driver
  204. odoc-md >= "3.1.0"
  205. olint
  206. omigrate >= "0.3.0"
  207. omod
  208. opam-0install >= "0.6.0"
  209. opam-0install-cudf < "0.4.1"
  210. opam-build
  211. opam-bundle
  212. opam-dune-lint
  213. opam-ed >= "0.5"
  214. opam-graph
  215. opam-grep >= "0.4.0"
  216. opam-minver
  217. opam-package-upgrade
  218. opam-publish >= "3.0.0"
  219. opam-repomin
  220. opam-test
  221. opine
  222. oq
  223. orb
  224. ordma >= "0.0.5"
  225. ortac-core
  226. ortac-dune
  227. ortac-qcheck-stm
  228. ortac-wrapper
  229. osx-fsevents
  230. oui
  231. owee >= "0.8"
  232. owi >= "0.2"
  233. passage < "0.1.8" | >= "0.3.2"
  234. pds >= "5.42"
  235. pg_query >= "0.9.8"
  236. pkcs11-cli
  237. plotkicadsch < "0.9.0"
  238. polly >= "0.4.1"
  239. pplumbing < "0.0.16"
  240. ppx_deriving_cmdliner < "0.6.0"
  241. ppx_subliner
  242. ppxlib-tools
  243. prelude < "0.5"
  244. prof_spacetime
  245. prometheus-app
  246. protocol-9p < "0.12.1"
  247. protocol-9p-tool < "0.12.0" | >= "2.1.0"
  248. protocol-9p-unix < "0.12.1"
  249. pyast >= "0.2.0"
  250. pyml_bindgen >= "0.4.1"
  251. pyre-ast >= "0.1.9"
  252. qcow < "0.12.1"
  253. qmp >= "0.20.0"
  254. queenshead
  255. query-json
  256. quickterface
  257. quill
  258. randii
  259. reason >= "3.17.0"
  260. rosetta < "0.2.0"
  261. rpclib
  262. runtime_events_tools >= "0.5.4"
  263. runtime_events_tools_bare >= "0.5.4"
  264. rust-staticlib-gen
  265. salto-analyzer
  266. scfg >= "0.4"
  267. shakuhachi
  268. shared-block-ring
  269. sherlodoc != "3.1.0"
  270. slack
  271. slipshow
  272. smtml >= "0.7.0"
  273. solo5-elftool
  274. soteria
  275. spin = "0.6.0"
  276. starred_ml >= "0.0.4"
  277. stem
  278. sun
  279. tallgeese
  280. tcpip >= "8.0.0"
  281. tensorflow
  282. testo
  283. testo-lwt
  284. tidy_email_mailgun
  285. tidy_email_sendgrid
  286. tidy_email_smtp
  287. timmy
  288. tls = "0.15.4" | >= "1.0.4"
  289. tls-lwt
  290. toc
  291. topkg-care
  292. torch < "v0.16.0"
  293. transom
  294. tuntap
  295. tw
  296. uring
  297. uring-trace
  298. utcp
  299. vchan < "6.0.2"
  300. vchan-unix
  301. vendredi
  302. vif
  303. wasm_of_ocaml-compiler
  304. wax
  305. wayland >= "1.1"
  306. webauthn
  307. webbrowser >= "0.6.2"
  308. wol-eio
  309. xapi-inventory
  310. xdge
  311. xen-evtchn
  312. xen-evtchn-unix
  313. xen-gnt
  314. yuscii = "0.2.0"

Conflicts

None