package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.2.0.tbz
sha512=6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b

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

Conflicts

None