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

Conflicts

None