The Computational Crystallography Initiative has released the Computational Crystallography Toolbox (cctbx) version 1.0: http://cctbx.sourceforge.net/ The cctbx is a reusable scientific software library for - the development of crystallographic structure determination programs. - the integration of existing crystallographic programs through helper scripts. - hands-on teaching crystallographic concepts. The cctbx is designed with an open and flexible architecture to promote extendability and easy incorporation into other software environments. The package is organized as a set of ISO C++ classes with Python (http://www.python.org/) bindings. This organization combines the computational efficiency of a strongly typed compiled language with the convenience and flexibility of a dynamically typed scripting language in a strikingly uniform and very maintainable way. Most notable differences to cctbx release 0_9_9: More examples: http://cci.lbl.gov/servers/ fast-track build system further simplified: - Automatic adjustment to the Python version that is used to invoke the fast_track.py script. - The Boost.Python library is built inside the cctbx build tree (but the distributions are still cleanly separated). Only one namespace: cctbx All classes and sub-namespaces are now in the namespace cctbx. Same classes renamed. Most notably, SgOps is now SpaceGroup. New toolboxes: ADP (anisotropic displacement parameters) Toolbox Fast Fourier Transform toolbox Structure Factor Toolbox New sgtbx classes (among others): cctbx::sgtbx::Brick Parallelepiped that contains an asymmetric unit and is optimized for memory allocation. cctbx::Miller::AsymIndex Support for tabulated contiguous asymmetric units (thanks to Kevin Cowtan) in addition to the sorting based selection of symmetry-unique indices. This replaces the old MasterIndex class. cctbx::sgtbx::MillerIndexGenerator Fast and convenient generation of Miller indices with very small memory usage (based on tabulated contiguous asymmetric units). cctbx::Miller::IndexTableLayoutAdaptor Support for common layouts of tables of asymmetric Miller indices (AnomalousLayout, HermitianLayout, FplusFminusLayout). cctbx::sgtbx::StructureSeminvariant Structure seminvariant (s.s.) vectors and moduli are a description of "permissible" or "allowed" origin shifts. cctbx::sgtbx::SiteSymmetry Robust algorithm for the determination of site-symmetries of sites on special positions. cctbx::sgtbx::WyckoffTable This class represents the information for all Wyckoff positions for a given space group. Default constructors for all classes. This enables universal use of the cctbx classes in try-catch constructs such as: some_class some_object; try { some_object = some_class(arguments); } catch { // set some_object to some other value // or throw another exception } // use some_object It is a disadvantage the some default constructed objects may now be used even though their state is meaningless (similar to using an int that was declared but not defined). A mechanism that could prevent this without a runtime penalty is unfortunately not known to me (rwgk).