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

Conflicts

None

OCaml

Innovation. Community. Security.