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

Conflicts

None