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

Conflicts

None

OCaml

Innovation. Community. Security.