package cmdliner

  1. Overview
  2. Docs
Declarative definition of command line interfaces for OCaml

Install

Dune 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.0.0"
  3. albatross >= "1.4.3"
  4. alcotest < "1.1.0" | >= "1.6.0"
  5. alcotest-async >= "1.3.0"
  6. alcotest-js
  7. alcotest-lwt >= "1.3.0"
  8. alcotest-mirage >= "1.3.0"
  9. alt-ergo >= "2.4.2"
  10. altgr-ergo >= "2.4.2"
  11. aperf
  12. api-watch
  13. archsat
  14. asak >= "0.2"
  15. atd >= "2.13.0"
  16. atdd
  17. atdpy
  18. atdts
  19. awa
  20. aws-s3 >= "3.0.0"
  21. aws-s3-async < "3.0.0"
  22. b0 >= "0.0.4"
  23. bap < "0.9.5" | = "0.9.9"
  24. bap-abi < "2.2.0"
  25. bap-api < "2.2.0"
  26. bap-beagle < "2.3.0"
  27. bap-bil < "2.2.0"
  28. bap-byteweight-frontend
  29. bap-cache < "2.2.0"
  30. bap-callsites
  31. bap-demangle < "2.5.0"
  32. bap-dump-symbols < "2.2.0"
  33. bap-frames < "2.1.1"
  34. bap-frontend < "2.2.0"
  35. bap-fsi-benchmark
  36. bap-ida-plugin < "2.2.0"
  37. bap-llvm < "2.2.0"
  38. bap-main
  39. bap-mc < "2.0.0"
  40. bap-objdump < "2.2.0"
  41. bap-optimization < "2.2.0"
  42. bap-phoenix
  43. bap-piqi
  44. bap-plugins < "2.2.0"
  45. bap-powerpc >= "2.2.0"
  46. bap-std >= "1.4.0"
  47. bap-symbol-reader < "2.2.0"
  48. bap-taint < "1.4.0"
  49. bap-taint-propagator
  50. bap-term-mapper < "2.2.0"
  51. bap-trace
  52. bap-veri
  53. bap-warn-unused
  54. bap-x86
  55. batsh >= "0.0.4"
  56. benchpress
  57. benchpress-server
  58. bentov
  59. bisect_ppx >= "2.0.0"
  60. boltzgen
  61. boulangerie
  62. brozip
  63. bt
  64. builder
  65. builder-web >= "0.2.0"
  66. bytepdf
  67. ca-certs-nss
  68. caisar
  69. camels
  70. camyll
  71. capnp-rpc-unix
  72. caqti >= "1.8.0"
  73. caqti-async >= "1.8.0"
  74. caqti-driver-mariadb >= "1.8.0"
  75. caqti-driver-postgresql >= "1.8.0"
  76. caqti-driver-sqlite3 >= "1.8.0"
  77. caqti-dynload >= "2.0.1"
  78. caqti-eio
  79. caqti-lwt >= "1.8.0"
  80. carton >= "0.3.0"
  81. catala >= "0.7.0"
  82. certify >= "0.3.0"
  83. chamelon-unix
  84. charrua-unix
  85. checkseum >= "0.0.2" & < "0.2.0"
  86. clim-ppx
  87. cmdlang-to-cmdliner
  88. cmdliner-stdlib
  89. cmdtui-lambda-term
  90. coclobas
  91. cohttp >= "0.13.0" & < "0.99.0"
  92. cohttp-lwt-unix < "2.5.7" | >= "3.0.0" & != "4.1.1"
  93. cohttp-lwt-unix-nossl
  94. cohttp-lwt-unix-ssl
  95. colibri2
  96. colibrics
  97. commons >= "1.8.0"
  98. compsort
  99. conex
  100. conex-mirage-crypto
  101. conex-nocrypto
  102. confero
  103. coq-lsp
  104. coq-serapi >= "8.9.0+0.6.0"
  105. cosovo
  106. cppffigen
  107. craml
  108. crowbar >= "0.2.1"
  109. crunch
  110. cucumber
  111. current
  112. current-albatross-deployer
  113. current_examples >= "0.4"
  114. current_github >= "0.4"
  115. current_gitlab
  116. current_web
  117. datakit >= "0.10.0"
  118. datakit-bridge-github >= "0.10.0"
  119. datakit-bridge-local-git
  120. datakit-ci >= "0.10.0"
  121. datakit-client < "0.11.0"
  122. datakit-client-9p
  123. datakit-github >= "0.9.0"
  124. datakit-server >= "0.10.0" & < "0.11.0"
  125. decompress >= "0.8" & < "1.0.0" | >= "1.3.0"
  126. dedukti >= "2.7"
  127. depgraph
  128. dirsift
  129. diskuvbox
  130. dkim
  131. dkim-bin
  132. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  133. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  134. dkml-install
  135. dkml-install-installer < "0.5.1"
  136. dkml-install-runner
  137. dns >= "0.6.0" & < "0.19.1"
  138. dns-cli
  139. dns-forward < "0.9.0"
  140. dns-lwt-unix
  141. docfd
  142. dockerfile >= "1.1.0" & < "3.0.0"
  143. dockerfile-cmd
  144. dockerfile-opam < "8.1.0"
  145. docteur >= "0.0.4"
  146. dog
  147. doi2bib >= "0.3.0"
  148. dolmen_bin
  149. dream-cli
  150. dryunit
  151. dscheck >= "0.2.0"
  152. dune-deps >= "1.1.0"
  153. dune-expand
  154. dune-release >= "1.6.1"
  155. earlybird
  156. eio-trace
  157. eio_linux >= "0.3"
  158. elasticsearch-cli >= "1.0"
  159. electrod
  160. electrumAnalyzer >= "0.3.5-2"
  161. elpi >= "1.3.1"
  162. encoding >= "0.0.2"
  163. erlang
  164. extism
  165. ezxenstore
  166. facteur
  167. fat-filesystem
  168. fit
  169. forester >= "2.3"
  170. frenetic >= "3.2.0" & < "5.0.0"
  171. fsevents-lwt
  172. functoria = "3.1.2" | = "4.4.1"
  173. functoria-runtime
  174. git >= "1.4.4" & < "1.6.0" | >= "3.0.0"
  175. git-unix = "3.7.1" | >= "3.8.1"
  176. github >= "0.4.0" & < "3.0.0"
  177. github-unix
  178. gitlab-unix >= "0.1.3"
  179. gobba
  180. gospel
  181. happy-eyeballs-lwt
  182. happy-eyeballs-miou-unix
  183. hlarp
  184. hll >= "2.7"
  185. http-lwt-client
  186. hvsock < "2.0.0" | >= "3.0.1"
  187. hxd >= "0.3.2"
  188. igvxml
  189. index >= "1.6.1"
  190. index-bench >= "1.6.1"
  191. irmin < "1.0.0"
  192. irmin-bench < "3.0.0" | = "3.2.1" | >= "3.3.0"
  193. irmin-cli
  194. irmin-pack >= "2.3.0" & < "2.9.1" | >= "3.2.1"
  195. irmin-pack-tools
  196. irmin-server
  197. irmin-test >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  198. irmin-tezos < "3.0.0" | >= "3.2.1"
  199. irmin-tezos-utils
  200. irmin-unix >= "1.0.2" & < "1.2.0" | >= "2.3.0" & < "3.0.0" | >= "3.2.1"
  201. jasmin >= "2023.06.0"
  202. jitsu
  203. js_of_ocaml >= "2.5" & < "3.0"
  204. js_of_ocaml-compiler
  205. jsonschema2atd
  206. jsonxt
  207. kafka >= "0.3" & < "0.5"
  208. kafka_lwt
  209. ke >= "0.5"
  210. ketrew
  211. kinetic-client >= "0.0.9"
  212. kmt
  213. lab
  214. labrys
  215. lambdapi = "2.0.0" | >= "2.2.0"
  216. learn-ocaml
  217. learn-ocaml-client
  218. letsencrypt < "0.3.0"
  219. letsencrypt-app
  220. lilac
  221. llopt
  222. MlFront_Cli
  223. mastodon-archive-viewer
  224. mbr-format < "1.0.0"
  225. mdx >= "2.2.0"
  226. mel
  227. melange
  228. meldep
  229. merge-fmt
  230. message-switch
  231. minicaml >= "0.2.2"
  232. mirage >= "4.6.0"
  233. mirage-block-ccm >= "1.1.0"
  234. mirage-block-xen < "2.0.0"
  235. mirage-console >= "2.1.2" & < "2.2.0"
  236. mirage-console-xen-cli
  237. mirage-dns >= "2.6.0" & < "3.0.0"
  238. mirage-logs >= "2.0.0"
  239. mirage-runtime >= "4.5.0"
  240. mirage-seal
  241. mirror
  242. mkaudio
  243. monorobot
  244. mrmime >= "0.5.0"
  245. mustache-cli
  246. named-pipe
  247. nbd >= "0.9.2" & < "4.0.3"
  248. nbd-tool
  249. nebula
  250. niru
  251. nocoiner
  252. nuscr >= "2.0.0"
  253. obandit >= "0.3.4"
  254. obuilder
  255. ocal
  256. ocaml-gist
  257. ocamlcodoc
  258. ocamlformat >= "0.21.0"
  259. ocamlformat-mlx
  260. oci
  261. ocluster >= "0.2"
  262. ocp-browser >= "1.1.6"
  263. ocp-build = "1.99.20-beta"
  264. ocp-indent >= "1.6.0"
  265. ocp-indent-nlfork
  266. ocp-index
  267. ocp-reloc
  268. octez-dal-node
  269. octez-internal-libs
  270. octez-libs
  271. octez-node
  272. octez-proxy-server
  273. odds
  274. odep
  275. odig
  276. odoc
  277. ometrics
  278. omigrate
  279. omod
  280. opam-0install >= "0.4.1"
  281. opam-0install-cudf < "0.4.1"
  282. opam-build
  283. opam-build-revdeps
  284. opam-bundle
  285. opam-ci
  286. opam-client >= "2.0.0~beta"
  287. opam-compiler >= "0.2.0"
  288. opam-depext >= "1.2.1"
  289. opam-devel >= "2.0.0~beta"
  290. opam-dune-lint
  291. opam-ed
  292. opam-graph
  293. opam-grep >= "0.2.0"
  294. opam-installer
  295. opam-lib >= "1.3.1"
  296. opam-lock
  297. opam-package-upgrade
  298. opam-publish != "0.3.0+transition"
  299. opam-query
  300. opam-test
  301. opam2web >= "1.3.0" & < "2.0"
  302. opass >= "2.15"
  303. operf-macro
  304. opine
  305. opium >= "0.12.0"
  306. orb
  307. ordma >= "0.0.5"
  308. ortac-core
  309. ortac-dune
  310. ortac-qcheck-stm
  311. orun
  312. osbx
  313. osx-fsevents
  314. owi >= "0.2"
  315. owork
  316. passage
  317. passmakercmd
  318. pds >= "4.13"
  319. pg_query >= "0.9.6"
  320. pkcs11-cli
  321. plotkicadsch >= "0.2.0"
  322. polly
  323. ppx_deriving_cmdliner
  324. ppx_deriving_rpc = "8.1.0"
  325. ppx_subliner
  326. prelude
  327. prof_spacetime
  328. prometheus-app >= "0.4"
  329. protocol-9p < "0.12.1"
  330. protocol-9p-tool
  331. protocol-9p-unix < "0.12.1"
  332. publish < "0.3.4+transition"
  333. pyast
  334. pyml_bindgen >= "0.4.1"
  335. pyre-ast
  336. qcow < "0.10.2" | >= "0.11.0"
  337. qcow-format
  338. qcow-tool
  339. qmp
  340. queenshead
  341. randii
  342. regenerate
  343. rosetta < "0.2.0"
  344. rotor
  345. rpc >= "1.9.51" & < "5.9.0"
  346. rpclib
  347. runtime_events_tools >= "0.3"
  348. rust-staticlib-gen
  349. satyrographos < "0.0.1.7"
  350. shared-block-ring
  351. sherlodoc
  352. sibylfs
  353. sid
  354. slack
  355. slack-backup
  356. slacko
  357. slipshow
  358. smtml
  359. snabela
  360. solo5-elftool
  361. spin
  362. spotify-cli
  363. sslconf
  364. starred_ml >= "0.0.4"
  365. sun
  366. tallgeese
  367. tar-format >= "0.2.0" & < "0.7.1"
  368. tcpip >= "8.0.0"
  369. telltime
  370. tensorflow >= "0.0.4"
  371. testo
  372. testo-lwt
  373. tezos-context-hash-irmin
  374. tezos-node >= "8.0"
  375. tezos-proxy-server
  376. tidy_email_mailgun
  377. tidy_email_sendgrid
  378. tidy_email_smtp
  379. timmy
  380. tldr >= "0.3.0"
  381. tls >= "0.15.3" & < "0.16.0" | >= "1.0.0"
  382. tls-lwt
  383. tlstunnel
  384. toc
  385. topkg-care >= "1.0.5"
  386. torch < "v0.16.0"
  387. touist >= "3.5.0"
  388. travis-senv
  389. tuntap >= "1.0.0" & != "1.4.1"
  390. u2f
  391. uring
  392. uring-trace
  393. usbmux
  394. user-setup >= "0.4"
  395. valentine
  396. vchan < "6.0.2"
  397. vchan-unix
  398. vchan-xen < "6.0.2"
  399. vecosek
  400. vendredi
  401. vhd-tool
  402. vimebac
  403. vpnkit
  404. wayland
  405. webauthn
  406. weevil
  407. xapi-idl
  408. xapi-inventory
  409. xapi-rrd-transport
  410. xe-unikernel-upload
  411. xen-block-driver
  412. xen-disk
  413. xen-evtchn
  414. xen-evtchn-unix
  415. xen-gnt >= "1.0.0"
  416. xenctrl
  417. xentropyd
  418. yuscii = "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.