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
  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. kaun-board
  150. ke >= "0.5"
  151. kmt
  152. lab >= "0.1.4"
  153. learn-ocaml
  154. learn-ocaml-client
  155. ledes
  156. letsencrypt-app
  157. locswijch
  158. MlFront_Cli < "2.3.1"
  159. MlFront_Logs
  160. MlFront_Tools
  161. markdown_monolith
  162. mastodon-archive-viewer >= "0.2"
  163. mcrunch
  164. mdx >= "2.5.1"
  165. mel
  166. melange
  167. meldep
  168. menhirformat
  169. merge-fmt >= "0.3"
  170. mfat
  171. mfetch
  172. migra
  173. mirage >= "4.10.2"
  174. mirage-block-ccm
  175. mirage-logs
  176. mirage-monitoring >= "0.0.8"
  177. mirage-runtime >= "4.9.0"
  178. mirage-seal
  179. mkaudio >= "1.1.4"
  180. mlgpx
  181. mnet-cli
  182. mnet-dns >= "0.0.5"
  183. mnet-happy-eyeballs >= "0.0.5"
  184. mrmime >= "0.6.0"
  185. mtbox
  186. named-pipe
  187. nbd < "4.0.3"
  188. niru
  189. nuscr >= "2.1.0"
  190. object
  191. obuilder >= "0.4"
  192. ocaml-sbom
  193. ocamlformat >= "0.25.1"
  194. ocamlformat-lib >= "0.28.1"
  195. ocamlformat-mlx
  196. ocamlformat-mlx-lib >= "0.28.1.1"
  197. ocamlgrep
  198. ocamlmig
  199. ocgtk < "0.1~preview2"
  200. ochre-cli
  201. ocluster >= "0.2"
  202. ocp-browser >= "1.2.1"
  203. ocp-indent >= "1.9.0"
  204. ocp-indent-nlfork
  205. ocp-index >= "1.4.0"
  206. ocsigen-toolkit >= "4.3.0"
  207. odds >= "1.1"
  208. odep
  209. odig >= "0.1.0"
  210. odoc >= "3.1.0"
  211. odoc-driver
  212. odoc-md >= "3.1.0"
  213. olint
  214. omigrate >= "0.3.0"
  215. omod
  216. opam-0install >= "0.6.0"
  217. opam-0install-cudf < "0.4.1"
  218. opam-audit
  219. opam-build
  220. opam-bundle
  221. opam-dune-lint
  222. opam-ed >= "0.5"
  223. opam-graph
  224. opam-grep >= "0.4.0"
  225. opam-minver
  226. opam-package-upgrade
  227. opam-publish >= "3.0.0"
  228. opam-repomin
  229. opam-test
  230. opine
  231. oq
  232. orb
  233. ordma >= "0.0.5"
  234. ortac-core
  235. ortac-dune
  236. ortac-qcheck-stm
  237. ortac-wrapper
  238. osx-fsevents
  239. oui
  240. owee >= "0.8"
  241. owi >= "0.2"
  242. oxbow
  243. passage < "0.1.8" | >= "0.3.2"
  244. pds >= "5.42"
  245. pg_query >= "0.9.8"
  246. pkcs11-cli
  247. plotkicadsch < "0.9.0"
  248. polly >= "0.4.1"
  249. pplumbing < "0.0.16"
  250. ppx_deriving_cmdliner < "0.6.0"
  251. ppx_subliner
  252. ppxlib-tools
  253. prelude < "0.5"
  254. prof_spacetime
  255. prometheus-app
  256. protocol-9p < "0.12.1"
  257. protocol-9p-tool < "0.12.0" | >= "2.1.0"
  258. protocol-9p-unix < "0.12.1"
  259. pyast >= "0.2.0"
  260. pyml_bindgen >= "0.4.1"
  261. pyre-ast >= "0.1.9"
  262. qcow < "0.12.1"
  263. qmp >= "0.20.0"
  264. queenshead
  265. query-json
  266. quickterface
  267. quill
  268. randii
  269. reason >= "3.17.0"
  270. rosetta < "0.2.0"
  271. rpclib
  272. runtime_events_tools >= "0.5.4"
  273. runtime_events_tools_bare >= "0.5.4"
  274. rust-staticlib-gen
  275. salto-analyzer
  276. scfg >= "0.4"
  277. shakuhachi
  278. shared-block-ring
  279. sherlodoc != "3.1.0"
  280. slack
  281. slipshow
  282. smtml >= "0.7.0"
  283. solo5-elftool
  284. sosie
  285. soteria
  286. spin = "0.6.0"
  287. starred_ml >= "0.0.4"
  288. stem
  289. sun
  290. tallgeese
  291. tcpip >= "8.0.0"
  292. tensorflow
  293. testo
  294. testo-lwt
  295. tidy_email_mailgun
  296. tidy_email_sendgrid
  297. tidy_email_smtp
  298. timmy
  299. tls = "0.15.4" | >= "1.0.4"
  300. tls-lwt
  301. toc
  302. topkg-care
  303. torch < "v0.16.0"
  304. transom
  305. tuntap
  306. tw
  307. unic
  308. uring
  309. uring-trace
  310. utcp
  311. vchan < "6.0.2"
  312. vchan-unix
  313. vendredi
  314. vif
  315. wasm_of_ocaml-compiler
  316. wax
  317. wayland >= "1.1"
  318. webauthn
  319. webbrowser >= "0.6.2"
  320. wol-eio
  321. xapi-inventory
  322. xdge
  323. xen-evtchn
  324. xen-evtchn-unix
  325. xen-gnt
  326. yuscii = "0.2.0"

Conflicts

None