package cmdliner

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

Conflicts

None

Build status

Results of building cmdliner with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

This version is not in the latest run; the versions below are.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
2.1.1 good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure