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"
  4. alcotest-async >= "1.3.0"
  5. alcotest-js
  6. alcotest-lwt >= "1.3.0"
  7. alcotest-mirage >= "1.3.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. bytepdf
  64. ca-certs-nss
  65. caisar
  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. colibri2
  92. colibrics
  93. commons >= "1.8.0"
  94. conex
  95. conex-mirage-crypto
  96. conex-nocrypto
  97. confero
  98. coq-lsp
  99. coq-serapi >= "8.9.0+0.6.0"
  100. cosovo
  101. cppffigen
  102. craml
  103. crowbar >= "0.2.1"
  104. crunch
  105. cucumber
  106. current
  107. current-albatross-deployer
  108. current_examples >= "0.4"
  109. current_github >= "0.4"
  110. current_gitlab
  111. current_web
  112. datakit >= "0.10.0"
  113. datakit-bridge-github >= "0.10.0"
  114. datakit-bridge-local-git
  115. datakit-ci >= "0.10.0"
  116. datakit-client < "0.11.0"
  117. datakit-client-9p
  118. datakit-github >= "0.9.0"
  119. datakit-server >= "0.10.0" & < "0.11.0"
  120. decompress >= "0.8" & < "1.0.0" | >= "1.3.0"
  121. dedukti >= "2.7"
  122. depgraph
  123. dirsift
  124. diskuvbox
  125. dkim
  126. dkim-bin
  127. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  128. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  129. dkml-install
  130. dkml-install-installer < "0.5.1"
  131. dkml-install-runner
  132. dns >= "0.6.0" & < "0.19.1"
  133. dns-cli
  134. dns-forward < "0.9.0"
  135. dns-lwt-unix
  136. docfd
  137. dockerfile >= "1.1.0" & < "3.0.0"
  138. dockerfile-cmd
  139. dockerfile-opam < "8.1.0"
  140. docteur >= "0.0.4"
  141. dog
  142. doi2bib >= "0.3.0"
  143. dolmen_bin
  144. dream-cli
  145. dryunit
  146. dscheck >= "0.2.0"
  147. dune-deps >= "1.1.0"
  148. dune-expand
  149. dune-release >= "1.6.1"
  150. earlybird
  151. eio_linux >= "0.3"
  152. elasticsearch-cli >= "1.0"
  153. electrod
  154. electrumAnalyzer >= "0.3.5-2"
  155. elpi >= "1.3.1"
  156. erlang
  157. extism
  158. ezxenstore
  159. facteur
  160. fat-filesystem
  161. fit
  162. frenetic >= "3.2.0" & < "5.0.0"
  163. fsevents-lwt
  164. functoria = "3.1.2" | >= "4.0.0" & != "4.4.0" & < "4.4.2"
  165. functoria-runtime < "4.4.0"
  166. git >= "1.4.4" & < "1.6.0" | >= "3.0.0"
  167. git-unix = "3.7.1" | >= "3.8.1"
  168. github >= "0.4.0" & < "3.0.0"
  169. github-unix
  170. gitlab-unix >= "0.1.3"
  171. gobba
  172. gospel
  173. happy-eyeballs-lwt
  174. hlarp
  175. hll >= "2.7"
  176. http-lwt-client
  177. hvsock < "2.0.0" | >= "3.0.1"
  178. hxd >= "0.3.2"
  179. igvxml
  180. index >= "1.6.1"
  181. index-bench >= "1.6.1"
  182. irmin < "1.0.0"
  183. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  184. irmin-cli
  185. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  186. irmin-pack-tools
  187. irmin-server
  188. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  189. irmin-tezos < "3.0.0" | >= "3.2.1"
  190. irmin-tezos-utils
  191. irmin-unix >= "1.0.2" & < "1.2.0" | >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  192. jasmin >= "2023.06.0"
  193. jitsu
  194. js_of_ocaml >= "2.5" & < "3.0"
  195. js_of_ocaml-compiler
  196. jsonschema2atd
  197. jsonxt
  198. kafka >= "0.3" & < "0.5"
  199. kafka_lwt
  200. ke >= "0.5"
  201. ketrew
  202. kinetic-client >= "0.0.9"
  203. kmt
  204. lab
  205. labrys
  206. lambdapi = "2.0.0" | >= "2.2.0"
  207. learn-ocaml
  208. learn-ocaml-client
  209. letsencrypt < "0.3.0"
  210. letsencrypt-app
  211. lilac
  212. llopt
  213. mastodon-archive-viewer
  214. mbr-format < "1.0.0"
  215. mdx >= "2.2.0"
  216. mel
  217. melange
  218. meldep
  219. merge-fmt
  220. message-switch
  221. minicaml >= "0.2.2"
  222. mirage >= "4.0.0" & < "4.5.0"
  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. niru
  240. nocoiner
  241. nuscr >= "2.0.0"
  242. obandit >= "0.3.4"
  243. obuilder < "0.6.0"
  244. ocal
  245. ocaml-gist
  246. ocamlcodoc
  247. ocamlformat >= "0.21.0"
  248. oci
  249. ocluster >= "0.2" & < "0.3.0"
  250. ocp-browser >= "1.1.6"
  251. ocp-build = "1.99.20-beta"
  252. ocp-indent >= "1.6.0"
  253. ocp-indent-nlfork
  254. ocp-index
  255. ocp-reloc
  256. octez-libs
  257. octez-node
  258. octez-proxy-server
  259. odds
  260. odep
  261. odig
  262. odoc
  263. ometrics
  264. omigrate
  265. omod
  266. opam-0install >= "0.4.1"
  267. opam-0install-cudf < "0.4.1"
  268. opam-build
  269. opam-build-revdeps
  270. opam-bundle
  271. opam-ci
  272. opam-client >= "2.0.0~beta"
  273. opam-depext >= "1.2.1"
  274. opam-devel >= "2.0.0~beta"
  275. opam-dune-lint
  276. opam-ed
  277. opam-graph
  278. opam-grep >= "0.2.0"
  279. opam-installer
  280. opam-lib >= "1.3.1"
  281. opam-lock
  282. opam-package-upgrade
  283. opam-publish != "0.3.0+transition"
  284. opam-query
  285. opam-test
  286. opam2web >= "1.3.0" & < "2.0"
  287. opass >= "2.15"
  288. operf-macro
  289. opine
  290. opium >= "0.12.0"
  291. ordma >= "0.0.5"
  292. ortac-core
  293. ortac-qcheck-stm
  294. orun
  295. osbx
  296. osx-fsevents
  297. owi >= "0.2"
  298. owork
  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. prof_spacetime
  309. prometheus-app >= "0.4"
  310. protocol-9p < "0.12.1"
  311. protocol-9p-tool
  312. protocol-9p-unix < "0.12.1"
  313. publish < "0.3.4+transition"
  314. pyast
  315. pyml_bindgen >= "0.4.1"
  316. pyre-ast
  317. qcow < "0.10.2" | >= "0.11.0"
  318. qcow-format
  319. qcow-tool
  320. qmp
  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
  333. slack-backup
  334. slacko
  335. snabela
  336. solo5-elftool
  337. spin
  338. spotify-cli
  339. sslconf
  340. sun
  341. tallgeese
  342. tar-format >= "0.2.0" & < "0.7.1"
  343. tcpip >= "8.0.0"
  344. telltime
  345. tensorflow >= "0.0.4"
  346. tezos-context-hash-irmin
  347. tezos-node >= "8.0"
  348. tezos-proxy-server
  349. tidy_email_mailgun
  350. tidy_email_sendgrid
  351. tidy_email_smtp
  352. timmy
  353. tldr >= "0.3.0"
  354. tls >= "0.15.3" & < "0.16.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. usbmux
  366. user-setup >= "0.4"
  367. valentine
  368. vchan < "6.0.2"
  369. vchan-unix
  370. vchan-xen < "6.0.2"
  371. vecosek
  372. vendredi
  373. vhd-tool
  374. vimebac
  375. vpnkit
  376. wayland
  377. webauthn
  378. weevil
  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.