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. happy-eyeballs-miou-unix
  179. hlarp
  180. hll >= "2.7"
  181. http-lwt-client
  182. hvsock < "2.0.0" | >= "3.0.1"
  183. hxd >= "0.3.2"
  184. igvxml
  185. index >= "1.6.1"
  186. index-bench >= "1.6.1"
  187. irmin < "1.0.0"
  188. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  189. irmin-cli
  190. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  191. irmin-pack-tools
  192. irmin-server
  193. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  194. irmin-tezos < "3.0.0" | >= "3.2.1"
  195. irmin-tezos-utils
  196. irmin-unix >= "1.0.2" & < "1.2.0" | >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  197. jasmin >= "2023.06.0"
  198. jitsu
  199. js_of_ocaml >= "2.5" & < "3.0"
  200. js_of_ocaml-compiler
  201. jsonschema2atd
  202. jsonxt
  203. kafka >= "0.3" & < "0.5"
  204. kafka_lwt
  205. ke >= "0.5"
  206. ketrew
  207. kinetic-client >= "0.0.9"
  208. kmt
  209. lab
  210. labrys
  211. lambdapi = "2.0.0" | >= "2.2.0"
  212. learn-ocaml
  213. learn-ocaml-client
  214. letsencrypt < "0.3.0"
  215. letsencrypt-app
  216. lilac
  217. llopt
  218. MlFront_Cli
  219. mastodon-archive-viewer
  220. mbr-format < "1.0.0"
  221. mdx >= "2.2.0"
  222. mel
  223. melange
  224. meldep
  225. merge-fmt
  226. message-switch
  227. minicaml >= "0.2.2"
  228. mirage >= "4.6.0"
  229. mirage-block-ccm >= "1.1.0"
  230. mirage-block-xen < "2.0.0"
  231. mirage-console >= "2.1.2" & < "2.2.0"
  232. mirage-console-xen-cli
  233. mirage-dns >= "2.6.0" & < "3.0.0"
  234. mirage-logs >= "2.0.0"
  235. mirage-runtime >= "4.5.0"
  236. mirage-seal
  237. mirror
  238. mkaudio
  239. monorobot
  240. mrmime >= "0.5.0"
  241. mustache-cli
  242. named-pipe
  243. nbd >= "0.9.2" & < "4.0.3"
  244. nbd-tool
  245. nebula
  246. niru
  247. nocoiner
  248. nuscr >= "2.0.0"
  249. obandit >= "0.3.4"
  250. obuilder
  251. ocal
  252. ocaml-gist
  253. ocamlcodoc
  254. ocamlformat >= "0.21.0"
  255. oci
  256. ocluster >= "0.2"
  257. ocp-browser >= "1.1.6"
  258. ocp-build = "1.99.20-beta"
  259. ocp-indent >= "1.6.0"
  260. ocp-indent-nlfork
  261. ocp-index
  262. ocp-reloc
  263. octez-dal-node
  264. octez-internal-libs
  265. octez-libs
  266. octez-node
  267. octez-proxy-server
  268. odds
  269. odep
  270. odig
  271. odoc
  272. ometrics
  273. omigrate
  274. omod
  275. opam-0install >= "0.4.1"
  276. opam-0install-cudf < "0.4.1"
  277. opam-build
  278. opam-build-revdeps
  279. opam-bundle
  280. opam-ci
  281. opam-client >= "2.0.0~beta"
  282. opam-compiler >= "0.2.0"
  283. opam-depext >= "1.2.1"
  284. opam-devel >= "2.0.0~beta"
  285. opam-dune-lint
  286. opam-ed
  287. opam-graph
  288. opam-grep >= "0.2.0"
  289. opam-installer
  290. opam-lib >= "1.3.1"
  291. opam-lock
  292. opam-package-upgrade
  293. opam-publish != "0.3.0+transition"
  294. opam-query
  295. opam-test
  296. opam2web >= "1.3.0" & < "2.0"
  297. opass >= "2.15"
  298. operf-macro
  299. opine
  300. opium >= "0.12.0"
  301. ordma >= "0.0.5"
  302. ortac-core
  303. ortac-dune
  304. ortac-qcheck-stm
  305. orun
  306. osbx
  307. osx-fsevents
  308. owi >= "0.2"
  309. owork
  310. passage
  311. passmakercmd
  312. pds >= "4.13"
  313. pg_query >= "0.9.6"
  314. pkcs11-cli
  315. plotkicadsch >= "0.2.0"
  316. polly
  317. ppx_deriving_cmdliner
  318. ppx_deriving_rpc = "8.1.0"
  319. ppx_subliner
  320. prelude
  321. prof_spacetime
  322. prometheus-app >= "0.4"
  323. protocol-9p < "0.12.1"
  324. protocol-9p-tool
  325. protocol-9p-unix < "0.12.1"
  326. publish < "0.3.4+transition"
  327. pyast
  328. pyml_bindgen >= "0.4.1"
  329. pyre-ast
  330. qcow < "0.10.2" | >= "0.11.0"
  331. qcow-format
  332. qcow-tool
  333. qmp
  334. queenshead
  335. randii
  336. regenerate
  337. rosetta < "0.2.0"
  338. rotor
  339. rpc >= "1.9.51" & < "5.9.0"
  340. rpclib
  341. runtime_events_tools >= "0.3"
  342. satyrographos < "0.0.1.7"
  343. shared-block-ring
  344. sherlodoc
  345. sibylfs
  346. sid
  347. slack
  348. slack-backup
  349. slacko
  350. slipshow
  351. smtml
  352. snabela
  353. solo5-elftool
  354. spin
  355. spotify-cli
  356. sslconf
  357. starred_ml >= "0.0.4"
  358. sun
  359. tallgeese
  360. tar-format >= "0.2.0" & < "0.7.1"
  361. tcpip >= "8.0.0"
  362. telltime
  363. tensorflow >= "0.0.4"
  364. tezos-context-hash-irmin
  365. tezos-node >= "8.0"
  366. tezos-proxy-server
  367. tidy_email_mailgun
  368. tidy_email_sendgrid
  369. tidy_email_smtp
  370. timmy
  371. tldr >= "0.3.0"
  372. tls >= "0.15.3" & < "0.16.0" | >= "1.0.0"
  373. tls-lwt
  374. tlstunnel
  375. toc
  376. topkg-care >= "1.0.5"
  377. torch < "v0.16.0"
  378. touist >= "3.5.0"
  379. travis-senv
  380. tuntap >= "1.0.0" & != "1.4.1"
  381. u2f
  382. uring
  383. uring-trace
  384. usbmux
  385. user-setup >= "0.4"
  386. valentine
  387. vchan < "6.0.2"
  388. vchan-unix
  389. vchan-xen < "6.0.2"
  390. vecosek
  391. vendredi
  392. vhd-tool
  393. vimebac
  394. vpnkit
  395. wayland
  396. webauthn
  397. weevil
  398. xapi-idl
  399. xapi-inventory
  400. xapi-rrd-transport
  401. xe-unikernel-upload
  402. xen-block-driver
  403. xen-disk
  404. xen-evtchn
  405. xen-evtchn-unix
  406. xen-gnt >= "1.0.0"
  407. xenctrl
  408. xentropyd
  409. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.