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. asak >= "0.2"
  15. atd >= "2.13.0"
  16. atdd
  17. atdpy
  18. atdts
  19. awa
  20. aws-s3 >= "3.0.0"
  21. aws-s3-async < "3.0.0"
  22. b0 >= "0.0.4"
  23. bap < "0.9.5" | = "0.9.9"
  24. bap-abi < "2.2.0"
  25. bap-api < "2.2.0"
  26. bap-beagle < "2.3.0"
  27. bap-bil < "2.2.0"
  28. bap-byteweight-frontend
  29. bap-cache < "2.2.0"
  30. bap-callsites
  31. bap-demangle < "2.5.0"
  32. bap-dump-symbols < "2.2.0"
  33. bap-frames < "2.1.1"
  34. bap-frontend < "2.2.0"
  35. bap-fsi-benchmark
  36. bap-ida-plugin < "2.2.0"
  37. bap-llvm < "2.2.0"
  38. bap-main
  39. bap-mc < "2.0.0"
  40. bap-objdump < "2.2.0"
  41. bap-optimization < "2.2.0"
  42. bap-phoenix
  43. bap-piqi
  44. bap-plugins < "2.2.0"
  45. bap-powerpc >= "2.2.0"
  46. bap-std >= "1.4.0"
  47. bap-symbol-reader < "2.2.0"
  48. bap-taint < "1.4.0"
  49. bap-taint-propagator
  50. bap-term-mapper < "2.2.0"
  51. bap-trace
  52. bap-veri
  53. bap-warn-unused
  54. bap-x86
  55. batsh >= "0.0.4"
  56. benchpress
  57. benchpress-server
  58. bentov
  59. bisect_ppx >= "2.0.0"
  60. boltzgen
  61. boulangerie
  62. brozip
  63. bt
  64. builder
  65. builder-web >= "0.2.0"
  66. bytepdf
  67. ca-certs-nss
  68. caisar
  69. camels
  70. camyll
  71. capnp-rpc-unix
  72. caqti >= "1.8.0"
  73. caqti-async >= "1.8.0"
  74. caqti-driver-mariadb >= "1.8.0"
  75. caqti-driver-postgresql >= "1.8.0"
  76. caqti-driver-sqlite3 >= "1.8.0"
  77. caqti-dynload >= "2.0.1"
  78. caqti-eio
  79. caqti-lwt >= "1.8.0"
  80. carton >= "0.3.0"
  81. catala >= "0.7.0"
  82. certify >= "0.3.0"
  83. chamelon-unix
  84. charrua-unix
  85. checkseum >= "0.0.2" & < "0.2.0"
  86. clim-ppx
  87. cmdliner-stdlib
  88. cmdtui-lambda-term
  89. coclobas
  90. cohttp >= "0.13.0" & < "0.99.0"
  91. cohttp-lwt-unix < "2.5.7" | >= "3.0.0" & != "4.1.1"
  92. cohttp-lwt-unix-nossl
  93. cohttp-lwt-unix-ssl
  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" | = "4.4.1"
  172. functoria-runtime
  173. git >= "1.4.4" & < "1.6.0" | >= "3.0.0"
  174. git-unix = "3.7.1" | >= "3.8.1"
  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"
  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. oci
  259. ocluster >= "0.2"
  260. ocp-browser >= "1.1.6"
  261. ocp-build = "1.99.20-beta"
  262. ocp-indent >= "1.6.0"
  263. ocp-indent-nlfork
  264. ocp-index
  265. ocp-reloc
  266. octez-dal-node
  267. octez-internal-libs
  268. octez-libs
  269. octez-node
  270. octez-proxy-server
  271. odds
  272. odep
  273. odig
  274. odoc
  275. ometrics
  276. omigrate
  277. omod
  278. opam-0install >= "0.4.1"
  279. opam-0install-cudf < "0.4.1"
  280. opam-build
  281. opam-build-revdeps
  282. opam-bundle
  283. opam-ci
  284. opam-client >= "2.0.0~beta"
  285. opam-compiler >= "0.2.0"
  286. opam-depext >= "1.2.1"
  287. opam-devel >= "2.0.0~beta"
  288. opam-dune-lint
  289. opam-ed
  290. opam-graph
  291. opam-grep >= "0.2.0"
  292. opam-installer
  293. opam-lib >= "1.3.1"
  294. opam-lock
  295. opam-package-upgrade
  296. opam-publish != "0.3.0+transition"
  297. opam-query
  298. opam-test
  299. opam2web >= "1.3.0" & < "2.0"
  300. opass >= "2.15"
  301. operf-macro
  302. opine
  303. opium >= "0.12.0"
  304. orb
  305. ordma >= "0.0.5"
  306. ortac-core
  307. ortac-dune
  308. ortac-qcheck-stm
  309. orun
  310. osbx
  311. osx-fsevents
  312. owi >= "0.2"
  313. owork
  314. passage
  315. passmakercmd
  316. pds >= "4.13"
  317. pg_query >= "0.9.6"
  318. pkcs11-cli
  319. plotkicadsch >= "0.2.0"
  320. polly
  321. ppx_deriving_cmdliner
  322. ppx_deriving_rpc = "8.1.0"
  323. ppx_subliner
  324. prelude
  325. prof_spacetime
  326. prometheus-app >= "0.4"
  327. protocol-9p < "0.12.1"
  328. protocol-9p-tool
  329. protocol-9p-unix < "0.12.1"
  330. publish < "0.3.4+transition"
  331. pyast
  332. pyml_bindgen >= "0.4.1"
  333. pyre-ast
  334. qcow < "0.10.2" | >= "0.11.0"
  335. qcow-format
  336. qcow-tool
  337. qmp
  338. queenshead
  339. randii
  340. regenerate
  341. rosetta < "0.2.0"
  342. rotor
  343. rpc >= "1.9.51" & < "5.9.0"
  344. rpclib
  345. runtime_events_tools >= "0.3"
  346. rust-staticlib-gen
  347. satyrographos < "0.0.1.7"
  348. shared-block-ring
  349. sherlodoc
  350. sibylfs
  351. sid
  352. slack
  353. slack-backup
  354. slacko
  355. slipshow
  356. smtml
  357. snabela
  358. solo5-elftool
  359. spin
  360. spotify-cli
  361. sslconf
  362. starred_ml >= "0.0.4"
  363. sun
  364. tallgeese
  365. tar-format >= "0.2.0" & < "0.7.1"
  366. tcpip >= "8.0.0"
  367. telltime
  368. tensorflow >= "0.0.4"
  369. tezos-context-hash-irmin
  370. tezos-node >= "8.0"
  371. tezos-proxy-server
  372. tidy_email_mailgun
  373. tidy_email_sendgrid
  374. tidy_email_smtp
  375. timmy
  376. tldr >= "0.3.0"
  377. tls >= "0.15.3" & < "0.16.0" | >= "1.0.0"
  378. tls-lwt
  379. tlstunnel
  380. toc
  381. topkg-care >= "1.0.5"
  382. torch < "v0.16.0"
  383. touist >= "3.5.0"
  384. travis-senv
  385. tuntap >= "1.0.0" & != "1.4.1"
  386. u2f
  387. uring
  388. uring-trace
  389. usbmux
  390. user-setup >= "0.4"
  391. valentine
  392. vchan < "6.0.2"
  393. vchan-unix
  394. vchan-xen < "6.0.2"
  395. vecosek
  396. vendredi
  397. vhd-tool
  398. vimebac
  399. vpnkit
  400. wayland
  401. webauthn
  402. weevil
  403. xapi-idl
  404. xapi-inventory
  405. xapi-rrd-transport
  406. xe-unikernel-upload
  407. xen-block-driver
  408. xen-disk
  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.