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

Conflicts

None