package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.1.0.tbz
sha512=e2fad706829e7b8b50d1a510b59b87e44294252d8e8bdd9d6cb07f435d7c1c123f82353eedf29e9a4b7768da485516b89b62bf956234e90d7eae1bbaae2c9263

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

Conflicts

None