  We present the Python package CELL, which provides a modular approach to the
cluster expansion (CE) method. CELL can treat a wide variety of substitutional
systems, including one-, two-, and three-dimensional alloys, in a general
multi-component and multi-sublattice framework. It is capable of dealing with
complex materials comprising several atoms in their parent lattice. CELL uses
state-of-the-art techniques for the construction of training data sets, model
selection, and finite-temperature simulations. The user interface consists of
well-documented Python classes and modules
(http://sol.physik.hu-berlin.de/cell/). CELL also provides visualization
utilities and can be interfaced with virtually any ab initio package,
total-energy codes based on interatomic potentials, and more. The usage and
capabilities of CELL are illustrated by a number of examples, comprising a
Cu-Pt surface alloy with oxygen adsorption, featuring two coupled binary
sublattices, and the thermodynamic analysis of its order-disorder transition;
the demixing transition and lattice-constant bowing of the Si-Ge alloy; and an
iterative CE approach for a complex clathrate compound with a parent lattice
consisting of 54 atoms.
