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

Conflicts

None