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

Conflicts

None