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 >= "4.5.0"
  227. mirage-block-ccm >= "1.1.0"
  228. mirage-block-xen < "2.0.0"
  229. mirage-console >= "2.1.2" & < "2.2.0"
  230. mirage-console-xen-cli
  231. mirage-dns >= "2.6.0" & < "3.0.0"
  232. mirage-logs >= "2.0.0"
  233. mirage-runtime >= "4.5.0"
  234. mirage-seal
  235. mirror
  236. mkaudio
  237. monorobot
  238. mrmime >= "0.5.0"
  239. mustache-cli
  240. named-pipe
  241. nbd >= "0.9.2" & < "4.0.3"
  242. nbd-tool
  243. nebula
  244. nocoiner
  245. nuscr >= "2.0.0"
  246. obandit >= "0.3.4"
  247. obuilder
  248. ocal
  249. ocaml-gist
  250. ocamlcodoc
  251. ocamlformat >= "0.21.0"
  252. oci
  253. ocluster >= "0.2"
  254. ocp-browser >= "1.1.6"
  255. ocp-build = "1.99.20-beta"
  256. ocp-indent >= "1.6.0"
  257. ocp-indent-nlfork
  258. ocp-index
  259. ocp-reloc
  260. octez-libs
  261. octez-node
  262. octez-proxy-server
  263. odds
  264. odep
  265. odig
  266. odoc
  267. ometrics
  268. omigrate
  269. omod
  270. opam-0install >= "0.4.1"
  271. opam-0install-cudf < "0.4.1"
  272. opam-build
  273. opam-build-revdeps
  274. opam-bundle
  275. opam-ci
  276. opam-client >= "2.0.0~beta"
  277. opam-compiler >= "0.2.0"
  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. ordma >= "0.0.5"
  297. ortac-core
  298. ortac-qcheck-stm
  299. orun
  300. osbx
  301. osx-fsevents
  302. owork
  303. passmakercmd
  304. pds >= "4.13"
  305. pecu < "0.4"
  306. pg_query >= "0.9.6"
  307. pkcs11-cli
  308. plotkicadsch >= "0.2.0"
  309. polly
  310. ppx_deriving_cmdliner
  311. ppx_deriving_rpc = "8.1.0"
  312. ppx_subliner
  313. prof_spacetime
  314. prometheus-app >= "0.4"
  315. protocol-9p < "0.12.1"
  316. protocol-9p-tool
  317. protocol-9p-unix < "0.12.1"
  318. publish < "0.3.4+transition"
  319. pyast
  320. pyml_bindgen >= "0.4.1"
  321. pyre-ast
  322. qcow < "0.10.2" | >= "0.11.0"
  323. qcow-format
  324. qcow-tool
  325. qmp
  326. queenshead
  327. randii
  328. regenerate
  329. rosetta < "0.2.0"
  330. rotor
  331. rpc >= "1.9.51" & < "5.9.0"
  332. rpclib
  333. runtime_events_tools >= "0.3"
  334. satyrographos < "0.0.1.7"
  335. shared-block-ring
  336. sherlodoc
  337. sibylfs
  338. sid
  339. slack
  340. slack-backup
  341. slacko
  342. snabela
  343. solo5-elftool
  344. spin
  345. spotify-cli
  346. sslconf
  347. sun
  348. tallgeese
  349. tar-format >= "0.2.0" & < "0.7.1"
  350. tcpip >= "8.0.0"
  351. telltime
  352. tensorflow >= "0.0.4"
  353. tezos-context-hash-irmin
  354. tezos-node >= "8.0"
  355. tezos-proxy-server
  356. tidy_email_mailgun
  357. tidy_email_sendgrid
  358. tidy_email_smtp
  359. timmy
  360. tldr >= "0.3.0"
  361. tls >= "0.15.3" & < "0.16.0"
  362. tls-lwt
  363. tlstunnel
  364. toc
  365. topkg-care >= "1.0.5"
  366. torch < "v0.16.0"
  367. touist >= "3.5.0"
  368. travis-senv
  369. tuntap >= "1.0.0" & != "1.4.1"
  370. u2f
  371. uring
  372. usbmux
  373. user-setup >= "0.4"
  374. valentine
  375. vchan
  376. vchan-unix
  377. vchan-xen
  378. vecosek
  379. vendredi
  380. vhd-tool
  381. vimebac
  382. vpnkit
  383. wayland
  384. webauthn
  385. weevil
  386. xapi-idl
  387. xapi-inventory
  388. xapi-rrd-transport
  389. xe-unikernel-upload
  390. xen-block-driver
  391. xen-disk
  392. xen-evtchn
  393. xen-evtchn-unix
  394. xen-gnt >= "1.0.0"
  395. xenctrl
  396. xentropyd
  397. yuscii = "0.2.0"

Conflicts

None