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

Conflicts

None

OCaml

Innovation. Community. Security.