  We present the Grackle chemistry and cooling library for astrophysical
simulations and models. Grackle provides a treatment of non-equilibrium
primordial chemistry and cooling for H, D, and He species, including H2
formation on dust grains; tabulated primordial and metal cooling; multiple UV
background models; and support for radiation transfer and arbitrary heat
sources. The library has an easily implementable interface for simulation codes
written in C, C++, and Fortran as well as a Python interface with added
convenience functions for semi-analytical models. As an open-source project,
Grackle provides a community resource for accessing and disseminating
astrochemical data and numerical methods. We present the full details of the
core functionality, the simulation and Python interfaces, testing
infrastructure, performance, and range of applicability. Grackle is a fully
open-source project and new contributions are welcome.
