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. builder-web >= "0.2.0"
  65. bytepdf
  66. ca-certs-nss
  67. caisar
  68. camels
  69. camyll
  70. capnp-rpc-unix
  71. caqti >= "1.8.0"
  72. caqti-async >= "1.8.0"
  73. caqti-driver-mariadb >= "1.8.0"
  74. caqti-driver-postgresql >= "1.8.0"
  75. caqti-driver-sqlite3 >= "1.8.0"
  76. caqti-dynload >= "2.0.1"
  77. caqti-eio
  78. caqti-lwt >= "1.8.0"
  79. carton >= "0.3.0"
  80. catala >= "0.7.0"
  81. certify >= "0.3.0"
  82. chamelon-unix
  83. charrua-unix
  84. checkseum >= "0.0.2" & < "0.2.0"
  85. clim-ppx
  86. cmdliner-stdlib
  87. cmdtui-lambda-term
  88. coclobas
  89. cohttp >= "0.13.0" & < "0.99.0"
  90. cohttp-lwt-unix < "2.5.7" | >= "3.0.0" & != "4.1.1"
  91. cohttp-lwt-unix-nossl
  92. cohttp-lwt-unix-ssl
  93. colibri2
  94. colibrics
  95. commons >= "1.8.0"
  96. conex
  97. conex-mirage-crypto
  98. conex-nocrypto
  99. confero
  100. coq-lsp
  101. coq-serapi >= "8.9.0+0.6.0"
  102. cosovo
  103. cppffigen
  104. craml
  105. crowbar >= "0.2.1"
  106. crunch
  107. cucumber
  108. current
  109. current-albatross-deployer
  110. current_examples >= "0.4"
  111. current_github >= "0.4"
  112. current_gitlab
  113. current_web
  114. datakit >= "0.10.0"
  115. datakit-bridge-github >= "0.10.0"
  116. datakit-bridge-local-git
  117. datakit-ci >= "0.10.0"
  118. datakit-client < "0.11.0"
  119. datakit-client-9p
  120. datakit-github >= "0.9.0"
  121. datakit-server >= "0.10.0" & < "0.11.0"
  122. decompress >= "0.8" & < "1.0.0" | >= "1.3.0"
  123. dedukti >= "2.7"
  124. depgraph
  125. dirsift
  126. diskuvbox
  127. dkim
  128. dkim-bin
  129. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  130. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  131. dkml-install
  132. dkml-install-installer < "0.5.1"
  133. dkml-install-runner
  134. dns >= "0.6.0" & < "0.19.1"
  135. dns-cli
  136. dns-forward < "0.9.0"
  137. dns-lwt-unix
  138. docfd
  139. dockerfile >= "1.1.0" & < "3.0.0"
  140. dockerfile-cmd
  141. dockerfile-opam < "8.1.0"
  142. docteur >= "0.0.4"
  143. dog
  144. doi2bib >= "0.3.0"
  145. dolmen_bin
  146. dream-cli
  147. dryunit
  148. dscheck >= "0.2.0"
  149. dune-deps >= "1.1.0"
  150. dune-expand
  151. dune-release >= "1.6.1"
  152. earlybird
  153. eio-trace
  154. eio_linux >= "0.3"
  155. elasticsearch-cli >= "1.0"
  156. electrod
  157. electrumAnalyzer >= "0.3.5-2"
  158. elpi >= "1.3.1"
  159. encoding >= "0.0.2"
  160. erlang
  161. extism
  162. ezxenstore
  163. facteur
  164. fat-filesystem
  165. fit
  166. forester >= "2.3"
  167. frenetic >= "3.2.0" & < "5.0.0"
  168. fsevents-lwt
  169. functoria = "3.1.2" | = "4.4.1"
  170. functoria-runtime
  171. git >= "1.4.4" & < "1.6.0" | >= "3.0.0"
  172. git-unix = "3.7.1" | >= "3.8.1"
  173. github >= "0.4.0" & < "3.0.0"
  174. github-unix
  175. gitlab-unix >= "0.1.3"
  176. gobba
  177. gospel
  178. happy-eyeballs-lwt
  179. happy-eyeballs-miou-unix
  180. hlarp
  181. hll >= "2.7"
  182. http-lwt-client
  183. hvsock < "2.0.0" | >= "3.0.1"
  184. hxd >= "0.3.2"
  185. igvxml
  186. index >= "1.6.1"
  187. index-bench >= "1.6.1"
  188. irmin < "1.0.0"
  189. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  190. irmin-cli
  191. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  192. irmin-pack-tools
  193. irmin-server
  194. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  195. irmin-tezos < "3.0.0" | >= "3.2.1"
  196. irmin-tezos-utils
  197. irmin-unix >= "1.0.2" & < "1.2.0" | >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  198. jasmin >= "2023.06.0"
  199. jitsu
  200. js_of_ocaml >= "2.5" & < "3.0"
  201. js_of_ocaml-compiler
  202. jsonschema2atd
  203. jsonxt
  204. kafka >= "0.3" & < "0.5"
  205. kafka_lwt
  206. ke >= "0.5"
  207. ketrew
  208. kinetic-client >= "0.0.9"
  209. kmt
  210. lab
  211. labrys
  212. lambdapi = "2.0.0" | >= "2.2.0"
  213. learn-ocaml
  214. learn-ocaml-client
  215. letsencrypt < "0.3.0"
  216. letsencrypt-app
  217. lilac
  218. llopt
  219. MlFront_Cli
  220. mastodon-archive-viewer
  221. mbr-format < "1.0.0"
  222. mdx >= "2.2.0"
  223. mel
  224. melange
  225. meldep
  226. merge-fmt
  227. message-switch
  228. minicaml >= "0.2.2"
  229. mirage >= "4.6.0"
  230. mirage-block-ccm >= "1.1.0"
  231. mirage-block-xen < "2.0.0"
  232. mirage-console >= "2.1.2" & < "2.2.0"
  233. mirage-console-xen-cli
  234. mirage-dns >= "2.6.0" & < "3.0.0"
  235. mirage-logs >= "2.0.0"
  236. mirage-runtime >= "4.5.0"
  237. mirage-seal
  238. mirror
  239. mkaudio
  240. monorobot
  241. mrmime >= "0.5.0"
  242. mustache-cli
  243. named-pipe
  244. nbd >= "0.9.2" & < "4.0.3"
  245. nbd-tool
  246. nebula
  247. niru
  248. nocoiner
  249. nuscr >= "2.0.0"
  250. obandit >= "0.3.4"
  251. obuilder
  252. ocal
  253. ocaml-gist
  254. ocamlcodoc
  255. ocamlformat >= "0.21.0"
  256. oci
  257. ocluster >= "0.2"
  258. ocp-browser >= "1.1.6"
  259. ocp-build = "1.99.20-beta"
  260. ocp-indent >= "1.6.0"
  261. ocp-indent-nlfork
  262. ocp-index
  263. ocp-reloc
  264. octez-dal-node
  265. octez-internal-libs
  266. octez-libs
  267. octez-node
  268. octez-proxy-server
  269. odds
  270. odep
  271. odig
  272. odoc
  273. ometrics
  274. omigrate
  275. omod
  276. opam-0install >= "0.4.1"
  277. opam-0install-cudf < "0.4.1"
  278. opam-build
  279. opam-build-revdeps
  280. opam-bundle
  281. opam-ci
  282. opam-client >= "2.0.0~beta"
  283. opam-compiler >= "0.2.0"
  284. opam-depext >= "1.2.1"
  285. opam-devel >= "2.0.0~beta"
  286. opam-dune-lint
  287. opam-ed
  288. opam-graph
  289. opam-grep >= "0.2.0"
  290. opam-installer
  291. opam-lib >= "1.3.1"
  292. opam-lock
  293. opam-package-upgrade
  294. opam-publish != "0.3.0+transition"
  295. opam-query
  296. opam-test
  297. opam2web >= "1.3.0" & < "2.0"
  298. opass >= "2.15"
  299. operf-macro
  300. opine
  301. opium >= "0.12.0"
  302. orb
  303. ordma >= "0.0.5"
  304. ortac-core
  305. ortac-dune
  306. ortac-qcheck-stm
  307. orun
  308. osbx
  309. osx-fsevents
  310. owi >= "0.2"
  311. owork
  312. passage
  313. passmakercmd
  314. pds >= "4.13"
  315. pg_query >= "0.9.6"
  316. pkcs11-cli
  317. plotkicadsch >= "0.2.0"
  318. polly
  319. ppx_deriving_cmdliner
  320. ppx_deriving_rpc = "8.1.0"
  321. ppx_subliner
  322. prelude
  323. prof_spacetime
  324. prometheus-app >= "0.4"
  325. protocol-9p < "0.12.1"
  326. protocol-9p-tool
  327. protocol-9p-unix < "0.12.1"
  328. publish < "0.3.4+transition"
  329. pyast
  330. pyml_bindgen >= "0.4.1"
  331. pyre-ast
  332. qcow < "0.10.2" | >= "0.11.0"
  333. qcow-format
  334. qcow-tool
  335. qmp
  336. queenshead
  337. randii
  338. regenerate
  339. rosetta < "0.2.0"
  340. rotor
  341. rpc >= "1.9.51" & < "5.9.0"
  342. rpclib
  343. runtime_events_tools >= "0.3"
  344. satyrographos < "0.0.1.7"
  345. shared-block-ring
  346. sherlodoc
  347. sibylfs
  348. sid
  349. slack
  350. slack-backup
  351. slacko
  352. slipshow
  353. smtml
  354. snabela
  355. solo5-elftool
  356. spin
  357. spotify-cli
  358. sslconf
  359. starred_ml >= "0.0.4"
  360. sun
  361. tallgeese
  362. tar-format >= "0.2.0" & < "0.7.1"
  363. tcpip >= "8.0.0"
  364. telltime
  365. tensorflow >= "0.0.4"
  366. tezos-context-hash-irmin
  367. tezos-node >= "8.0"
  368. tezos-proxy-server
  369. tidy_email_mailgun
  370. tidy_email_sendgrid
  371. tidy_email_smtp
  372. timmy
  373. tldr >= "0.3.0"
  374. tls >= "0.15.3" & < "0.16.0" | >= "1.0.0"
  375. tls-lwt
  376. tlstunnel
  377. toc
  378. topkg-care >= "1.0.5"
  379. torch < "v0.16.0"
  380. touist >= "3.5.0"
  381. travis-senv
  382. tuntap >= "1.0.0" & != "1.4.1"
  383. u2f
  384. uring
  385. uring-trace
  386. usbmux
  387. user-setup >= "0.4"
  388. valentine
  389. vchan < "6.0.2"
  390. vchan-unix
  391. vchan-xen < "6.0.2"
  392. vecosek
  393. vendredi
  394. vhd-tool
  395. vimebac
  396. vpnkit
  397. wayland
  398. webauthn
  399. weevil
  400. xapi-idl
  401. xapi-inventory
  402. xapi-rrd-transport
  403. xe-unikernel-upload
  404. xen-block-driver
  405. xen-disk
  406. xen-evtchn
  407. xen-evtchn-unix
  408. xen-gnt >= "1.0.0"
  409. xenctrl
  410. xentropyd
  411. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.