The Computational Crystallography Toolbox (cctbx) is an open-source library of reusable software components for macromolecular structure determination (Grosse-Kunstleve et al., 2002. The cctbx components are written both in C++ (a compiled language) and Python (a flexible scripting language. This approach is very efficient because high-level algorithms (such as refinement protocols) can be rapidly developed in Python, while computationally intensive algorithms can be implemented in C++. The Boost.Python Library is used to expose the C++ interfaces, classes and functions to Python (Abrahams & Grosse-Kunstleve, 2003).
The cctbx is released under an Open Source license to allow unrestricted use and continued development
The cctbx has many modules that are specifically developped for applications in structural biology: crystallography and cryo-EM. For example, the cctbx contains algorithms for the handling of unit cells, space groups and atomic scatterers.
The cctbx can used to develop new algorithms for structural biology. It also allows easy scripting of basic tasks.