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

Conflicts

None