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 < "0.6"
  83. colibrics < "0.6"
  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 < "3.7.3"
  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. locswijch
  190. lwt_ppx_to_let_syntax
  191. MlFront_Cli < "2.3.1"
  192. MlFront_Logs
  193. MlFront_Tools
  194. mastodon-archive-viewer
  195. mcrunch
  196. mdx >= "2.2.0"
  197. mel
  198. melange
  199. meldep
  200. merge-fmt
  201. mfetch
  202. minicaml >= "0.2.2" & < "0.3.3"
  203. mirage >= "4.7.0" & < "4.10.2"
  204. mirage-block-ccm
  205. mirage-logs
  206. mirage-monitoring < "0.0.8"
  207. mirage-runtime >= "4.0.0"
  208. mirage-seal
  209. mkaudio
  210. mlgpx
  211. mnet-cli < "0.0.2"
  212. mnet-dns >= "0.0.5"
  213. mnet-happy-eyeballs >= "0.0.5"
  214. monorobot
  215. mrmime >= "0.5.0"
  216. mustache-cli
  217. named-pipe
  218. nbd < "4.0.3"
  219. nbd-tool
  220. niru
  221. nocoiner
  222. nuscr >= "2.0.0"
  223. obandit >= "0.3.4"
  224. obuilder
  225. ocal
  226. ocaml-sbom
  227. ocamlcodoc
  228. ocamlformat >= "0.22.4"
  229. ocamlformat-lib
  230. ocamlformat-mlx
  231. ocamlformat-mlx-lib
  232. ocamlgrep
  233. ocamlmig
  234. ocgtk < "0.1~preview2"
  235. ochre-cli
  236. ocluster >= "0.2"
  237. ocp-browser >= "1.2.1"
  238. ocp-indent < "1.10.0"
  239. ocp-indent-nlfork
  240. ocp-index
  241. ocp-reloc
  242. ocsigen-toolkit >= "4.3.0"
  243. odds
  244. odep
  245. odig < "0.1.0"
  246. odoc
  247. odoc-driver
  248. odoc-md >= "3.1.0"
  249. olint
  250. ometrics
  251. omigrate
  252. omod
  253. opam-0install >= "0.4.1" & < "0.6.0"
  254. opam-0install-cudf < "0.4.1"
  255. opam-build
  256. opam-bundle
  257. opam-ci
  258. opam-client < "2.5.0~beta1"
  259. opam-compiler >= "0.2.0"
  260. opam-depext >= "1.2.1"
  261. opam-devel < "2.5.0~beta1"
  262. opam-dune-lint
  263. opam-ed
  264. opam-graph
  265. opam-grep >= "0.2.0"
  266. opam-installer < "2.5.0~beta1"
  267. opam-lib
  268. opam-lock
  269. opam-minver
  270. opam-package-upgrade
  271. opam-publish >= "0.3.5" & < "3.0.0"
  272. opam-repomin
  273. opam-test
  274. opine
  275. opium
  276. orb
  277. ordma >= "0.0.5"
  278. ortac-core
  279. ortac-dune
  280. ortac-qcheck-stm
  281. ortac-wrapper
  282. orun
  283. osbx
  284. osx-fsevents
  285. oui
  286. owee >= "0.8"
  287. owi >= "0.2"
  288. owork
  289. passage < "0.3.2"
  290. passmakercmd
  291. pds >= "4.13"
  292. pg_query >= "0.9.6"
  293. pkcs11-cli
  294. plotkicadsch
  295. polly
  296. pplumbing < "0.0.16"
  297. ppx_deriving_cmdliner
  298. ppx_subliner
  299. ppxlib-tools
  300. prelude < "0.5"
  301. prof_spacetime
  302. prometheus-app
  303. protocol-9p < "0.12.1"
  304. protocol-9p-tool
  305. protocol-9p-unix < "0.12.1"
  306. pyast
  307. pyml_bindgen >= "0.4.1"
  308. pyre-ast
  309. qcow < "0.12.1"
  310. qcow-tool
  311. qmp
  312. queenshead
  313. query-json >= "0.6.1"
  314. quill
  315. randii
  316. reason >= "3.17.0"
  317. rosetta < "0.2.0"
  318. rpclib
  319. runtime_events_tools < "0.5.4"
  320. runtime_events_tools_bare < "0.5.4"
  321. rust-staticlib-gen
  322. salto-analyzer
  323. scfg >= "0.4"
  324. shakuhachi
  325. shared-block-ring
  326. sherlodoc
  327. sid
  328. slack
  329. slacko
  330. slipshow
  331. smtml
  332. solo5-elftool
  333. sosie
  334. spin
  335. sslconf
  336. starred_ml >= "0.0.4"
  337. sun
  338. tallgeese
  339. tcpip >= "8.0.0"
  340. telltime
  341. tensorflow
  342. testo
  343. testo-lwt
  344. tidy_email_mailgun
  345. tidy_email_sendgrid
  346. tidy_email_smtp
  347. timmy
  348. tldr
  349. tls = "0.15.4" | >= "1.0.4"
  350. tls-lwt
  351. toc
  352. topkg-care
  353. torch < "v0.16.0"
  354. touist
  355. transom
  356. tuntap
  357. tw
  358. unic
  359. uring
  360. uring-trace
  361. user-setup
  362. utcp
  363. valentine
  364. vchan < "6.0.2"
  365. vchan-unix
  366. vecosek
  367. vendredi
  368. vif
  369. wasm_of_ocaml-compiler < "6.3.0"
  370. wayland
  371. webauthn
  372. webbrowser >= "0.6.2"
  373. wol-eio
  374. xapi-inventory
  375. xdge
  376. xen-evtchn
  377. xen-evtchn-unix
  378. xen-gnt
  379. yuscii = "0.2.0"
  380. zeit

Conflicts

None