package cmdliner

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

Install

dune-project
 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.1.0"
  3. albatross >= "1.4.3"
  4. alcotest != "1.5.0"
  5. alcotest-async
  6. alcotest-js
  7. alcotest-lwt
  8. alcotest-mirage
  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
  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. bibfmt
  56. bisect_ppx >= "2.0.0"
  57. boltzgen
  58. boulangerie
  59. brozip
  60. builder
  61. builder-web >= "0.2.0"
  62. bytepdf
  63. ca-certs-nss
  64. caisar
  65. camels
  66. camyll
  67. capnp-rpc-unix
  68. caqti >= "1.8.0"
  69. caqti-async >= "1.8.0"
  70. caqti-driver-mariadb >= "1.8.0"
  71. caqti-driver-postgresql >= "1.8.0"
  72. caqti-driver-sqlite3 >= "1.8.0"
  73. caqti-dynload >= "2.0.1"
  74. caqti-eio
  75. caqti-lwt >= "1.8.0"
  76. caqti-miou
  77. carton >= "0.4.3" & < "1.0.0"
  78. carton-miou-unix
  79. catala >= "0.7.0"
  80. catala-format >= "0.2.0"
  81. certify >= "0.3.0"
  82. chamelon-unix
  83. charrua-unix
  84. checkseum >= "0.0.2" & < "0.2.0"
  85. clim-ppx
  86. cmdlang-to-cmdliner
  87. cmdliner-stdlib
  88. cmdtui-lambda-term
  89. cohttp-lwt-unix != "2.5.8"
  90. colibri2
  91. colibrics
  92. commons >= "1.8.0"
  93. compsort
  94. conex
  95. conex-mirage-crypto
  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
  108. current_github
  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. docfd
  126. dockerfile-cmd
  127. dockerfile-opam < "8.2.7"
  128. docteur >= "0.0.4"
  129. doi2bib
  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. dune_deps_extra
  138. earlybird
  139. eio-trace
  140. eio_linux >= "0.3"
  141. elasticsearch-cli >= "1.0"
  142. electrod
  143. electrumAnalyzer
  144. elpi
  145. erlang
  146. extism
  147. facteur
  148. fat-filesystem
  149. fit
  150. forester >= "2.3"
  151. fsevents-lwt
  152. functoria-runtime
  153. git >= "3.2.0"
  154. git-unix >= "3.15.0"
  155. github-unix
  156. gitlab-unix >= "0.1.3"
  157. gobba
  158. gospel
  159. happy-eyeballs-lwt
  160. happy-eyeballs-miou-unix
  161. hlarp
  162. hll
  163. http-lwt-client
  164. hurl
  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
  171. irmin-cli
  172. irmin-pack != "2.10.2"
  173. irmin-pack-tools
  174. irmin-server
  175. irmin-test
  176. irmin-tezos
  177. irmin-unix
  178. jasmin >= "2023.06.0"
  179. js_of_ocaml-compiler
  180. jsonschema2atd
  181. jsonxt
  182. kafka < "0.5"
  183. kafka_lwt
  184. ke >= "0.5"
  185. kinetic-client >= "0.0.9"
  186. kmt
  187. lab
  188. labrys
  189. lambdapi != "2.1.0"
  190. learn-ocaml
  191. learn-ocaml-client
  192. ledes
  193. letsencrypt-app
  194. lilac
  195. llopt
  196. MlFront_Cli < "2.3.1"
  197. MlFront_Logs
  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.7.0"
  206. mirage-block-ccm
  207. mirage-logs
  208. mirage-runtime >= "4.7.0"
  209. mirage-seal
  210. mkaudio
  211. mlgpx
  212. monorobot
  213. mrmime >= "0.5.0"
  214. mustache-cli
  215. named-pipe
  216. nbd < "4.0.3"
  217. nbd-tool
  218. niru
  219. nocoiner
  220. nuscr >= "2.0.0"
  221. obandit >= "0.3.4"
  222. obuilder
  223. ocal
  224. ocamlcodoc
  225. ocamlformat >= "0.21.0"
  226. ocamlformat-lib >= "0.27.0"
  227. ocamlformat-mlx
  228. ocamlformat-mlx-lib >= "0.27.0"
  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. odoc-md >= "3.1.0"
  247. ometrics
  248. omigrate
  249. omod
  250. opam-0install >= "0.4.1"
  251. opam-0install-cudf < "0.4.1"
  252. opam-build
  253. opam-bundle
  254. opam-ci
  255. opam-client
  256. opam-compiler >= "0.2.0"
  257. opam-depext >= "1.2.1"
  258. opam-devel
  259. opam-dune-lint
  260. opam-ed
  261. opam-graph
  262. opam-grep >= "0.2.0"
  263. opam-installer
  264. opam-lib
  265. opam-lock
  266. opam-package-upgrade
  267. opam-publish >= "0.3.5"
  268. opam-test
  269. opine
  270. opium
  271. orb
  272. ordma >= "0.0.5"
  273. ortac-core
  274. ortac-dune
  275. ortac-qcheck-stm
  276. ortac-wrapper
  277. orun
  278. osbx
  279. osx-fsevents
  280. owee >= "0.8"
  281. owi >= "0.2"
  282. owork
  283. passage
  284. passmakercmd
  285. pds >= "4.13"
  286. pg_query >= "0.9.6"
  287. pkcs11-cli
  288. plotkicadsch
  289. polly
  290. pplumbing
  291. ppx_deriving_cmdliner
  292. ppx_subliner
  293. ppxlib-tools
  294. prelude < "0.5"
  295. prof_spacetime
  296. prometheus-app
  297. protocol-9p < "0.12.1"
  298. protocol-9p-tool
  299. protocol-9p-unix < "0.12.1"
  300. pyast
  301. pyml_bindgen >= "0.4.1"
  302. pyre-ast
  303. qcow < "0.10.2" | = "0.11.0"
  304. qcow-tool
  305. qmp
  306. queenshead
  307. quill
  308. randii
  309. reason >= "3.17.0"
  310. regenerate
  311. rosetta < "0.2.0"
  312. rotor
  313. rpclib
  314. runtime_events_tools >= "0.3"
  315. runtime_events_tools_bare
  316. rust-staticlib-gen
  317. salto-analyzer
  318. scfg >= "0.4"
  319. shared-block-ring
  320. sherlodoc
  321. sid
  322. slack
  323. slacko
  324. slipshow
  325. smtml
  326. solo5-elftool
  327. spin
  328. sslconf
  329. starred_ml >= "0.0.4"
  330. sun
  331. tallgeese
  332. tcpip >= "8.0.0"
  333. telltime
  334. tensorflow
  335. testo
  336. testo-lwt
  337. tezos-context-hash-irmin
  338. tidy_email_mailgun
  339. tidy_email_sendgrid
  340. tidy_email_smtp
  341. timmy
  342. tldr >= "0.3.0"
  343. tls = "0.15.4" | >= "1.0.4"
  344. tls-lwt
  345. toc
  346. topkg-care
  347. torch < "v0.16.0"
  348. touist >= "3.5.0"
  349. tuntap
  350. uring
  351. uring-trace
  352. user-setup
  353. valentine
  354. vchan < "6.0.2"
  355. vchan-unix
  356. vecosek
  357. vendredi
  358. vif
  359. vpnkit
  360. wasm_of_ocaml-compiler
  361. wayland
  362. webauthn
  363. webbrowser >= "0.6.2"
  364. xapi-inventory
  365. xen-evtchn
  366. xen-evtchn-unix
  367. xen-gnt
  368. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.