The official sources for the RDKit library
C++ Python CMake Java Jupyter Notebook C Other
Switch branches/tags
inactive/premodern_master Release_2018_03_4 Release_2018_03_3 Release_2018_03_2 Release_2018_03_1 Release_2018_03_1b1 Release_2017_09_3 Release_2017_09_2 Release_2017_09_1 Release_2017_09_1b1 Release_2017_03_3 Release_2017_03_2 Release_2017_03_1 Release_2017_03_1b1 Release_2016_09_4 Release_2016_09_3 Release_2016_09_2 Release_2016_09_1 Release_2016_09_1b1 Release_2016_09_1a1 Release_2016_03_5 Release_2016_03_4 Release_2016_03_3 Release_2016_03_2 Release_2016_03_1 Release_2016_03_1b1 Release_2015_09_2 Release_2015_09_1 Release_2015_09_1beta1 Release_2015_03_1 Release_2015_03_1beta1 Release_2014_09_2 Release_2014_09_1 Release_2014_03_1 Release_2014_03_1beta1 Release_2013_09_2 Release_2013_09_1 Release_2013_09_1pre Release_2013_09_1beta1 Release_2013_09_1beta Release_2013_06_1 Release_2013_06_1beta1 Release_2013_03_2 Release_2013_03_1 Release_2013_03_1beta1 Release_2013_01_1beta1 Release_2012_12_1 Release_2012_12_1beta1 Release_2012_09_2 Release_2012_09_1 Release_2012_09_1beta2 Release_2012_09_1beta1 Release_2012_09_beta2 Release_2012_06_1 Release_2012_06_1beta1 Release_2012_03_1 Release_2012_03_1beta1 Release_2011_12_1 Release_2011_12_1beta1 Release_2011_09_1 Release_2011_09_1beta1 Release_2011_06_1 Release_2011_06_1beta1 Release_2011_03_2 Release_2011_03_1 Release_2011_03_1beta1 Release_2010_12_1 Release_2010_12_1beta3 Release_2010_12_1beta1 Release_2010_09_1 Release_test_for_zenodo Release_Q42009_1 Release_Q42009_1beta1 Release_Q42008_1 Release_Q42008_1RC1 Release_Q32010_1beta1 Release_Q32009_1 Release_Q32009_1beta1 Release_Q32008_1 Release_Q32008_1RC1 Release_Q22010_1 Release_Q22010_1beta1 Release_Q22009_1 Release_Q22009_1beta1 Release_Q12010_1 Release_Q12010_1beta1 Release_Q12009_2 Release_Q12009_1 Release_Q12009_1beta4 Release_Q12009_1beta3 Release_Oct20006_1 Release_Oct2006_1 Release_May2008_1 Release_May2008_1RC2 Release_May2008_1RC1 Release_Jan2008_1 Release_Jan2008_1beta3 Release_Jan2008_1beta2 Release_Jan2008_1beta1 Release_Jan2008_1RC1
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github Issue and pull-request templates (#1468) Jul 2, 2017
Code update expected cartridge regression results Aug 16, 2018
Contrib add clarifying statement about license (#1933) Jul 4, 2018
Data Issue1071/yapf (#1078) Sep 23, 2016
Docs Fix github1973: support optional inclusion of S and P contributions t… Jul 30, 2018
External Fixes #1903 (#1971) Jul 25, 2018
Projects Replace optparse with argparse (#1835) May 1, 2018
Regress SSSR performance improvements to support larger systems (#1131) Oct 29, 2016
Scripts added Scripts/ (#1655) Jun 7, 2018
Web/RDExtras Issue1071/yapf (#1078) Sep 23, 2016
build_support changes required to allow replacing the obsolete __conda_version__ in… Nov 15, 2017
rdkit Fixes #1988 (#1997) Aug 13, 2018
.clang-format run clang-format with c++-11 style over that Apr 22, 2017
.clang-tidy clang-tidy output Apr 22, 2017
.gitattributes I should put a constructive comment here, but I am just WAY too frust… Jan 21, 2016
.gitignore Merge branch 'master' into modern_cxx Oct 5, 2017
.travis.yml if this doesn't work I will switch to a branch May 13, 2018
CMakeLists.txt Add an auto-populated file with cmake config options (#1874) Jun 9, 2018
INSTALL Fixes #679 Nov 26, 2015
README Fixes #679 Nov 26, 2015 Add DeepChem to projects that use rdkit (#1736) Feb 10, 2018 Allow Atom.GetAtomSmarts() to return isomeric SMILES (#1902) Jun 19, 2018
appveyor.yml Various small tweaks (#1814) Apr 11, 2018
license.txt moving license.txt back, that move was not such a good idea Dec 20, 2014 merge in Riccardo Vianello's changes to make it easier to build c++ p… Aug 7, 2011 merge in Riccardo Vianello's changes to make it easier to build c++ p… Aug 7, 2011
setup.cfg Issue1071/yapf (#1078) Sep 23, 2016


Build status Documentation Status DOI

RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python.

  • BSD license - a business friendly license for open source
  • Core data structures and algorithms in C++
  • Python (2.x and 3.x) wrapper generated using Boost.Python
  • Java and C# wrappers generated with SWIG
  • 2D and 3D molecular operations
  • Descriptor and Fingerprint generation for machine learning
  • Molecular database cartridge for PostgreSQL supporting substructure and similarity searches as well as many descriptor calculators
  • Cheminformatics nodes for KNIME
  • Contrib folder with useful community-contributed software harnessing the power of the RDKit

Web presence



Materials from user group meetings


Available on the RDKit page and in the Docs folder on GitHub


Installation instructions are available in Docs/Book/

Binary distributions, anaconda, homebrew

  • Windows binaries are available with each release.
  • RPMs for RedHat Enterprise Linux, Centos, and Fedora. Contributed by Gianluca Sforna.
  • homebrew formula for building on the Mac. Contributed by Eddie Cao.
  • recipes for building using the excellent conda package manager. Contributed by Riccardo Vianello.

Projects using RDKit

  • ChEMBL Beaker - standalone web server wrapper for RDKit and OSRA
  • myChEMBL (blog post, paper) - A virtual machine implementation of open data and cheminformatics tools
  • - an interactive SDF viewer
  • sdf2ppt - Reads an SDFile and displays molecules as image grid in powerpoint/openoffice presentation.
  • MolGears - A cheminformatics tool for bioactive molecules
  • PYPL - Simple cartridge that lets you call Python scripts from Oracle PL/SQL.
  • shape-it-rdkit - Gaussian molecular overlap code shape-it (from silicos it) ported to RDKit backend
  • WONKA - Tool for analysis and interrogation of protein-ligand crystal structures
  • OOMMPPAA - Tool for directed synthesis and data analysis based on protein-ligand crystal structures
  • DeepChem - Machine learning library for small molecules


Code released under the BSD license.