  We present Genarris, a Python package that performs configuration space
screening for molecular crystals of rigid molecules by random sampling with
physical constraints. For fast energy evaluations Genarris employs a Harris
approximation, whereby the total density of a molecular crystal is constructed
via superposition of single molecule densities. Dispersion-inclusive density
functional theory (DFT) is then used for the Harris density without performing
a self-consistency cycle. Genarris uses machine learning for clustering, based
on a relative coordinate descriptor (RCD) developed specifically for molecular
crystals, which is shown to be robust in identifying packing motif similarity.
In addition to random structure generation, Genarris offers three workflows
based on different sequences of successive clustering and selection steps: the
"Rigorous" workflow is an exhaustive exploration of the potential energy
landscape, the "Energy" workflow produces a set of low energy structures, and
the "Diverse" workflow produces a maximally diverse set of structures. The
latter is recommended for generating initial populations for genetic
algorithms. Here, the implementation of Genarris is reported and its
application is demonstrated for three test cases.
