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

Conflicts

None

OCaml

Innovation. Community. Security.