package odoc

  1. Overview
  2. Docs

Description

Published: 16 Oct 2018

README

odoc  

odoc is a documentation generator for OCaml. It reads doc comments , delimited with (** ... *), and outputs HTML. See example output at docs.mirage.io.

Text inside doc comments is marked up in ocamldoc syntax:

val compare : string -> string -> int
(** [compare s1 s2] compares [s1] and [s2] in {e lexicographic} order. The
    result is negative if [s1] precedes [s2], positive if [s1] follows [s2],
    and zero if [s1] and [s2] are equal. *)

The syntax reference is here. There is also an explanation of how to attach comments to specific types, values, and other elements in your program.


odoc's main advantage over ocamldoc is an accurate cross-referencer, which handles the complexity of the OCaml module system. odoc also offers a good opportunity to improve HTML output compared to ocamldoc, but this is very much a work in progress :)


Using odoc with OCaml

opam install odoc

The easiest way to use odoc right now is by having Dune drive it. This command should work in most Dune projects out of the box:

dune build @doc

The generated docs can then be found locally at ./_build/default/_doc/_html/index.html.


Using odoc with BuckleScript/Reason

While the BuckleScript/Reason toolchain relies on npm, odoc at the moment needs to be used from a working OCaml toolchain.

This means we follow the same installation than above, but using the 4.02.3+buckle-master version of the OCaml compiler.

λ opam switch 4.02.3+buckle-master
λ eval `opam config env`
λ opam pin add odoc.dev git+https://github.com/ocaml/odoc

Now with that working, we can point odoc to the path where BuckleScript saves the compiled code that we can use to generate our documentation. This path is $root/lib/bs/src.

In there you'll find your .cmt and .cmti files.

You can now compile each one of them from .cmt[i] to .odoc and from .odoc to .html.

The following script can help you get started:

#!/bin/bash

readonly PKG=$1
readonly DOCS=$2

readonly ODOC=$(which odoc)
readonly LIB=./lib/bs/src

readonly CMT_FILES=$(find ${LIB} -name "*.cmti")
readonly ODOC_FILES=$(echo ${CMT_FILES} | sed "s/cmti/odoc/g")

echo "<< Compiling docs..."
for file in ${CMT_FILES}; do
  ${ODOC} compile \
    -I ${LIB} \
    --pkg=${PKG} \
    ${file}
done
echo ">> Done!"

echo "<< Generating HTML..."
for file in ${ODOC_FILES}; do
  ${ODOC} html \
    -I ${LIB} \
    -o ${DOCS} \
    --syntax=re \
    --semantic-uris \
    ${file}
done
echo ">> Done!"

And you can call it like:

λ ./mk-docs.sh MyPackageName ${path_to_docs_folder}
<< Compiling docs...
>> Done!
<< Generating HTML...
>> Done!

Contact

odoc is most discussed on discuss.ocaml.org's Ecosystem category with the odoc tag. Please also don't hesitate to open an issue.


Contributing

Any question asked, issue opened, feedback offered, is a contribution to odoc, and the project and all its users are thankful :) If you'd like to contribute code specifically, you may find the guide in CONTRIBUTING.md helpful. If anything is missing from it, please don't hesitate to reach out for help.

Dependencies (9)

  1. tyxml build & >= "4.0.0"
  2. result build
  3. ocaml build & >= "4.02.0" & < "4.08.0"
  4. fpath build
  5. cppo build & >= "1.1.0"
  6. cmdliner build & >= "1.0.0"
  7. dune < "2.0"
  8. bos build
  9. astring build

Dev Dependencies

