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. hvsock < "2.0.0" | >= "3.0.1"
  165. hxd >= "0.3.2"
  166. igvxml
  167. index >= "1.6.1"
  168. index-bench >= "1.6.1"
  169. irmin-bench
  170. irmin-cli
  171. irmin-pack != "2.10.2"
  172. irmin-pack-tools
  173. irmin-server
  174. irmin-test
  175. irmin-tezos
  176. irmin-unix
  177. jasmin >= "2023.06.0"
  178. js_of_ocaml-compiler
  179. jsonschema2atd
  180. jsonxt
  181. kafka < "0.5"
  182. kafka_lwt
  183. ke >= "0.5"
  184. kinetic-client >= "0.0.9"
  185. kmt
  186. lab
  187. labrys
  188. lambdapi != "2.1.0"
  189. learn-ocaml
  190. learn-ocaml-client
  191. ledes
  192. letsencrypt-app
  193. lilac
  194. llopt
  195. MlFront_Cli < "2.3.1"
  196. MlFront_Logs
  197. mastodon-archive-viewer
  198. mdx >= "2.2.0"
  199. mel
  200. melange
  201. meldep
  202. merge-fmt
  203. minicaml >= "0.2.2" & < "0.3.3"
  204. mirage >= "4.7.0"
  205. mirage-block-ccm
  206. mirage-logs
  207. mirage-runtime >= "4.7.0"
  208. mirage-seal
  209. mkaudio
  210. monorobot
  211. mrmime >= "0.5.0"
  212. mustache-cli
  213. named-pipe
  214. nbd < "4.0.3"
  215. nbd-tool
  216. niru
  217. nocoiner
  218. nuscr >= "2.0.0"
  219. obandit >= "0.3.4"
  220. obuilder
  221. ocal
  222. ocamlcodoc
  223. ocamlformat >= "0.21.0"
  224. ocamlformat-lib >= "0.27.0"
  225. ocamlformat-mlx
  226. ocamlformat-mlx-lib >= "0.27.0"
  227. ocamlmig
  228. ocluster >= "0.2"
  229. ocp-browser >= "1.1.7"
  230. ocp-indent
  231. ocp-indent-nlfork
  232. ocp-index
  233. ocp-reloc
  234. octez-dal-node
  235. octez-internal-libs
  236. octez-libs
  237. octez-node
  238. octez-proxy-server
  239. odds
  240. odep
  241. odig
  242. odoc
  243. odoc-driver
  244. odoc-md >= "3.1.0"
  245. ometrics
  246. omigrate
  247. omod
  248. opam-0install >= "0.4.1"
  249. opam-0install-cudf < "0.4.1"
  250. opam-build
  251. opam-bundle
  252. opam-ci
  253. opam-client
  254. opam-compiler >= "0.2.0"
  255. opam-depext >= "1.2.1"
  256. opam-devel
  257. opam-dune-lint
  258. opam-ed
  259. opam-graph
  260. opam-grep >= "0.2.0"
  261. opam-installer
  262. opam-lib
  263. opam-lock
  264. opam-package-upgrade
  265. opam-publish >= "0.3.5"
  266. opam-test
  267. opine
  268. opium
  269. orb
  270. ordma >= "0.0.5"
  271. ortac-core
  272. ortac-dune
  273. ortac-qcheck-stm
  274. ortac-wrapper
  275. orun
  276. osbx
  277. osx-fsevents
  278. owee >= "0.8"
  279. owi >= "0.2"
  280. owork
  281. passage
  282. passmakercmd
  283. pds >= "4.13"
  284. pg_query >= "0.9.6"
  285. pkcs11-cli
  286. plotkicadsch
  287. polly
  288. pplumbing
  289. ppx_deriving_cmdliner
  290. ppx_subliner
  291. ppxlib-tools
  292. prelude < "0.5"
  293. prof_spacetime
  294. prometheus-app
  295. protocol-9p < "0.12.1"
  296. protocol-9p-tool
  297. protocol-9p-unix < "0.12.1"
  298. pyast
  299. pyml_bindgen >= "0.4.1"
  300. pyre-ast
  301. qcow < "0.10.2" | = "0.11.0"
  302. qcow-tool
  303. qmp
  304. queenshead
  305. quill
  306. randii
  307. regenerate
  308. rosetta < "0.2.0"
  309. rotor
  310. rpclib
  311. runtime_events_tools >= "0.3"
  312. runtime_events_tools_bare
  313. rust-staticlib-gen
  314. salto-analyzer
  315. scfg >= "0.4"
  316. shared-block-ring
  317. sherlodoc
  318. sid
  319. slack
  320. slacko
  321. slipshow
  322. smtml
  323. solo5-elftool
  324. spin
  325. sslconf
  326. starred_ml >= "0.0.4"
  327. sun
  328. tallgeese
  329. tcpip >= "8.0.0"
  330. telltime
  331. tensorflow
  332. testo
  333. testo-lwt
  334. tezos-context-hash-irmin
  335. tidy_email_mailgun
  336. tidy_email_sendgrid
  337. tidy_email_smtp
  338. timmy
  339. tldr >= "0.3.0"
  340. tls = "0.15.4" | >= "1.0.4"
  341. tls-lwt
  342. toc
  343. topkg-care
  344. torch < "v0.16.0"
  345. touist >= "3.5.0"
  346. tuntap
  347. uring
  348. uring-trace
  349. user-setup
  350. valentine
  351. vchan < "6.0.2"
  352. vchan-unix
  353. vecosek
  354. vendredi
  355. vpnkit
  356. wasm_of_ocaml-compiler
  357. wayland
  358. webauthn
  359. webbrowser >= "0.6.2"
  360. xapi-inventory
  361. xen-evtchn
  362. xen-evtchn-unix
  363. xen-gnt
  364. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.