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

Conflicts

None

OCaml

Innovation. Community. Security.