package cmdliner

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

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.3.0.tbz
sha512=4c46bc334444ff772637deae2f5ba03645d7a1b7db523470a1246acfce79b971c764d964cbb02388639b3161b279700d9ade95da550446fb32aa4849c8a8f283

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.3.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.1"
  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.6.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-dal-node
  262. octez-internal-libs
  263. octez-libs
  264. octez-node
  265. octez-proxy-server
  266. odds
  267. odep
  268. odig
  269. odoc
  270. ometrics
  271. omigrate
  272. omod
  273. opam-0install >= "0.4.1"
  274. opam-0install-cudf < "0.4.1"
  275. opam-build
  276. opam-build-revdeps
  277. opam-bundle
  278. opam-ci
  279. opam-client >= "2.0.0~beta"
  280. opam-compiler >= "0.2.0"
  281. opam-depext >= "1.2.1"
  282. opam-devel >= "2.0.0~beta"
  283. opam-dune-lint
  284. opam-ed
  285. opam-graph
  286. opam-grep >= "0.2.0"
  287. opam-installer
  288. opam-lib >= "1.3.1"
  289. opam-lock
  290. opam-package-upgrade
  291. opam-publish != "0.3.0+transition"
  292. opam-query
  293. opam-test
  294. opam2web >= "1.3.0" & < "2.0"
  295. opass >= "2.15"
  296. operf-macro
  297. opine
  298. opium >= "0.12.0"
  299. ordma >= "0.0.5"
  300. ortac-core
  301. ortac-dune
  302. ortac-qcheck-stm
  303. orun
  304. osbx
  305. osx-fsevents
  306. owi >= "0.2"
  307. owork
  308. passage
  309. passmakercmd
  310. pds >= "4.13"
  311. pg_query >= "0.9.6"
  312. pkcs11-cli
  313. plotkicadsch >= "0.2.0"
  314. polly
  315. ppx_deriving_cmdliner
  316. ppx_deriving_rpc = "8.1.0"
  317. ppx_subliner
  318. prelude
  319. prof_spacetime
  320. prometheus-app >= "0.4"
  321. protocol-9p < "0.12.1"
  322. protocol-9p-tool
  323. protocol-9p-unix < "0.12.1"
  324. publish < "0.3.4+transition"
  325. pyast
  326. pyml_bindgen >= "0.4.1"
  327. pyre-ast
  328. qcow < "0.10.2" | >= "0.11.0"
  329. qcow-format
  330. qcow-tool
  331. qmp
  332. queenshead
  333. randii
  334. regenerate
  335. rosetta < "0.2.0"
  336. rotor
  337. rpc >= "1.9.51" & < "5.9.0"
  338. rpclib
  339. runtime_events_tools >= "0.3"
  340. satyrographos < "0.0.1.7"
  341. shared-block-ring
  342. sherlodoc
  343. sibylfs
  344. sid
  345. slack
  346. slack-backup
  347. slacko
  348. slipshow
  349. smtml
  350. snabela
  351. solo5-elftool
  352. spin
  353. spotify-cli
  354. sslconf
  355. starred_ml >= "0.0.4"
  356. sun
  357. tallgeese
  358. tar-format >= "0.2.0" & < "0.7.1"
  359. tcpip >= "8.0.0"
  360. telltime
  361. tensorflow >= "0.0.4"
  362. tezos-context-hash-irmin
  363. tezos-node >= "8.0"
  364. tezos-proxy-server
  365. tidy_email_mailgun
  366. tidy_email_sendgrid
  367. tidy_email_smtp
  368. timmy
  369. tldr >= "0.3.0"
  370. tls >= "0.15.3" & < "0.16.0"
  371. tls-lwt
  372. tlstunnel
  373. toc
  374. topkg-care >= "1.0.5"
  375. torch < "v0.16.0"
  376. touist >= "3.5.0"
  377. travis-senv
  378. tuntap >= "1.0.0" & != "1.4.1"
  379. u2f
  380. uring
  381. usbmux
  382. user-setup >= "0.4"
  383. valentine
  384. vchan < "6.0.2"
  385. vchan-unix
  386. vchan-xen < "6.0.2"
  387. vecosek
  388. vendredi
  389. vhd-tool
  390. vimebac
  391. vpnkit
  392. wayland
  393. webauthn
  394. weevil
  395. xapi-idl
  396. xapi-inventory
  397. xapi-rrd-transport
  398. xe-unikernel-upload
  399. xen-block-driver
  400. xen-disk
  401. xen-evtchn
  402. xen-evtchn-unix
  403. xen-gnt >= "1.0.0"
  404. xenctrl
  405. xentropyd
  406. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.