package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.1.1.tbz
sha512=5478ad833da254b5587b3746e3a8493e66e867a081ac0f653a901cc8a7d944f66e4387592215ce25d939be76f281c4785702f54d4a74b1700bc8838a62255c9e

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

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

Conflicts

None