The group writes and maintains a number of software programs for research purposes, including structural analysis, processing experimental results (e.g. diffraction) and data-driven materials discovery. Publically-available code is hosted on the University of Edinburgh GitLab server or GitHub (mostly for teaching materials). Specific packages are linked directly below.


PIEFACE icon - cartoon image of a pie with a facePolyhedron Inscribing Ellipsoids for Analysing Coordination Environments (PIEFACE) is a Python package for fitting minimum-bounding ellipsoids to atomic coordination environments, as a way to summarise polyhedral distortions. The package can also be installed with a self-contained windows installer. In addition to ellipsoid-fitting tools, the package contains functions for visualising results, exporting values and processing multiple CIF files at once (in parallel).

More Information

If you use PIEFACE, please cite the following publication:

J. Cumby and J.P. Attfield, Ellipsoidal Analysis of Coordination Polyhedra, Nature Communications, 8, 2017, 14235. DOI: 10.1038/ncomms14235


Grouped Representation of Interatomic Distances (GRID) is a method to represent extended materials (both disordered and crystalline) in a way suitable for machine learning based on histograms of interatomic distances. Calculation of GRIDs and some example machine learning models using them are implemented in the gridrdf python package, available through PyPI or on GitHub.

If you find GRID useful for your own research, please consider citing the original publication:


Rui-Zhi Zhang, Sohan Seth and James Cumby, Digital Discovery, 2023, 2, 81-90.