Python 3 and the CSD

The introduction of the CSD Python API in 2015 has been transformative in structural science research both within the CCDC and across our user community. 

This Python interface, providing programmatic access to both CSD data and CSD functionality, has democratised the use of the validated, curated information and methods, allowing scientists to build their own tailored workflows and applications as well as integrate more easily with other software packages. Just in the last year we've seen the CSD Python API enable research into the structure and properties of indomethacin co-crystalsevaluation of force-field calculations on lattice energies and the development of new accurate geometrical restraints for Watson-Crick base pairs. The CSD Python API is now making its latest advance by moving over as standard to Python 3 after initially starting to provide optional Python 3 packages early in 2019.

The CCDC's next major software release, planned for early December 2019, will incorporate Python 3 by default, with the miniconda version of the CSD Python API bundled within the 2020.0 CSD Release running on Python 3.7. This means that the CSD Python API will be Python 3 enabled straight away at the point of installation and easy to integrate with other key scientific Python packages like TensorFlowscikit-learnmatplotlibpandas and RDKit.

For those that need compatibility with specific, different versions of Python, we will also be making pip and conda packages available for installation into your own customised Python environment on Python 2.7 and Python 3.7. All versions of the CSD Python API will be available on Windows, Linux or macOS, just like the rest of the CSD software portfolio. 

various types of structural reporting and analysis enabled by the CSD Python API

An overview illustrating various types of structural reporting and analysis enabled by the CSD Python API 

We hope that you continue to find the CSD Python API a useful and powerful platform for research, tailored workflows and integrations. If you're not already familiar with the CSD Python API, why not take a look at the CSD Python API product page, the CSD Python API documentation, or the dedicated CSD Python API user forum to find out more?