Conda build recipe for the rdkit
C Shell Batchfile Other
Clone or download
greglandrum Merge development branch onto master (#69)
* updated patch file

* fix issue #27

* comply with the formatting applied by #1078

* use cmake to build the postgresql cartridge

* update the release tag

* update release label

* COPY the recipes instead of cloning the git repo

* update main build to 2016.9.4

* update rdkit version

* get boost builds working with py36

* rdkit build for windows and py36

* linux and mac update

* psql update

* make pandas and pillow dependencies explicit

* bump release

* - enable rdkit, rdkit-postgresql95 and rdkit-postgresql conda builds on all platforms

* - added missing bld.bat files

* - added recipes for Windows PostgreSQL recipes

* - added patch to build postgresql <=9.5.2 with VS2015

* switch which version is being built

* Update which code is built

* Update which code is built

* add cheto build

* switch to master and the rdkit repo

* update which boost libraries are built

* update boost dependency to 1.61 for unix

* switch cheto to no-arch

* switch to allowing versions of numpy greater than 1.11 instead of requiring a particular version

* add a docker setup to do linux builds of the RDKit code

* this works on the mac, but needs more testing

* works on linux, and the mac

* switch back to Release branch

* remove runtime conda deps

* remove python 3.4 support

* update rdkit-postgresql95 build

* Updates conda version to conda 3.0 compatible version

* builds on the mac

* stop requiring a particular conda version
stop building the c++ tests

* add freesasa to linux/mac builds

* switch to requiring numpy 1.12 at build and >= 1.12 at runtime

* update

* try restricting this to psql9.5

* get postgresql95 build updated and working
remove python dependency
switch to 9.5.10

* get rdkit-postgresql95 build updated and working

* switch boost download location for unix

* oops

* backup

* another unsuccessful attempt at a mac build

* legacy cmake argument removed

* start using conda-build 3 syntax

* update cairo

* update to reflect new layout

* Switch to the production branch.

* remove un-necessary dependencies

* rename cairo_nox back to cairo, update the rdkit meta.yaml to reflect that

* do not activate the root environment... <sigh>

* remove 'source activate root' from cairo_nox recipe

* update the rdkit-postgresql recipe for release 2018.03 (#65)

* initial round of updates targeting rdkit 2018.03.1

* build multiple variants of the cartridge for different versions of postgres

* build the cartridge using static linking

* remove the obsolete patch files

* speed up build (#67)

* remove the now obsolete rdkit-postgresql95 recipe (#68)

Yeah, this one’s easy. Thanks!

* try to force cairo_nox on linux builds

* force a  pandas version on build

* allow pandas <=0.22

* windows builds should not be so huge
Latest commit 92017d1 Jun 8, 2018


Conda recipes for the RDKit

This repository provides the recipes for building binary RDKit packages to be used with the Anaconda Python distribution or other conda environments.


Conda is an open-source, cross-platform, software package manager. It supports the packaging and distribution of software components, and manages their installation inside isolated execution environments. It has several analogies with pip and virtualenv, but it is designed to be more "python-agnostic" and more suitable for the distribution of binary packages and their dependencies.

How to get conda

The easiest way to get Conda is having it installed as part of the Anaconda Python distribution. A possible (but a bit more complex to use) alternative is provided with the smaller and more self-contained Miniconda. The conda source code repository is available on github and additional documentation is provided by the project website.

How to build the packages

Software and system requirements

A recent version of conda must be installed and included in the user's PATH. If not already included by the available anaconda/miniconda installation, the 'conda build' subcommand must also be installed:

$ conda install conda-build

The recipes provided with this repository perform the automated download and management of the Avalon and InChI source code distributions as part of the RDKit build process, and most of the other 3rd party dependencies are readily available from the Anaconda Python distribution. Compared to the usual RDKit build procedure, the setup and configuration part is therefore strongly simplified, but depending on the operating system a few additional components may be required:


If not already installed as a dependency of the conda-build package, the patchelf utility mush be also present. It can be available with the operating system or it may be installed inside the conda root environment with the following command:

$ conda install patchelf


The recipes assume the availability of the Microsoft Visual C++ 2010 commmand-line toolchain. The freely available Express edition should provide all the necessary.

The cmake build utility should be also installed.

A git client is optionally required for building the version of the recipes which is available from the development branch.

Building the packages

The latest stable version of these recipes (building the most recent RDKit release) may be downloaded from the following link. Alternatively, users may directly clone this repository from github:

$ git clone

Recipes for building the current development version of the RDKit are available from the development branch of the same repository.

All commands in the described build procedure are assumed to run in a shell or windows command prompt already configured to make available conda and the compiler toolchain that may be needed for the specific platform. Moreover, the working directory for the build commands described in this section is assumed to correspond with the top level directory of the recipes distribution (where this README file is located).

The build process doesn't require activating and configuring a dedicated python environment. The build commands may run within the root environment and conda will take care of automating all of the process, starting from downloading the source code and proceeding to unpacking it into a suitable working directory, creating the necessary build and test environments with the required dependencies, compiling, testing and finally storing the resulting binary packages into a local directory.

If all of the necessary conditions are satisfied, building the RDKit may then reduce to running the following two commands:

$ conda build boost
$ conda build rdkit

For the linux platform an additional recipe is available, supporting the build of the postgresql cartridge:

$ conda build rdkit-postgresql

Conda will store the produced packages into a local repository/channel, by default placed inside the anaconda installation (e.g. on a linux 64 bits system the packages would be found by default under ~/anaconda/conda-bld/linux-64).

Installing and using the packages

Creating a new conda environment with the RDKit installed using these packages requires one single command similar to the following:

$ conda create -c <channel-url> -n my-rdkit-env rdkit

where '<channel-url>' is to be replaced with the URL of the package repository where the packages have been placed for distribution.

If the packages have been built locally and are still available inside the user's conda build directories, then specifying the '--use-local' option should be sufficient and configuring a distribution channel is not necessary:

$ conda create --use-local -n my-rdkit-env rdkit

A new environment will be created including the required dependencies:

Fetching package metadata: ...
Solving package specifications: .
Package plan for installation in environment /home/ric/anaconda/envs/my-rdkit-env:

The following packages will be linked:

    package                    |            build
    boost-1.55.0               |           py27_1   hard-link
    bzip2-1.0.6                |                0   hard-link
    numpy-1.8.1                |           py27_0   hard-link
    openssl-1.0.1g             |                0   hard-link
    python-2.7.6               |                1   hard-link
    rdkit-2014.03.1pre         |       np18py27_1   hard-link
    readline-6.2               |                2   hard-link
    sqlite-3.7.13              |                0   hard-link
    system-5.8                 |                1   hard-link
    tk-8.5.15                  |                0   hard-link
    zlib-1.2.7                 |                0   hard-link

Proceed ([y]/n)? y

Finally, the new environment must be activated, so that the corresponding python interpreter becomes available in the same shell:

$ source activate my-rdkit-env

Windows users will use a slightly different command:

C:\> activate my-rdkit-env