package cmdliner

  1. Overview
  2. Docs
Declarative definition of command line interfaces for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.3.0.tbz
sha512=4c46bc334444ff772637deae2f5ba03645d7a1b7db523470a1246acfce79b971c764d964cbb02388639b3161b279700d9ade95da550446fb32aa4849c8a8f283

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 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.

Home page: http://erratique.ch/software/cmdliner

README

Cmdliner — Declarative definition of command line interfaces for OCaml

v1.3.0

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 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.

Home page: 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 and API reference is automatically generated by from the source interfaces. It can be consulted online or via odig doc cmdliner.

Sample programs

If you installed Cmdliner with opam sample programs are located in the directory opam config var cmdliner:doc. These programs define the command line of some classic programs.

In the distribution sample programs are located in the test directory of the distribution. They can be built and run with:

topkg build --tests true && topkg test

Dependencies (1)

  1. ocaml >= "4.08.0"

Dev Dependencies

None

  1. abella >= "2.0.8"
  2. acgtk >= "2.0.0"
  3. albatross >= "1.4.3"
  4. alcotest < "1.1.0" | >= "1.6.0"
  5. alcotest-async >= "1.3.0"
  6. alcotest-js
  7. alcotest-lwt >= "1.3.0"
  8. alcotest-mirage >= "1.3.0"
  9. alt-ergo >= "2.4.2"
  10. altgr-ergo >= "2.4.2"
  11. api-watch
  12. archsat
  13. areas-and-adversaries
  14. asak >= "0.2"
  15. atd >= "2.13.0"
  16. atdcpp
  17. atdd
  18. atdpy
  19. atdts
  20. awa
  21. aws-s3
  22. b0 >= "0.0.4"
  23. bap-abi < "2.2.0"
  24. bap-api < "2.2.0"
  25. bap-beagle < "2.3.0"
  26. bap-bil < "2.2.0"
  27. bap-byteweight-frontend
  28. bap-cache < "2.2.0"
  29. bap-callsites
  30. bap-demangle < "2.5.0"
  31. bap-dump-symbols < "2.2.0"
  32. bap-frames
  33. bap-frontend < "2.2.0"
  34. bap-fsi-benchmark
  35. bap-ida-plugin < "2.2.0"
  36. bap-llvm < "2.2.0"
  37. bap-main
  38. bap-objdump < "2.2.0"
  39. bap-optimization < "2.2.0"
  40. bap-phoenix
  41. bap-piqi
  42. bap-plugins < "2.2.0"
  43. bap-powerpc >= "2.2.0"
  44. bap-std
  45. bap-symbol-reader < "2.2.0"
  46. bap-taint-propagator
  47. bap-term-mapper < "2.2.0"
  48. bap-trace
  49. bap-veri
  50. bap-warn-unused
  51. bap-x86
  52. benchpress
  53. benchpress-server
  54. bentov
  55. bisect_ppx >= "2.0.0"
  56. boltzgen
  57. boulangerie
  58. brozip
  59. builder
  60. builder-web >= "0.2.0"
  61. bytepdf
  62. ca-certs-nss
  63. caisar
  64. camels
  65. camyll
  66. capnp-rpc-unix
  67. caqti >= "1.8.0"
  68. caqti-async >= "1.8.0"
  69. caqti-driver-mariadb >= "1.8.0"
  70. caqti-driver-postgresql >= "1.8.0"
  71. caqti-driver-sqlite3 >= "1.8.0"
  72. caqti-dynload >= "2.0.1"
  73. caqti-eio
  74. caqti-lwt >= "1.8.0"
  75. caqti-miou
  76. carton >= "0.3.0" & < "1.0.0"
  77. carton-miou-unix
  78. catala >= "0.7.0"
  79. catala-format >= "0.2.0"
  80. certify >= "0.3.0"
  81. chamelon-unix
  82. charrua-unix
  83. checkseum >= "0.0.2" & < "0.2.0"
  84. clim-ppx
  85. cmdlang-to-cmdliner
  86. cmdliner-stdlib
  87. cmdtui-lambda-term
  88. cohttp-lwt-unix < "2.5.7" | = "4.0.0" | >= "4.1.2"
  89. colibri2
  90. colibrics
  91. commons >= "1.8.0"
  92. compsort
  93. conex
  94. conex-mirage-crypto
  95. conex-nocrypto
  96. confero
  97. coq-lsp
  98. coq-serapi >= "8.9.0+0.6.0"
  99. cosovo
  100. cppffigen
  101. craml
  102. crowbar >= "0.2.1"
  103. crunch
  104. cucumber
  105. current
  106. current-albatross-deployer
  107. current_examples >= "0.4"
  108. current_github >= "0.4"
  109. current_gitlab
  110. current_web
  111. decompress < "1.0.0" | >= "1.3.0"
  112. dedukti >= "2.7"
  113. depgraph
  114. diffast-git-cli
  115. dirsift
  116. diskuvbox
  117. dkim
  118. dkim-bin
  119. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  120. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  121. dkml-install
  122. dkml-install-installer < "0.5.1"
  123. dkml-install-runner
  124. dns-cli
  125. dns-lwt-unix
  126. docfd
  127. dockerfile >= "1.1.0" & < "3.0.0"
  128. dockerfile-cmd
  129. dockerfile-opam < "8.1.0"
  130. docteur >= "0.0.4"
  131. doi2bib >= "0.3.0"
  132. dolmen_bin
  133. dream-cli
  134. dryunit
  135. dscheck >= "0.2.0"
  136. dune-deps >= "1.1.0"
  137. dune-expand
  138. dune-release >= "1.6.1"
  139. earlybird
  140. eio-trace
  141. eio_linux >= "0.3"
  142. elasticsearch-cli >= "1.0"
  143. electrod
  144. electrumAnalyzer
  145. elpi >= "1.3.1"
  146. encoding >= "0.0.2"
  147. erlang
  148. extism
  149. facteur
  150. fat-filesystem
  151. fit
  152. forester >= "2.3"
  153. fsevents-lwt
  154. functoria = "3.1.2"
  155. functoria-runtime
  156. git >= "3.0.0"
  157. git-unix >= "3.9.0"
  158. github-unix
  159. gitlab-unix >= "0.1.3"
  160. gobba
  161. gospel
  162. happy-eyeballs-lwt
  163. happy-eyeballs-miou-unix
  164. hlarp
  165. hll
  166. http-lwt-client
  167. hvsock < "2.0.0" | >= "3.0.1"
  168. hxd >= "0.3.2"
  169. igvxml
  170. index >= "1.6.1"
  171. index-bench >= "1.6.1"
  172. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  173. irmin-cli
  174. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  175. irmin-pack-tools
  176. irmin-server
  177. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  178. irmin-tezos < "3.0.0" | >= "3.2.1"
  179. irmin-tezos-utils
  180. irmin-unix >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  181. jasmin >= "2023.06.0"
  182. js_of_ocaml-compiler
  183. jsonschema2atd
  184. jsonxt
  185. kafka < "0.5"
  186. kafka_lwt
  187. ke >= "0.5"
  188. kinetic-client >= "0.0.9"
  189. kmt
  190. lab
  191. labrys
  192. lambdapi != "2.1.0"
  193. learn-ocaml
  194. learn-ocaml-client
  195. letsencrypt < "0.3.0"
  196. letsencrypt-app
  197. lilac
  198. llopt
  199. MlFront_Cli
  200. mastodon-archive-viewer
  201. mdx >= "2.2.0"
  202. mel
  203. melange
  204. meldep
  205. merge-fmt
  206. minicaml >= "0.2.2" & < "0.3.3"
  207. mirage >= "4.6.0"
  208. mirage-block-ccm
  209. mirage-block-xen < "2.0.0"
  210. mirage-console >= "2.1.2" & < "2.2.0"
  211. mirage-logs >= "2.0.0"
  212. mirage-runtime >= "4.5.0"
  213. mirage-seal
  214. mkaudio
  215. monorobot
  216. mrmime >= "0.5.0"
  217. mustache-cli
  218. named-pipe
  219. nbd < "4.0.3"
  220. nbd-tool
  221. niru
  222. nocoiner
  223. nuscr >= "2.0.0"
  224. obandit >= "0.3.4"
  225. obuilder
  226. ocal
  227. ocamlcodoc
  228. ocamlformat >= "0.21.0"
  229. ocamlformat-lib >= "0.27.0"
  230. ocamlformat-mlx
  231. ocamlmig
  232. ocluster >= "0.2"
  233. ocp-browser >= "1.1.7"
  234. ocp-indent
  235. ocp-indent-nlfork
  236. ocp-index
  237. ocp-reloc
  238. octez-dal-node
  239. octez-internal-libs
  240. octez-libs
  241. octez-node
  242. octez-proxy-server
  243. odds
  244. odep
  245. odig
  246. odoc
  247. odoc-driver
  248. ometrics
  249. omigrate
  250. omod
  251. opam-0install >= "0.4.1"
  252. opam-0install-cudf < "0.4.1"
  253. opam-build
  254. opam-bundle
  255. opam-ci
  256. opam-client
  257. opam-compiler >= "0.2.0"
  258. opam-depext >= "1.2.1"
  259. opam-devel
  260. opam-dune-lint
  261. opam-ed
  262. opam-graph
  263. opam-grep >= "0.2.0"
  264. opam-installer
  265. opam-lib >= "1.3.1"
  266. opam-lock
  267. opam-package-upgrade
  268. opam-publish >= "0.3.5"
  269. opam-test
  270. opine
  271. opium
  272. orb
  273. ordma >= "0.0.5"
  274. ortac-core
  275. ortac-dune
  276. ortac-qcheck-stm
  277. orun
  278. osbx
  279. osx-fsevents
  280. owee >= "0.8"
  281. owi >= "0.2"
  282. owork
  283. passage
  284. passmakercmd
  285. pds >= "4.13"
  286. pg_query >= "0.9.6"
  287. pkcs11-cli
  288. plotkicadsch
  289. polly
  290. pplumbing
  291. ppx_deriving_cmdliner
  292. ppx_deriving_rpc = "8.1.0"
  293. ppx_subliner
  294. ppxlib-tools
  295. prelude < "0.5"
  296. prof_spacetime
  297. prometheus-app
  298. protocol-9p < "0.12.1"
  299. protocol-9p-tool
  300. protocol-9p-unix < "0.12.1"
  301. pyast
  302. pyml_bindgen >= "0.4.1"
  303. pyre-ast
  304. qcow < "0.10.2" | >= "0.11.0"
  305. qcow-tool
  306. qmp
  307. queenshead
  308. randii
  309. regenerate
  310. rosetta < "0.2.0"
  311. rotor
  312. rpclib
  313. runtime_events_tools >= "0.3"
  314. rust-staticlib-gen
  315. salto-analyzer
  316. scfg >= "0.4"
  317. shared-block-ring
  318. sherlodoc
  319. sid
  320. slack
  321. slacko
  322. slipshow
  323. smtml
  324. solo5-elftool
  325. spin
  326. sslconf
  327. starred_ml >= "0.0.4"
  328. sun
  329. tallgeese
  330. tcpip >= "8.0.0"
  331. telltime
  332. tensorflow
  333. testo
  334. testo-lwt
  335. tezos-context-hash-irmin
  336. tidy_email_mailgun
  337. tidy_email_sendgrid
  338. tidy_email_smtp
  339. timmy
  340. tldr >= "0.3.0"
  341. tls >= "0.15.3" & < "0.16.0" | >= "1.0.0"
  342. tls-lwt
  343. tlstunnel
  344. toc
  345. topkg-care >= "1.0.5"
  346. torch < "v0.16.0"
  347. touist >= "3.5.0"
  348. tuntap != "1.4.1"
  349. u2f
  350. uring
  351. uring-trace
  352. user-setup
  353. valentine
  354. vchan < "6.0.2"
  355. vchan-unix
  356. vchan-xen < "6.0.2"
  357. vecosek
  358. vendredi
  359. vpnkit
  360. wasm_of_ocaml-compiler
  361. wayland
  362. webauthn
  363. webbrowser >= "0.6.2"
  364. xapi-inventory
  365. xen-evtchn
  366. xen-evtchn-unix
  367. xen-gnt
  368. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.