None

  1. absolute >= "0.2"
  2. acgtk >= "2.0.0"
  3. adobe_font_metrics
  4. agrid
  5. aifad >= "2.3.0"
  6. alba >= "0.4.1"
  7. alcotest = "1.1.0" | = "1.2.3" | >= "1.5.0"
  8. alcotest-async >= "1.5.0"
  9. alcotest-js
  10. alcotest-lwt >= "1.5.0"
  11. alcotest-mirage >= "1.5.0"
  12. algaeff
  13. alt-ergo >= "2.4.1"
  14. alt-ergo-lib >= "2.4.1"
  15. alt-ergo-parsers >= "2.4.1"
  16. alt-ergo-plugin-ab-why3
  17. altgr-ergo >= "2.4.1"
  18. ambient-context
  19. ambient-context-eio
  20. ambient-context-lwt
  21. anders < "0.7.1"
  22. ansi >= "0.6.0"
  23. antic
  24. ao >= "0.2.4"
  25. arb
  26. archetype >= "1.2.3"
  27. arg-complete
  28. argon2 >= "1.0.0"
  29. argsh
  30. arrakis
  31. asai
  32. asak
  33. ask
  34. ask-integrator
  35. async-uri >= "0.4.0"
  36. atable
  37. atacama < "0.0.4"
  38. atd >= "2.3.3"
  39. atdd
  40. atdgen >= "2.3.3"
  41. atdgen-codec-runtime >= "2.3.3"
  42. atdgen-runtime >= "2.3.3"
  43. atdj >= "2.3.3" & < "20151001.01"
  44. atdpy
  45. atds >= "2.3.3"
  46. atdts
  47. autofonce
  48. autofonce_config
  49. autofonce_core
  50. autofonce_lib
  51. autofonce_m4
  52. autofonce_misc
  53. autofonce_patch
  54. autofonce_share
  55. avro
  56. avro-compiler
  57. awsm
  58. awsm-async
  59. awsm-codegen
  60. awsm-lwt
  61. backoff
  62. baguette_sharp
  63. bam
  64. bare_encoding
  65. base32
  66. batsat
  67. batteries >= "3.7.1"
  68. bencode >= "2.0"
  69. bestline
  70. bin_tree
  71. bindlib >= "6.0.0"
  72. binsec >= "0.4.0"
  73. bio_io
  74. biotk
  75. bitcoin >= "3.0"
  76. bitcoin-cohttp-async
  77. bitcoin-cohttp-lwt
  78. bitcoin-ocurl
  79. bitcoinml
  80. bitmasks >= "1.1.0"
  81. bitpack_serializer
  82. bitwuzla
  83. bitwuzla-c
  84. bitwuzla-cxx
  85. bls12-381 >= "6.0.1" & < "18.0"
  86. blurhash
  87. bogue >= "20210917"
  88. bogue-tutorials
  89. boltzgen >= "0.9.2"
  90. boulangerie
  91. box
  92. brotli >= "2.0.3"
  93. brr-lwd
  94. bwd < "2.0.0"
  95. bytebuffer
  96. bytestring
  97. ca-certs-nss >= "3.64.0.1"
  98. cairn
  99. caisar
  100. caisar-ir
  101. caisar-nnet
  102. caisar-onnx
  103. caisar-ovo
  104. caisar-xgboost
  105. calcium
  106. calculon >= "0.3"
  107. calculon-web >= "0.3"
  108. calendar >= "3.0.0"
  109. calipso
  110. camlimages >= "5.0.5"
  111. camlp-streams >= "5.0.1"
  112. camlrack
  113. camomile >= "2.0.0"
  114. camyll
  115. canary
  116. caqti >= "1.7.0"
  117. caqti-async >= "1.7.0"
  118. caqti-driver-mariadb >= "1.7.0"
  119. caqti-driver-postgresql >= "1.7.0"
  120. caqti-driver-sqlite3 >= "1.7.0"
  121. caqti-eio
  122. caqti-lwt >= "1.7.0"
  123. caqti-mirage
  124. caqti-tls
  125. caqti-type-calendar >= "1.9.0"
  126. carbon
  127. castore
  128. catala >= "0.5.0"
  129. catapult
  130. catapult-client
  131. catapult-daemon
  132. catapult-file
  133. catapult-sqlite
  134. cborl
  135. ccbg
  136. cf
  137. cf-lwt
  138. cfg >= "2.3.0"
  139. chamo >= "4.0"
  140. choice >= "0.4"
  141. chrome-trace
  142. cid
  143. clap >= "0.2.0"
  144. clarity-lang
  145. clim
  146. clim-ppx
  147. cll
  148. clp_operations
  149. cmon
  150. cohttp >= "6.0.0~alpha0"
  151. cohttp-async >= "6.0.0~alpha0"
  152. cohttp-curl
  153. cohttp-curl-async
  154. cohttp-curl-lwt
  155. cohttp-eio
  156. cohttp-lwt >= "6.0.0~alpha0"
  157. cohttp-lwt-jsoo >= "6.0.0~alpha0"
  158. cohttp-lwt-unix >= "6.0.0~alpha0"
  159. cohttp-mirage >= "6.0.0~alpha0"
  160. cohttp-server-lwt-unix
  161. cohttp-top >= "6.0.0~alpha0"
  162. colibri2
  163. colibrics
  164. colibrilib
  165. colors
  166. combinaml
  167. combinat >= "3.0"
  168. config
  169. config-file >= "1.2.1"
  170. conformist >= "0.8.1"
  171. containers >= "2.0"
  172. containers-data
  173. containers-thread
  174. coq >= "8.19.0"
  175. coq-core >= "8.19.0"
  176. coq-stdlib >= "8.19.0"
  177. coqide >= "8.19.0"
  178. coqide-server >= "8.19.0"
  179. crc >= "2.0.0"
  180. crontab
  181. crowbar >= "0.2.1"
  182. cry >= "0.6.6"
  183. csexp >= "1.5.1"
  184. css
  185. ctoxml
  186. ctypes >= "0.21.1"
  187. ctypes-foreign >= "0.21.1"
  188. cucumber
  189. cudf >= "0.10"
  190. cue_sheet_maker
  191. curly >= "0.2.0"
  192. current >= "0.6.4"
  193. current-albatross-deployer
  194. current-web-pipelines
  195. current_docker >= "0.6.4"
  196. current_examples >= "0.6.4"
  197. current_git >= "0.6.4"
  198. current_github >= "0.6.4"
  199. current_gitlab >= "0.6.4"
  200. current_ocluster >= "0.2"
  201. current_rpc >= "0.6.4"
  202. current_slack >= "0.6.4"
  203. current_ssh
  204. current_web >= "0.6.4"
  205. curses >= "1.0.10"
  206. DkSDKFFIOCaml_Std
  207. data-encoding >= "0.5"
  208. datalog >= "0.6"
  209. dates_calc
  210. dbf >= "0.2.0"
  211. decimal
  212. decoders >= "0.5.0"
  213. decoders-bencode
  214. decoders-cbor
  215. decoders-ezjsonm >= "0.3.0"
  216. decoders-ezxmlm
  217. decoders-jsonaf
  218. decoders-jsonm
  219. decoders-msgpck
  220. decoders-sexplib
  221. decoders-yojson >= "0.3.0"
  222. delimcc_of_fxhandler
  223. devkit >= "1.20210120"
  224. diff
  225. disml
  226. dkml-c-probe
  227. dkml-component-offline-ocamlrun
  228. dkml-component-offline-opam
  229. dkml-component-staging-ocamlrun >= "4.12.1~v1.0.2"
  230. dkml-component-staging-opam32 < "2.2.0~dkml20220801"
  231. dkml-component-staging-opam64 < "2.2.0~dkml20220801"
  232. dkml-dune-dsl
  233. dkml-dune-dsl-show
  234. dkml-install >= "0.5.1"
  235. dkml-install-installer >= "0.5.1"
  236. dkml-install-runner >= "0.5.1"
  237. dkml-option-vcpkg
  238. dkml-package-console >= "0.5.1"
  239. dkml-runtime-distribution
  240. dkml-workflows
  241. dlm >= "0.3.3"
  242. dmap
  243. docfd
  244. docker-api >= "0.2.2"
  245. dockerfile >= "8.1.0"
  246. dockerfile-cmd >= "8.1.0"
  247. dockerfile-opam >= "8.1.0"
  248. doculib
  249. doi2bib >= "0.3.0"
  250. dolmen >= "0.5"
  251. dolmen_bin
  252. dolmen_loop
  253. dolmen_lsp
  254. dolmen_model
  255. dolmen_type
  256. domain-local-await
  257. domain-local-timeout
  258. domainslib >= "0.5.1"
  259. dose3 >= "6.1"
  260. dose3-extra
  261. dream-accept
  262. dream-cli
  263. dream-encoding
  264. dream-html
  265. dream-htmx
  266. dream-livereload
  267. drom
  268. drom_lib
  269. drom_toml
  270. dscheck
  271. dssi >= "0.1.4"
  272. dtools >= "0.4.3"
  273. dual
  274. dune-action-plugin >= "2.7.0"
  275. dune-build-info >= "2.7.0"
  276. dune-compiledb
  277. dune-configurator >= "2.7.0"
  278. dune-expand
  279. dune-glob >= "2.7.0"
  280. dune-private-libs >= "2.7.0"
  281. dune-release
  282. dune-rpc
  283. dune-rpc-lwt
  284. dune-site
  285. duppy >= "0.9.1"
  286. dyn
  287. earley >= "3.0.0"
  288. earlybird >= "1.0.0"
  289. easy-format >= "1.3.3"
  290. ego
  291. eio
  292. eio-ssl >= "0.1.1"
  293. eio-trace
  294. eio_linux
  295. eio_luv
  296. eio_main
  297. eio_posix
  298. eio_windows
  299. electrod >= "1.0.0"
  300. eliom >= "10.1.2"
  301. elpi >= "1.16.7"
  302. embedded_ocaml_templates >= "0.8"
  303. encoding
  304. equinoxe
  305. equinoxe-cohttp
  306. equinoxe-hlc
  307. eris
  308. eris-lwt
  309. erlang
  310. errpy
  311. extism
  312. extism-manifest
  313. extunix >= "0.4.0"
  314. ez_cmdliner >= "0.2.0"
  315. ez_config >= "0.2.0"
  316. ez_file >= "0.2.0"
  317. ez_hash
  318. ez_opam_file
  319. ez_search
  320. ez_subst
  321. ezcurl
  322. ezcurl-lwt
  323. ezgzip
  324. ezjs_fetch >= "0.3"
  325. ezjs_idb >= "0.1.1"
  326. ezjs_min >= "0.2.2"
  327. ezjsonm-encoding
  328. FPauth
  329. FPauth-core
  330. FPauth-responses
  331. FPauth-strategies
  332. FrontC >= "4.0.0"
  333. faad >= "0.5.1"
  334. fadbadml >= "0.1.2"
  335. farith
  336. fd-send-recv >= "2.0.1"
  337. fdkaac >= "0.3.3"
  338. feather >= "0.2.0"
  339. feather_async >= "0.2.0"
  340. ffmpeg >= "1.0.0~beta2"
  341. ffmpeg-av >= "1.0.0~beta2"
  342. ffmpeg-avcodec >= "1.0.0~beta2"
  343. ffmpeg-avdevice >= "1.0.0~beta2"
  344. ffmpeg-avfilter >= "1.0.0~beta2"
  345. ffmpeg-avutil >= "1.0.0~beta2"
  346. ffmpeg-swresample >= "1.0.0~beta2"
  347. ffmpeg-swscale >= "1.0.0~beta2"
  348. fiat-p256 = "0.2.2"
  349. fiber
  350. fiber-lwt
  351. flac >= "0.3.1"
  352. flint
  353. fmlib
  354. fmlib_browser
  355. fmlib_js
  356. fmlib_parse
  357. fmlib_pretty
  358. fmlib_std
  359. fontforge-of-ocaml
  360. forester
  361. frama-c >= "27.0"
  362. frama-c-metacsl >= "0.4"
  363. frama-clang
  364. frenetic >= "5.0.0"
  365. fsevents
  366. fsevents-lwt
  367. fuseau
  368. fuseau-lwt
  369. GT >= "0.5.0"
  370. gccjit
  371. gd >= "1.1"
  372. gen >= "0.5.1"
  373. gen_js_api >= "1.0.8"
  374. geojson
  375. geojsone
  376. geoml
  377. getopt >= "20230213"
  378. github >= "4.4.0"
  379. github-data
  380. github-jsoo >= "4.4.0"
  381. github-unix >= "4.4.0"
  382. gitlab
  383. gitlab-jsoo
  384. gitlab-unix
  385. gitlab_pipeline_notifier
  386. globlon
  387. gluon
  388. gluten >= "0.5.0"
  389. gluten-async >= "0.5.0"
  390. gluten-eio >= "0.5.0"
  391. gluten-lwt >= "0.5.0"
  392. gluten-lwt-unix >= "0.5.0"
  393. gluten-mirage >= "0.5.0"
  394. gnuplot >= "0.6"
  395. goblint >= "1.1.1"
  396. goblint-cil >= "1.8.0"
  397. gospel >= "0.2.0"
  398. gotd
  399. gperftools >= "0.4"
  400. gpiod
  401. gpt
  402. grace
  403. gradescope_submit
  404. graphv
  405. graphv_core
  406. graphv_core_lib
  407. graphv_font
  408. graphv_font_js
  409. graphv_font_stb_truetype
  410. graphv_gles2
  411. graphv_gles2_native
  412. graphv_gles2_native_impl
  413. graphv_webgl
  414. graphv_webgl_impl
  415. grpc
  416. grpc-async
  417. grpc-bench
  418. grpc-eio
  419. grpc-examples
  420. grpc-lwt
  421. gsl >= "1.25.0"
  422. guardian
  423. guile
  424. h1_parser
  425. h2 >= "0.10.0"
  426. h2-async >= "0.10.0"
  427. h2-eio
  428. h2-lwt >= "0.10.0"
  429. h2-lwt-unix >= "0.10.0"
  430. h2-mirage >= "0.10.0"
  431. hacl-star >= "0.4.0"
  432. hacl_func
  433. hacl_x25519 = "0.2.1"
  434. hashcons >= "1.4.0"
  435. hc >= "0.2"
  436. hdr_histogram
  437. headache = "1.06"
  438. header-check
  439. highlexer
  440. higlo >= "0.8"
  441. hilite
  442. hockmd
  443. hol2dk
  444. hooke
  445. hpack >= "0.10.0"
  446. hsluv
  447. html_of_jsx
  448. htmlfromtexbooks
  449. http
  450. http-cookie
  451. http-date
  452. http-multipart-formdata
  453. http_async
  454. httpaf_caged >= "1.0.1"
  455. ISO3166
  456. ISO8601 >= "0.2.6"
  457. idds
  458. inotify >= "2.4"
  459. inquire >= "0.3.0"
  460. inquirer_oc
  461. interval-map
  462. iomux
  463. ip2location
  464. ip2locationio
  465. irc-client >= "0.6.2"
  466. irc-client-lwt >= "0.6.2"
  467. irc-client-lwt-ssl
  468. irc-client-tls >= "0.6.2"
  469. irc-client-unix >= "0.6.2"
  470. iri >= "0.6.0"
  471. irmin >= "3.0.0"
  472. irmin-watcher >= "0.5.0"
  473. iter
  474. jekyll-format >= "0.2.0"
  475. jerboa
  476. jext
  477. jose >= "0.6.0"
  478. js_of_ocaml >= "3.10.0"
  479. js_of_ocaml-compiler >= "3.10.0"
  480. js_of_ocaml-lwt >= "3.10.0"
  481. js_of_ocaml-ocamlbuild >= "3.10.0"
  482. js_of_ocaml-ppx >= "3.10.0"
  483. js_of_ocaml-ppx_deriving_json >= "3.10.0"
  484. js_of_ocaml-toplevel >= "3.10.0"
  485. js_of_ocaml-tyxml >= "3.10.0"
  486. json-data-encoding >= "0.12"
  487. jsonoo
  488. jsonrpc >= "1.4.0"
  489. jsonschema2atd
  490. jsoo-react
  491. junit >= "1.0"
  492. junit_alcotest
  493. junit_ounit
  494. jupyter-kernel >= "0.4"
  495. jwto >= "0.4.0"
  496. kcas >= "0.1.6" & < "0.6.0"
  497. kcas_data < "0.6.0"
  498. kdl
  499. kind2
  500. kittyimg
  501. kkmarkdown
  502. knights_tour
  503. kqueue >= "0.2.0"
  504. lab
  505. lablgtk3-extras >= "3.0.1"
  506. lacaml >= "11.0.10"
  507. ladspa >= "0.2.1"
  508. lambda
  509. lambda-term >= "3.3.0"
  510. lambdapi >= "2.0.0"
  511. lame >= "0.3.6"
  512. landmarks >= "1.4"
  513. landmarks-ppx
  514. ldap >= "2.4.2"
  515. ldp
  516. ldp_curl
  517. ldp_js
  518. ldp_tls
  519. leaflet
  520. learn-ocaml
  521. leaves
  522. letters != "0.1.1"
  523. leveldb >= "1.3.0"
  524. libc
  525. libsail
  526. lilv
  527. linenoise >= "1.3.1"
  528. linol
  529. linol-lwt
  530. lintcstubs
  531. lintcstubs-arity
  532. lintcstubs-gen
  533. liquidsoap >= "2.2.0"
  534. liquidsoap-core
  535. liquidsoap-js
  536. liquidsoap-lang
  537. liquidsoap-libs
  538. liquidsoap-libs-extra
  539. liquidsoap-mode
  540. little_logger
  541. llama
  542. llama-cpp-ocaml
  543. llama_core
  544. llama_interactive
  545. llama_midi
  546. lmdb >= "1.0"
  547. logical
  548. logs-async >= "1.3"
  549. logs-async-reporter >= "1.3"
  550. loop
  551. lreplay
  552. lru_cache < "v0.16.0"
  553. lsp >= "1.4.0"
  554. lua-ml >= "0.9.3"
  555. lua_parser >= "1.0.2"
  556. lwd >= "0.2"
  557. lwt-parallel >= "1.0.0"
  558. lwt-pipe
  559. lwt_eio
  560. lz4 >= "1.2.0"
  561. m_tree
  562. mad >= "0.5.1"
  563. make-random
  564. matita
  565. mc2
  566. md2mld >= "0.7.0"
  567. mdx = "1.7.0" | >= "1.11.0"
  568. mec
  569. mehari
  570. mehari-eio
  571. mehari-eio-unix
  572. mehari-lwt-unix
  573. mehari-mirage
  574. mel
  575. melange
  576. melange-atdgen-codec-runtime
  577. melange-compiler-libs
  578. melange-fest
  579. melange-fetch
  580. melange-jest
  581. melange-json
  582. melange-moment
  583. melange-numeral
  584. melange-radix-icons
  585. melange-react-dates
  586. melange-react-query
  587. melange-recharts
  588. melange-testing-library
  589. melange-webapi
  590. meldep
  591. mem_usage
  592. memgraph
  593. memgraph_kitty
  594. metadata
  595. metadb
  596. middleware
  597. minisat >= "0.2"
  598. minttea
  599. mjson
  600. mlbdd >= "0.7.2"
  601. mlmpfr >= "4.2.0"
  602. mm >= "0.7.2"
  603. mnd
  604. module-graph
  605. monocypher
  606. monomorphic >= "2.0"
  607. moonpool
  608. morbig >= "0.10.3"
  609. mpg123 >= "0.3"
  610. mpris >= "0.2.0"
  611. mpris-clients
  612. mssql >= "2.0.3"
  613. mugen
  614. mula
  615. multibase
  616. multicodec
  617. multicont >= "1.0.1"
  618. multihash
  619. multihash-digestif
  620. mustache >= "3.2.0"
  621. mustache-cli
  622. mysql_protocol >= "3.0.1"
  623. nanoid
  624. nanosvg
  625. nanosvg_text
  626. nbd >= "6.0.0"
  627. nbd-tool
  628. nbd-unix
  629. netkat
  630. nice_parser
  631. ninja_utils
  632. nloge
  633. nlopt
  634. nmea
  635. noCanren >= "0.3.0~alpha1"
  636. node_of_ocaml
  637. nottui >= "0.2"
  638. nottui-lwt >= "0.2"
  639. nottui-pretty >= "0.2"
  640. nunchaku >= "0.5.1"
  641. nuscr >= "1.1.0"
  642. OCADml
  643. OCanren >= "0.3.0~alpha1"
  644. OCanren-ppx >= "0.3.0~alpha1"
  645. OSCADml
  646. obuilder
  647. obuilder-spec
  648. ocaml-compiler-libs = "v0.12.4"
  649. ocaml-in-python
  650. ocaml-logicalform
  651. ocaml-lsp-server >= "1.4.0"
  652. ocaml-lua >= "1.8"
  653. ocaml-protoc >= "2.1"
  654. ocaml-protoc-plugin >= "5.0.0"
  655. ocaml-version >= "3.6.0"
  656. ocamlc-loc
  657. ocamldiff >= "1.2"
  658. ocamlformat >= "0.19.0"
  659. ocamlformat-lib
  660. ocamlformat-rpc >= "0.19.0" & < "removed"
  661. ocamlformat-rpc-lib
  662. ocamlfuse >= "2.7.1-cvs8"
  663. ocamlregextkit
  664. ocb
  665. ocf >= "0.8.0"
  666. ocf_ppx
  667. ockt
  668. ocluster >= "0.2"
  669. ocluster-api >= "0.2"
  670. ocluster-worker
  671. ocp-browser >= "1.2.2"
  672. ocp-index >= "1.2.2"
  673. ocp-search
  674. ocplib_stuff >= "0.3.0"
  675. odep >= "0.2.0"
  676. oframl
  677. ogg >= "0.7.1"
  678. ojo
  679. ojs >= "1.0.8"
  680. ojs_base
  681. ojs_base_all
  682. ojs_base_ppx
  683. ojs_ed
  684. ojs_filetree
  685. ojs_list
  686. olinq >= "0.3"
  687. oma
  688. omd = "1.3.2" | >= "2.0.0~alpha3"
  689. omigrate != "0.3.0"
  690. omtl
  691. oniguruma
  692. opam-0install >= "0.4.2"
  693. opam-0install-cudf >= "0.4.2"
  694. opam-bin >= "0.9.5"
  695. opam-check-npm-deps
  696. opam-compiler >= "0.2.0"
  697. opam-dune-lint
  698. opam-monorepo >= "0.3.0"
  699. opam-spin
  700. opam_bin_lib >= "0.9.5"
  701. opasswd >= "1.3.1"
  702. openapi
  703. openapi_router
  704. openstellina
  705. opentelemetry
  706. opentelemetry-client-cohttp-lwt
  707. opentelemetry-client-ocurl
  708. opentelemetry-cohttp-lwt
  709. opentelemetry-lwt
  710. opine
  711. opium >= "0.20.0"
  712. opium-testing >= "0.20.0"
  713. oplot != "0.50"
  714. optiml-transport
  715. opus >= "0.2.1"
  716. oraft >= "0.3.0"
  717. ordering
  718. ordinal
  719. orgeat
  720. oseq
  721. osh
  722. osnap
  723. otoggl
  724. otoml >= "0.9.3"
  725. ounit2 >= "2.2.7"
  726. ounit2-lwt >= "2.2.7"
  727. override >= "0.4.0"
  728. owi
  729. p5scm
  730. packstream
  731. pancake
  732. pandoc >= "0.2.1"
  733. pandoc-abbreviations >= "0.2.1"
  734. pandoc-comment >= "0.2.1"
  735. pandoc-crossref >= "0.2.1"
  736. pandoc-include >= "0.2.1"
  737. pandoc-inspect >= "0.2.1"
  738. pandoc-pdf2png >= "0.2.1"
  739. pandoc-replace >= "0.2.1"
  740. par_incr
  741. pari
  742. pari-bindings
  743. parmap >= "1.2.3"
  744. path_glob
  745. patoline >= "0.2"
  746. pbrt
  747. pbrt_yojson
  748. pcre >= "7.5.0"
  749. pcre2
  750. petrol
  751. pgx >= "1.0"
  752. pgx_async >= "2.2"
  753. pgx_lwt >= "2.2"
  754. pgx_lwt_mirage >= "2.2"
  755. pgx_lwt_unix >= "2.2"
  756. pgx_unix >= "2.2"
  757. pgx_value_core >= "2.2"
  758. pgx_value_ptime >= "2.2"
  759. phylogenetics >= "0.2.0"
  760. piece_rope
  761. plateau
  762. plist-xml
  763. plist-xml-lwt
  764. plotly
  765. plplot >= "5.12.0"
  766. polars
  767. polars_async
  768. poll
  769. popper
  770. portaudio >= "0.2.3"
  771. portmidi
  772. posix-base >= "2.0.1"
  773. posix-bindings >= "2.0.1"
  774. posix-getopt >= "2.0.1"
  775. posix-signal >= "2.0.1"
  776. posix-socket >= "2.0.1"
  777. posix-socket-unix >= "2.0.1"
  778. posix-time2 >= "2.0.1"
  779. posix-types >= "2.0.1"
  780. posix-uname >= "2.0.1"
  781. pp >= "1.2.0"
  782. pp-binary-ints
  783. pp_loc
  784. ppx_camlrack
  785. ppx_catch
  786. ppx_const >= "2.0"
  787. ppx_decimal
  788. ppx_default
  789. ppx_deriving_cad
  790. ppx_deriving_encoding >= "0.3.0"
  791. ppx_deriving_hash
  792. ppx_deriving_madcast >= "0.2"
  793. ppx_deriving_popper
  794. ppx_deriving_qcheck >= "0.2.0"
  795. ppx_deriving_scad
  796. ppx_deriving_yaml >= "0.2.0"
  797. ppx_distr_guards >= "0.3"
  798. ppx_dream_eml
  799. ppx_getenv >= "2.0"
  800. ppx_interact
  801. ppx_make
  802. ppx_map
  803. ppx_minidebug
  804. ppx_monad
  805. ppx_monoid >= "0.3.3"
  806. ppx_open
  807. ppx_optint
  808. ppx_parser
  809. ppx_pyformat
  810. ppx_repr != "0.2.0"
  811. ppx_seq
  812. ppx_subliner
  813. ppx_system
  814. ppx_trace
  815. ppx_ts
  816. ppx_update
  817. ppx_viewpattern
  818. ppx_yojson >= "1.3.0"
  819. ppxlib >= "0.22.0"
  820. pratter
  821. prbnmcn-basic-structures
  822. prbnmcn-cgrph
  823. prbnmcn-clustering
  824. prbnmcn-dagger
  825. prbnmcn-dagger-gsl
  826. prbnmcn-dagger-stats
  827. prbnmcn-dagger-test
  828. prbnmcn-gnuplot
  829. prbnmcn-linalg
  830. prbnmcn-mcts
  831. prbnmcn-proptest
  832. prbnmcn-stats
  833. prbnmcn-ucb1 >= "0.0.2"
  834. preface
  835. pretty_expressive
  836. printbox >= "0.2"
  837. printbox-html
  838. printbox-md
  839. printbox-text
  840. processor
  841. producer
  842. progress
  843. prometheus-liquidsoap >= "2"
  844. promise_jsoo
  845. promise_jsoo_lwt
  846. provider
  847. prr
  848. psmt2-frontend >= "0.3.0"
  849. pulseaudio >= "0.1.5"
  850. pvec
  851. pyml >= "20210924"
  852. pyml_bindgen
  853. pyre-ast
  854. qbf >= "0.3"
  855. qcheck >= "0.9"
  856. qcheck-alcotest
  857. qcheck-core
  858. qcheck-lin
  859. qcheck-multicoretests-util
  860. qcheck-ounit
  861. qcheck-stm
  862. quick_print
  863. quickjs
  864. randii
  865. random
  866. randoml
  867. raygui
  868. raylib >= "0.3.1"
  869. rdf >= "0.13.0"
  870. rdf_impls
  871. rdf_json_ld
  872. rdf_lwt
  873. rdf_mysql
  874. rdf_postgresql
  875. rdf_ppx
  876. rea < "0.2.0"
  877. reactjs-jsx-ppx
  878. readline
  879. reason >= "3.9.0"
  880. reason-react
  881. reason-react-ppx
  882. reddit_api_async
  883. reddit_api_kernel
  884. redis >= "0.4"
  885. redis-lwt >= "0.4"
  886. redis-sync >= "0.4"
  887. refl >= "0.2.0" & < "0.3.0"
  888. reparse >= "2.0.0"
  889. reparse-lwt
  890. reparse-lwt-unix
  891. reparse-unix
  892. repr != "0.2.0"
  893. repr-bench
  894. repr-fuzz
  895. rescript-syntax
  896. reshowcase
  897. resto >= "0.7"
  898. rfsm >= "2.0"
  899. rio
  900. river >= "0.2"
  901. rock >= "0.20.0"
  902. roman
  903. routes >= "1.0.0"
  904. rpc >= "6.1.0"
  905. rsdd
  906. rtop >= "3.9.0"
  907. rtree
  908. runtime_events_tools
  909. SourceCode_ASCII
  910. safemoney
  911. sail >= "0.15"
  912. sail_c_backend
  913. sail_coq_backend
  914. sail_doc_backend
  915. sail_latex_backend
  916. sail_lem_backend
  917. sail_manifest
  918. sail_ocaml_backend
  919. sail_output
  920. sail_smt_backend
  921. sail_sv_backend
  922. samplerate >= "0.1.6"
  923. sanddb >= "0.2"
  924. sarek >= "20210823"
  925. sarif
  926. saturn >= "0.4.1"
  927. saturn_lockfree >= "0.4.1"
  928. scad_ml
  929. scfg
  930. sd_logic
  931. sdl-liquidsoap >= "3"
  932. secp256k1 >= "0.4.1"
  933. sedlex >= "2.4"
  934. sel
  935. semver >= "0.2.1"
  936. semver2
  937. seqes
  938. sequence >= "1.1"
  939. serde
  940. serde_debug
  941. serde_derive
  942. serde_json
  943. serde_sexpr
  944. serde_xml
  945. server-reason-react
  946. sexp_decode
  947. sha >= "1.15.1"
  948. shades
  949. shine >= "0.2.2"
  950. shuttle
  951. shuttle_http
  952. shuttle_ssl
  953. shuttle_websocket
  954. sifun
  955. sihl >= "0.1.5"
  956. sihl-cache
  957. sihl-contract
  958. sihl-core
  959. sihl-email
  960. sihl-facade
  961. sihl-persistence
  962. sihl-queue
  963. sihl-session
  964. sihl-storage
  965. sihl-token
  966. sihl-type
  967. sihl-user
  968. sihl-web
  969. simlog
  970. smart-print >= "0.3.0"
  971. smol
  972. smol-helpers
  973. smtlib-utils
  974. snappy >= "0.1.2"
  975. snoke
  976. sodium-fmt
  977. solid
  978. solid_server
  979. solid_tools
  980. solidity-alcotest
  981. solidity-common
  982. solidity-parser
  983. solidity-test
  984. solidity-typechecker
  985. spatial-shell
  986. spawn >= "v0.15.0"
  987. spdx_licenses < "1.2.0"
  988. spectrum
  989. speex >= "0.4.1"
  990. spelll >= "0.3"
  991. spices
  992. spin
  993. spoc >= "20210823"
  994. spoc_ppx
  995. sqids
  996. sqlgg >= "20200521"
  997. sqlite3 >= "5.0.3"
  998. sqlite3_utils
  999. srt >= "0.2.1"
  1000. ssl >= "0.7.0"
  1001. sslconf
  1002. starpath
  1003. stdint = "0.7.0" | >= "0.7.2"
  1004. stdint-literals
  1005. stdlib-random
  1006. stdune
  1007. stk
  1008. stk_iconv
  1009. stog >= "0.20.0"
  1010. stog_all
  1011. stog_asy
  1012. stog_dot
  1013. stog_extern
  1014. stog_markdown
  1015. stog_multi_doc
  1016. stog_nocaml
  1017. stog_noexec
  1018. stog_plugins
  1019. stog_rdf
  1020. stog_rel_href
  1021. stog_server
  1022. stog_server_multi
  1023. stog_sitemap
  1024. stog_writing
  1025. stramon-lib
  1026. stringCodepointSplitter
  1027. sun
  1028. swhid
  1029. swhid_compute
  1030. swhid_core
  1031. swhid_types
  1032. swipl
  1033. tabr
  1034. taglib >= "0.3.7"
  1035. talaria-bibtex
  1036. tar >= "2.0.0"
  1037. tar-eio
  1038. tar-mirage >= "2.0.0"
  1039. tar-unix >= "2.0.0"
  1040. teash
  1041. telemetry
  1042. terminal
  1043. terminus
  1044. terminus-cohttp
  1045. terminus-hlc
  1046. testu01
  1047. textmate-language
  1048. textrazor
  1049. tezos-bls12-381-polynomial >= "0.1.3"
  1050. tezos-plompiler >= "0.1.3"
  1051. tezos-plonk >= "0.1.3"
  1052. tezt-bam
  1053. thread-table
  1054. tidy_email
  1055. tidy_email_mailgun
  1056. tidy_email_sendgrid
  1057. tidy_email_smtp
  1058. timed >= "1.1"
  1059. timedesc >= "0.8.0"
  1060. timedesc-json
  1061. timedesc-sexp
  1062. timedesc-tzdb
  1063. timedesc-tzlocal
  1064. timedesc-tzlocal-js
  1065. timere >= "0.8.0"
  1066. timmy
  1067. timmy-jsoo
  1068. timmy-unix
  1069. tiny_httpd
  1070. tiny_httpd_camlzip
  1071. tip-parser >= "0.4"
  1072. tls-liquidsoap
  1073. toc
  1074. togglelog
  1075. toml >= "5.0.0"
  1076. toml_cconv >= "7.0.0"
  1077. topojson
  1078. topojsone
  1079. touist >= "3.5.0"
  1080. trace
  1081. trace-fuchsia
  1082. trace-tef
  1083. tracy-client
  1084. traits
  1085. trampoline
  1086. transept
  1087. travesty >= "0.7.2"
  1088. trexio
  1089. tsdl-image >= "0.3.0"
  1090. tsdl-mixer >= "0.3.0"
  1091. tsdl-ttf >= "0.3"
  1092. tty
  1093. tyabt
  1094. type_eq
  1095. type_id
  1096. typeid
  1097. tyre >= "0.5"
  1098. tyxml >= "4.6.0"
  1099. tyxml-jsx >= "4.6.0"
  1100. tyxml-lwd >= "0.2"
  1101. tyxml-ppx >= "4.6.0"
  1102. tyxml-syntax >= "4.6.0"
  1103. ubase >= "0.20"
  1104. um-abt
  1105. unisim_archisec
  1106. uring
  1107. uritemplate >= "0.1.0"
  1108. urn
  1109. validate
  1110. validator
  1111. varray
  1112. vdom
  1113. vec >= "0.2.0"
  1114. vendredi
  1115. voqc >= "0.2.0"
  1116. vue-jsoo >= "0.3"
  1117. vue-ppx
  1118. wayland
  1119. waylaunch < "0.3.0"
  1120. websocket >= "2.15"
  1121. websocket-async >= "2.15"
  1122. websocket-lwt-unix >= "2.15"
  1123. win-eventlog >= "0.4"
  1124. winsvc >= "1.0.1"
  1125. wtr
  1126. wtr-ppx
  1127. wu-manber-fuzzy-search
  1128. xapi-stdext-date
  1129. xapi-stdext-encodings
  1130. xapi-stdext-pervasives >= "4.19.0"
  1131. xapi-stdext-std >= "4.19.0"
  1132. xapi-stdext-threads >= "4.19.0"
  1133. xapi-stdext-unix >= "4.19.0"
  1134. xapi-stdext-zerocheck
  1135. xcursor
  1136. xdg
  1137. xmelly
  1138. xmldiff >= "0.7.0"
  1139. xmldiff_js
  1140. xoshiro
  1141. xtmpl >= "0.19.0"
  1142. xtmpl_js
  1143. xtmpl_ppx
  1144. yocaml
  1145. yocaml_cmark
  1146. yocaml_git
  1147. yocaml_jingoo
  1148. yocaml_markdown
  1149. yocaml_mustache
  1150. yocaml_syndication
  1151. yocaml_unix
  1152. yocaml_yaml
  1153. yojson >= "2.0.0"
  1154. yuujinchou >= "0.10.0" & < "3.0.0"
  1155. zanuda
  1156. zar
  1157. zed >= "3.2.0"
  1158. zlib >= "0.6"
  1159. zlist >= "0.4.0"
  1160. zmq >= "5.2.1"
  1161. zmq-async >= "5.2.1"
  1162. zmq-lwt >= "5.2.1"

Conflicts

None