package cmdliner

  1. Overview
  2. Docs
Declarative definition of command line interfaces for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

cmdliner-1.2.0.tbz
sha512=6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b

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

Conflicts

None

OCaml

Innovation. Community. Security.