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

Conflicts

None

OCaml

Innovation. Community. Security.