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

Conflicts

None