package cmdliner

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

Install

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_linux >= "0.3"
  153. elasticsearch-cli >= "1.0"
  154. electrod
  155. electrumAnalyzer >= "0.3.5-2"
  156. elpi >= "1.3.1"
  157. erlang
  158. extism
  159. ezxenstore
  160. facteur
  161. fat-filesystem
  162. fit
  163. forester >= "2.3"
  164. frenetic >= "3.2.0" & < "5.0.0"
  165. fsevents-lwt
  166. functoria = "3.1.2" | >= "4.4.0"
  167. functoria-runtime
  168. git >= "1.4.4" & < "1.6.0" | >= "3.0.0"
  169. git-unix = "3.7.1" | >= "3.8.1"
  170. github >= "0.4.0" & < "3.0.0"
  171. github-unix
  172. gitlab-unix >= "0.1.3"
  173. gobba
  174. gospel
  175. happy-eyeballs-lwt
  176. hlarp
  177. hll >= "2.7"
  178. http-lwt-client
  179. hvsock < "2.0.0" | >= "3.0.1"
  180. hxd >= "0.3.2"
  181. igvxml
  182. index >= "1.6.1"
  183. index-bench >= "1.6.1"
  184. irmin < "1.0.0"
  185. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  186. irmin-cli
  187. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  188. irmin-pack-tools
  189. irmin-server
  190. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  191. irmin-tezos < "3.0.0" | >= "3.2.1"
  192. irmin-tezos-utils
  193. irmin-unix >= "1.0.2" & < "1.2.0" | >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  194. jasmin >= "2023.06.0"
  195. jitsu
  196. js_of_ocaml >= "2.5" & < "3.0"
  197. js_of_ocaml-compiler
  198. jsonxt
  199. kafka >= "0.3" & < "0.5"
  200. kafka_lwt
  201. ke >= "0.5"
  202. ketrew
  203. kinetic-client >= "0.0.9"
  204. kmt
  205. lab
  206. labrys
  207. lambdapi = "2.0.0" | >= "2.2.0"
  208. learn-ocaml
  209. learn-ocaml-client
  210. letsencrypt < "0.3.0"
  211. letsencrypt-app
  212. lilac
  213. llopt
  214. mastodon-archive-viewer
  215. mbr-format < "1.0.0"
  216. mdx >= "2.2.0"
  217. mel
  218. melange
  219. meldep
  220. merge-fmt
  221. message-switch
  222. minicaml >= "0.2.2"
  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
  243. ocal
  244. ocaml-gist
  245. ocamlcodoc
  246. ocamlformat >= "0.21.0"
  247. oci
  248. ocluster >= "0.2"
  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. queenshead
  321. randii
  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-backup
  333. slacko
  334. snabela
  335. solo5-elftool
  336. spin
  337. spotify-cli
  338. sslconf
  339. sun
  340. tallgeese
  341. tar-format >= "0.2.0" & < "0.7.1"
  342. tcpip >= "8.0.0"
  343. telltime
  344. tensorflow >= "0.0.4"
  345. tezos-context-hash-irmin
  346. tezos-node >= "8.0"
  347. tezos-proxy-server
  348. tidy_email_mailgun
  349. tidy_email_sendgrid
  350. tidy_email_smtp
  351. timmy
  352. tldr >= "0.3.0"
  353. tls >= "0.15.3" & < "0.16.0"
  354. tls-lwt
  355. tlstunnel
  356. toc
  357. topkg-care >= "1.0.5"
  358. torch < "v0.16.0"
  359. touist >= "3.5.0"
  360. travis-senv
  361. tuntap >= "1.0.0" & != "1.4.1"
  362. u2f
  363. uring
  364. usbmux
  365. user-setup >= "0.4"
  366. valentine
  367. vchan
  368. vchan-unix
  369. vchan-xen
  370. vecosek
  371. vendredi
  372. vhd-tool
  373. vimebac
  374. vpnkit
  375. wayland
  376. webauthn
  377. weevil
  378. xapi-idl
  379. xapi-inventory
  380. xapi-rrd-transport
  381. xe-unikernel-upload
  382. xen-block-driver
  383. xen-disk
  384. xen-evtchn
  385. xen-evtchn-unix
  386. xen-gnt >= "1.0.0"
  387. xenctrl
  388. xentropyd
  389. yuscii = "0.2.0"

Conflicts

None