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-audit
  211. opam-build
  212. opam-bundle
  213. opam-dune-lint
  214. opam-ed >= "0.5"
  215. opam-graph
  216. opam-grep >= "0.4.0"
  217. opam-minver
  218. opam-package-upgrade
  219. opam-publish >= "3.0.0"
  220. opam-repomin
  221. opam-test
  222. opine
  223. oq
  224. orb
  225. ordma >= "0.0.5"
  226. ortac-core
  227. ortac-dune
  228. ortac-qcheck-stm
  229. ortac-wrapper
  230. osx-fsevents
  231. oui
  232. owee >= "0.8"
  233. owi >= "0.2"
  234. passage < "0.1.8" | >= "0.3.2"
  235. pds >= "5.42"
  236. pg_query >= "0.9.8"
  237. pkcs11-cli
  238. plotkicadsch < "0.9.0"
  239. polly >= "0.4.1"
  240. pplumbing < "0.0.16"
  241. ppx_deriving_cmdliner < "0.6.0"
  242. ppx_subliner
  243. ppxlib-tools
  244. prelude < "0.5"
  245. prof_spacetime
  246. prometheus-app
  247. protocol-9p < "0.12.1"
  248. protocol-9p-tool < "0.12.0" | >= "2.1.0"
  249. protocol-9p-unix < "0.12.1"
  250. pyast >= "0.2.0"
  251. pyml_bindgen >= "0.4.1"
  252. pyre-ast >= "0.1.9"
  253. qcow < "0.12.1"
  254. qmp >= "0.20.0"
  255. queenshead
  256. query-json
  257. quickterface
  258. quill
  259. randii
  260. reason >= "3.17.0"
  261. rosetta < "0.2.0"
  262. rpclib
  263. runtime_events_tools >= "0.5.4"
  264. runtime_events_tools_bare >= "0.5.4"
  265. rust-staticlib-gen
  266. salto-analyzer
  267. scfg >= "0.4"
  268. shakuhachi
  269. shared-block-ring
  270. sherlodoc != "3.1.0"
  271. slack
  272. slipshow
  273. smtml >= "0.7.0"
  274. solo5-elftool
  275. soteria
  276. spin = "0.6.0"
  277. starred_ml >= "0.0.4"
  278. stem
  279. sun
  280. tallgeese
  281. tcpip >= "8.0.0"
  282. tensorflow
  283. testo
  284. testo-lwt
  285. tidy_email_mailgun
  286. tidy_email_sendgrid
  287. tidy_email_smtp
  288. timmy
  289. tls = "0.15.4" | >= "1.0.4"
  290. tls-lwt
  291. toc
  292. topkg-care
  293. torch < "v0.16.0"
  294. transom
  295. tuntap
  296. tw
  297. uring
  298. uring-trace
  299. utcp
  300. vchan < "6.0.2"
  301. vchan-unix
  302. vendredi
  303. vif
  304. wasm_of_ocaml-compiler
  305. wax
  306. wayland >= "1.1"
  307. webauthn
  308. webbrowser >= "0.6.2"
  309. wol-eio
  310. xapi-inventory
  311. xdge
  312. xen-evtchn
  313. xen-evtchn-unix
  314. xen-gnt
  315. yuscii = "0.2.0"

Conflicts

None