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. niru
  245. nocoiner
  246. nuscr >= "2.0.0"
  247. obandit >= "0.3.4"
  248. obuilder
  249. ocal
  250. ocaml-gist
  251. ocamlcodoc
  252. ocamlformat >= "0.21.0"
  253. oci
  254. ocluster >= "0.2"
  255. ocp-browser >= "1.1.6"
  256. ocp-build = "1.99.20-beta"
  257. ocp-indent >= "1.6.0"
  258. ocp-indent-nlfork
  259. ocp-index
  260. ocp-reloc
  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-compiler >= "0.2.0"
  279. opam-depext >= "1.2.1"
  280. opam-devel >= "2.0.0~beta"
  281. opam-dune-lint
  282. opam-ed
  283. opam-graph
  284. opam-grep >= "0.2.0"
  285. opam-installer
  286. opam-lib >= "1.3.1"
  287. opam-lock
  288. opam-package-upgrade
  289. opam-publish != "0.3.0+transition"
  290. opam-query
  291. opam-test
  292. opam2web >= "1.3.0" & < "2.0"
  293. opass >= "2.15"
  294. operf-macro
  295. opine
  296. opium >= "0.12.0"
  297. ordma >= "0.0.5"
  298. ortac-core
  299. ortac-qcheck-stm
  300. orun
  301. osbx
  302. osx-fsevents
  303. owi >= "0.2"
  304. owork
  305. passmakercmd
  306. pds >= "4.13"
  307. pecu < "0.4"
  308. pg_query >= "0.9.6"
  309. pkcs11-cli
  310. plotkicadsch >= "0.2.0"
  311. polly
  312. ppx_deriving_cmdliner
  313. ppx_deriving_rpc = "8.1.0"
  314. ppx_subliner
  315. prof_spacetime
  316. prometheus-app >= "0.4"
  317. protocol-9p < "0.12.1"
  318. protocol-9p-tool
  319. protocol-9p-unix < "0.12.1"
  320. publish < "0.3.4+transition"
  321. pyast
  322. pyml_bindgen >= "0.4.1"
  323. pyre-ast
  324. qcow < "0.10.2" | >= "0.11.0"
  325. qcow-format
  326. qcow-tool
  327. qmp
  328. queenshead
  329. randii
  330. regenerate
  331. rosetta < "0.2.0"
  332. rotor
  333. rpc >= "1.9.51" & < "5.9.0"
  334. rpclib
  335. runtime_events_tools >= "0.3"
  336. satyrographos < "0.0.1.7"
  337. shared-block-ring
  338. sherlodoc
  339. sibylfs
  340. sid
  341. slack
  342. slack-backup
  343. slacko
  344. smtml
  345. snabela
  346. solo5-elftool
  347. spin
  348. spotify-cli
  349. sslconf
  350. starred_ml >= "0.0.4"
  351. sun
  352. tallgeese
  353. tar-format >= "0.2.0" & < "0.7.1"
  354. tcpip >= "8.0.0"
  355. telltime
  356. tensorflow >= "0.0.4"
  357. tezos-context-hash-irmin
  358. tezos-node >= "8.0"
  359. tezos-proxy-server
  360. tidy_email_mailgun
  361. tidy_email_sendgrid
  362. tidy_email_smtp
  363. timmy
  364. tldr >= "0.3.0"
  365. tls >= "0.15.3" & < "0.16.0"
  366. tls-lwt
  367. tlstunnel
  368. toc
  369. topkg-care >= "1.0.5"
  370. torch < "v0.16.0"
  371. touist >= "3.5.0"
  372. travis-senv
  373. tuntap >= "1.0.0" & != "1.4.1"
  374. u2f
  375. uring
  376. usbmux
  377. user-setup >= "0.4"
  378. valentine
  379. vchan
  380. vchan-unix
  381. vchan-xen
  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