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. alcobar
  5. alcotest != "1.5.0"
  6. alcotest-async
  7. alcotest-js
  8. alcotest-lwt
  9. alcotest-mirage
  10. alt-ergo >= "2.4.2" & < "2.6.3"
  11. alt-ergo-free >= "2.4.3"
  12. altgr-ergo >= "2.4.2"
  13. api-watch
  14. arc >= "0.0.2"
  15. areas-and-adversaries
  16. asak
  17. atd >= "2.13.0"
  18. atdcpp
  19. atdd
  20. atdml
  21. atdpy
  22. atdts
  23. awa
  24. aws-s3
  25. b0 < "0.0.6"
  26. bancos
  27. bap-beagle < "2.3.0"
  28. bap-byteweight-frontend
  29. bap-callsites
  30. bap-demangle < "2.5.0"
  31. bap-fsi-benchmark
  32. bap-main
  33. bap-phoenix
  34. bap-piqi
  35. bap-powerpc
  36. bap-std
  37. bap-taint-propagator
  38. bap-trace
  39. bap-warn-unused
  40. bap-x86
  41. bentov
  42. bibfmt
  43. bisect_ppx >= "2.0.0"
  44. boltzgen
  45. boulangerie
  46. builder
  47. builder-web >= "0.2.0"
  48. bytepdf
  49. ca-certs-nss
  50. caisar
  51. camels < "1.0.0"
  52. camyll
  53. capnp-rpc-unix
  54. caqti >= "1.8.0"
  55. caqti-async >= "1.8.0"
  56. caqti-driver-mariadb >= "1.8.0"
  57. caqti-driver-postgresql >= "1.8.0"
  58. caqti-driver-sqlite3 >= "1.8.0"
  59. caqti-dynload = "2.0.1"
  60. caqti-eio
  61. caqti-lwt >= "1.8.0"
  62. caqti-miou
  63. carton >= "0.4.3" & < "1.0.0"
  64. carton-miou
  65. carton-miou-unix
  66. cascade
  67. catala >= "0.7.0" & < "1.2.0"
  68. catala-format >= "0.2.0" & < "1.2.0"
  69. cca >= "0.6.2"
  70. certify >= "0.3.0"
  71. chamelon-unix
  72. charrua-unix
  73. checkseum >= "0.0.2" & < "0.2.0"
  74. ciao_lwt
  75. clim-ppx
  76. cmdlang-cmdliner-err-runner
  77. cmdlang-to-cmdliner
  78. cmdliner-stdlib
  79. cmdtui-lambda-term
  80. cohttp-lwt-unix != "2.5.8" & < "6.2.1"
  81. colibri2
  82. colibrics
  83. commons >= "1.8.0"
  84. compsort
  85. conex
  86. conex-mirage-crypto
  87. confero
  88. coq-lsp
  89. coq-serapi
  90. cosovo
  91. cppffigen
  92. craml
  93. crockford
  94. crowbar >= "0.2.1"
  95. crunch
  96. cucumber
  97. current
  98. current-albatross-deployer
  99. current_examples
  100. current_github
  101. current_gitlab
  102. current_web
  103. decompress < "1.0.0" | >= "1.3.0"
  104. dedukti >= "2.7"
  105. deepseek
  106. depgraph
  107. diffast-git-cli < "0.3.5.1"
  108. dirsift
  109. diskuvbox
  110. dkim
  111. dkim-bin
  112. dkml-install
  113. dkml-install-installer
  114. dkml-install-runner
  115. dns-cli
  116. docfd < "13.0.0"
  117. dockerfile-cmd
  118. dockerfile-opam < "8.2.7"
  119. docteur >= "0.0.4"
  120. doctor
  121. doi2bib
  122. dolmen_bin
  123. dream-cli
  124. dryunit
  125. dscheck >= "0.2.0"
  126. dune-deps >= "1.1.0"
  127. dune-expand
  128. dune-release >= "1.6.1" & < "2.2.0"
  129. dune_deps_extra
  130. earlybird
  131. eio-trace
  132. eio_linux >= "0.3"
  133. elasticsearch-cli
  134. electrod
  135. elpi
  136. erlang
  137. expr
  138. extism
  139. facteur
  140. fat-filesystem
  141. fit
  142. forester >= "2.3"
  143. fsevents-lwt
  144. functoria-runtime
  145. git >= "3.2.0"
  146. git-unix >= "3.15.0"
  147. github-unix
  148. gitlab-unix >= "0.1.3"
  149. gobba
  150. gospel < "0.3.1"
  151. happy-eyeballs-lwt
  152. happy-eyeballs-miou-unix
  153. hlarp
  154. hll
  155. http-lwt-client
  156. hurl
  157. hvsock < "2.0.0" | >= "3.0.1"
  158. hxd >= "0.3.2"
  159. igvxml
  160. index >= "1.6.1"
  161. index-bench >= "1.6.1"
  162. irmin-bench
  163. irmin-cli
  164. irmin-pack != "2.10.2"
  165. irmin-pack-tools
  166. irmin-server
  167. irmin-test
  168. irmin-tezos
  169. irmin-unix
  170. jasmin >= "2023.06.0"
  171. js_of_ocaml-compiler < "6.3.0"
  172. jsonschema2atd
  173. jsonxt
  174. kafka < "0.5"
  175. kafka_lwt
  176. kaun-board
  177. ke >= "0.5"
  178. kinetic-client
  179. kmt
  180. lab
  181. lambdapi != "2.1.0"
  182. learn-ocaml
  183. learn-ocaml-client
  184. ledes
  185. letsencrypt-app
  186. lilac
  187. llopt
  188. lwt_ppx_to_let_syntax
  189. MlFront_Cli < "2.3.1"
  190. MlFront_Logs
  191. MlFront_Tools
  192. mastodon-archive-viewer
  193. mcrunch
  194. mdx >= "2.2.0"
  195. mel
  196. melange
  197. meldep
  198. merge-fmt
  199. minicaml >= "0.2.2" & < "0.3.3"
  200. mirage >= "4.7.0" & < "4.10.2"
  201. mirage-block-ccm
  202. mirage-logs
  203. mirage-monitoring < "0.0.8"
  204. mirage-runtime >= "4.0.0"
  205. mirage-seal
  206. mkaudio
  207. mlgpx
  208. mnet-cli < "0.0.2"
  209. monorobot
  210. mrmime >= "0.5.0"
  211. mustache-cli
  212. named-pipe
  213. nbd < "4.0.3"
  214. nbd-tool
  215. niru
  216. nocoiner
  217. nuscr >= "2.0.0"
  218. obandit >= "0.3.4"
  219. obuilder
  220. ocal
  221. ocaml-sbom
  222. ocamlcodoc
  223. ocamlformat >= "0.22.4"
  224. ocamlformat-lib
  225. ocamlformat-mlx
  226. ocamlformat-mlx-lib
  227. ocamlgrep
  228. ocamlmig
  229. ocgtk < "0.1~preview2"
  230. ochre-cli
  231. ocluster >= "0.2"
  232. ocp-browser >= "1.2.1"
  233. ocp-indent
  234. ocp-indent-nlfork
  235. ocp-index
  236. ocp-reloc
  237. ocsigen-toolkit >= "4.3.0"
  238. odds
  239. odep
  240. odig < "0.1.0"
  241. odoc
  242. odoc-driver
  243. odoc-md >= "3.1.0"
  244. olint
  245. ometrics
  246. omigrate
  247. omod
  248. opam-0install >= "0.4.1" & < "0.6.0"
  249. opam-0install-cudf < "0.4.1"
  250. opam-build
  251. opam-bundle
  252. opam-ci
  253. opam-client < "2.5.0~beta1"
  254. opam-compiler >= "0.2.0"
  255. opam-depext >= "1.2.1"
  256. opam-devel < "2.5.0~beta1"
  257. opam-dune-lint
  258. opam-ed
  259. opam-graph
  260. opam-grep >= "0.2.0"
  261. opam-installer < "2.5.0~beta1"
  262. opam-lib
  263. opam-lock
  264. opam-minver
  265. opam-package-upgrade
  266. opam-publish >= "0.3.5" & < "3.0.0"
  267. opam-repomin
  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. oui
  281. owee >= "0.8"
  282. owi >= "0.2"
  283. owork
  284. passage < "0.3.2"
  285. passmakercmd
  286. pds >= "4.13"
  287. pg_query >= "0.9.6"
  288. pkcs11-cli
  289. plotkicadsch
  290. polly
  291. pplumbing < "0.0.16"
  292. ppx_deriving_cmdliner
  293. ppx_subliner
  294. ppxlib-tools
  295. prelude < "0.5"
  296. prof_spacetime
  297. prometheus-app
  298. protocol-9p < "0.12.1"
  299. protocol-9p-tool
  300. protocol-9p-unix < "0.12.1"
  301. pyast
  302. pyml_bindgen >= "0.4.1"
  303. pyre-ast
  304. qcow < "0.12.1"
  305. qcow-tool
  306. qmp
  307. queenshead
  308. query-json >= "0.6.1"
  309. quill
  310. randii
  311. reason >= "3.17.0"
  312. rosetta < "0.2.0"
  313. rpclib
  314. runtime_events_tools < "0.5.4"
  315. runtime_events_tools_bare < "0.5.4"
  316. rust-staticlib-gen
  317. salto-analyzer
  318. scfg >= "0.4"
  319. shakuhachi
  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. tidy_email_mailgun
  339. tidy_email_sendgrid
  340. tidy_email_smtp
  341. timmy
  342. tldr
  343. tls = "0.15.4" | >= "1.0.4"
  344. tls-lwt
  345. toc
  346. topkg-care
  347. torch < "v0.16.0"
  348. touist
  349. transom
  350. tuntap
  351. tw
  352. uring
  353. uring-trace
  354. user-setup
  355. utcp
  356. valentine
  357. vchan < "6.0.2"
  358. vchan-unix
  359. vecosek
  360. vendredi
  361. vif
  362. wasm_of_ocaml-compiler < "6.3.0"
  363. wayland
  364. webauthn
  365. webbrowser >= "0.6.2"
  366. wol-eio
  367. xapi-inventory
  368. xdge
  369. xen-evtchn
  370. xen-evtchn-unix
  371. xen-gnt
  372. yuscii = "0.2.0"
  373. zeit

Conflicts

None