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

Conflicts

None