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

Conflicts

None

OCaml

Innovation. Community. Security.