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

Tags

cli system declarative org:erratique

Added to opam-repository:

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

Conflicts

None