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.4.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. pg_query >= "0.9.6"
  308. pkcs11-cli
  309. plotkicadsch >= "0.2.0"
  310. polly
  311. ppx_deriving_cmdliner
  312. ppx_deriving_rpc = "8.1.0"
  313. ppx_subliner
  314. prof_spacetime
  315. prometheus-app >= "0.4"
  316. protocol-9p < "0.12.1"
  317. protocol-9p-tool
  318. protocol-9p-unix < "0.12.1"
  319. publish < "0.3.4+transition"
  320. pyast
  321. pyml_bindgen >= "0.4.1"
  322. pyre-ast
  323. qcow < "0.10.2" | >= "0.11.0"
  324. qcow-format
  325. qcow-tool
  326. qmp
  327. queenshead
  328. randii
  329. regenerate
  330. rosetta < "0.2.0"
  331. rotor
  332. rpc >= "1.9.51" & < "5.9.0"
  333. rpclib
  334. runtime_events_tools >= "0.3"
  335. satyrographos < "0.0.1.7"
  336. shared-block-ring
  337. sherlodoc
  338. sibylfs
  339. sid
  340. slack
  341. slack-backup
  342. slacko
  343. smtml
  344. snabela
  345. solo5-elftool
  346. spin
  347. spotify-cli
  348. sslconf
  349. starred_ml >= "0.0.4"
  350. sun
  351. tallgeese
  352. tar-format >= "0.2.0" & < "0.7.1"
  353. tcpip >= "8.0.0"
  354. telltime
  355. tensorflow >= "0.0.4"
  356. tezos-context-hash-irmin
  357. tezos-node >= "8.0"
  358. tezos-proxy-server
  359. tidy_email_mailgun
  360. tidy_email_sendgrid
  361. tidy_email_smtp
  362. timmy
  363. tldr >= "0.3.0"
  364. tls >= "0.15.3" & < "0.16.0"
  365. tls-lwt
  366. tlstunnel
  367. toc
  368. topkg-care >= "1.0.5"
  369. torch < "v0.16.0"
  370. touist >= "3.5.0"
  371. travis-senv
  372. tuntap >= "1.0.0" & != "1.4.1"
  373. u2f
  374. uring
  375. usbmux
  376. user-setup >= "0.4"
  377. valentine
  378. vchan < "6.0.2"
  379. vchan-unix
  380. vchan-xen < "6.0.2"
  381. vecosek
  382. vendredi
  383. vhd-tool
  384. vimebac
  385. vpnkit
  386. wayland
  387. webauthn
  388. weevil
  389. xapi-idl
  390. xapi-inventory
  391. xapi-rrd-transport
  392. xe-unikernel-upload
  393. xen-block-driver
  394. xen-disk
  395. xen-evtchn
  396. xen-evtchn-unix
  397. xen-gnt >= "1.0.0"
  398. xenctrl
  399. xentropyd
  400. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.