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

Conflicts

None

OCaml

Innovation. Community. Security.