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. ocamlcodoc
  222. ocamlformat >= "0.22.4"
  223. ocamlformat-lib
  224. ocamlformat-mlx
  225. ocamlformat-mlx-lib
  226. ocamlgrep
  227. ocamlmig
  228. ocgtk < "0.1~preview2"
  229. ochre-cli
  230. ocluster >= "0.2"
  231. ocp-browser >= "1.2.1"
  232. ocp-indent
  233. ocp-indent-nlfork
  234. ocp-index
  235. ocp-reloc
  236. ocsigen-toolkit >= "4.3.0"
  237. odds
  238. odep
  239. odig < "0.1.0"
  240. odoc
  241. odoc-driver
  242. odoc-md >= "3.1.0"
  243. olint
  244. ometrics
  245. omigrate
  246. omod
  247. opam-0install >= "0.4.1" & < "0.6.0"
  248. opam-0install-cudf < "0.4.1"
  249. opam-build
  250. opam-bundle
  251. opam-ci
  252. opam-client < "2.5.0~beta1"
  253. opam-compiler >= "0.2.0"
  254. opam-depext >= "1.2.1"
  255. opam-devel < "2.5.0~beta1"
  256. opam-dune-lint
  257. opam-ed
  258. opam-graph
  259. opam-grep >= "0.2.0"
  260. opam-installer < "2.5.0~beta1"
  261. opam-lib
  262. opam-lock
  263. opam-minver
  264. opam-package-upgrade
  265. opam-publish >= "0.3.5" & < "3.0.0"
  266. opam-repomin
  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. ortac-wrapper
  276. orun
  277. osbx
  278. osx-fsevents
  279. oui
  280. owee >= "0.8"
  281. owi >= "0.2"
  282. owork
  283. passage < "0.3.2"
  284. passmakercmd
  285. pds >= "4.13"
  286. pg_query >= "0.9.6"
  287. pkcs11-cli
  288. plotkicadsch
  289. polly
  290. pplumbing < "0.0.16"
  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.12.1"
  304. qcow-tool
  305. qmp
  306. queenshead
  307. query-json >= "0.6.1"
  308. quill
  309. randii
  310. reason >= "3.17.0"
  311. rosetta < "0.2.0"
  312. rpclib
  313. runtime_events_tools < "0.5.4"
  314. runtime_events_tools_bare < "0.5.4"
  315. rust-staticlib-gen
  316. salto-analyzer
  317. scfg >= "0.4"
  318. shakuhachi
  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. tidy_email_mailgun
  338. tidy_email_sendgrid
  339. tidy_email_smtp
  340. timmy
  341. tldr
  342. tls = "0.15.4" | >= "1.0.4"
  343. tls-lwt
  344. toc
  345. topkg-care
  346. torch < "v0.16.0"
  347. touist
  348. transom
  349. tuntap
  350. tw
  351. uring
  352. uring-trace
  353. user-setup
  354. utcp
  355. valentine
  356. vchan < "6.0.2"
  357. vchan-unix
  358. vecosek
  359. vendredi
  360. vif
  361. wasm_of_ocaml-compiler < "6.3.0"
  362. wayland
  363. webauthn
  364. webbrowser >= "0.6.2"
  365. wol-eio
  366. xapi-inventory
  367. xdge
  368. xen-evtchn
  369. xen-evtchn-unix
  370. xen-gnt
  371. yuscii = "0.2.0"
  372. zeit

Conflicts

None