# Providing an OCaml interface to RDKit

**URL:** https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780
**Category:** Community
**Tags:** comp-chem, open-source, chemoinformatics
**Created:** [June 13, 2024, 1:14am UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780 "2024-06-13T01:14:00Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![UnixJunkie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/unixjunkie/32/638_2.png) [@UnixJunkie](https://discuss.ocaml.org/u/UnixJunkie)
#### Post date: [June 13, 2024, 1:14am UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780/1 "2024-06-13T01:14:00Z")

</div>

Hello.

An open-source project idea.  
Currently, there is a javascript interface to rdkit:

> **[GitHub - rdkit/rdkit: The official sources for the RDKit library](https://github.com/rdkit/rdkit)**
>
> The official sources for the RDKit library. Contribute to rdkit/rdkit development by creating an account on GitHub.

RDKit is the leading open-source library for chemoinformatics and computational chemistry.  
CF.  
[https://rdkit.org/](https://rdkit.org/)  
and  
[https://www.rdkit.org/docs/index.html](https://www.rdkit.org/docs/index.html)

I think an OCaml interface would be pretty useful.

If someone is interested, let me know.  
Maybe we could apply to GSoC next year.  
I could mentor this project and code review for it.

I suspect the way to go would be to provide bindings to the mini rdkit C library  
that the javascript bindings are targeting.

A second step would be to provide a high-level OCaml interface w/ nice  
organization of modules and strong functional programing flavor.

Regards,  
Francois.

---

<div class="post-metadata">

### Author: ![UnixJunkie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/unixjunkie/32/638_2.png) [@UnixJunkie](https://discuss.ocaml.org/u/UnixJunkie)
#### Post date: [June 13, 2024, 4:50am UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780/2 "2024-06-13T04:50:18Z")

</div>

Maybe @scemama might be interested or know some people who would be interested into contributing

---

<div class="post-metadata">

### Author: ![scemama](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/scemama/32/2224_2.png) [@scemama](https://discuss.ocaml.org/u/scemama)
#### Post date: [June 13, 2024, 8:29am UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780/3 "2024-06-13T08:29:34Z")

</div>

Hi!  
it is a bit too far away from my research topic (benzene is for me a large molecule!).  
But I found that people have started to make a rust interface: [GitHub - rdkit-rs/rdkit: RDKit Made Idiomatic for Rust](https://github.com/rdkit-rs/rdkit/tree/main)  
It could be useful to see how that have done it.

---

<div class="post-metadata">

### Author: ![OChemist](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ochemist/32/6445_2.png) [@OChemist](https://discuss.ocaml.org/u/OChemist)
#### Post date: [March 23, 2026, 4:29pm UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780/4 "2026-03-23T16:29:36Z")

</div>

Nearly two years later but has the needle moved on this at all? I currently have an OCaml project that will need to use RDKit. I was going to implement this as foreign function interfaces but a fully fledged OCaml library would be very nice.

I had the idea for this myself then I found this thread. Unfortunately, I won’t have time to develop this project myself at present, unless I move it along really slowly.

---

<div class="post-metadata">

### Author: ![UnixJunkie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/unixjunkie/32/638_2.png) [@UnixJunkie](https://discuss.ocaml.org/u/UnixJunkie)
#### Post date: [June 22, 2026, 10:30am UTC](https://discuss.ocaml.org/t/providing-an-ocaml-interface-to-rdkit/14780/6 "2026-06-22T10:30:04Z")

</div>

I am still interested by that, sorry I just saw your message this week-end.
