  PySCF is a general-purpose electronic structure platform designed from the
ground up to emphasize code simplicity, both to aid new method development, as
well as for flexibility in computational workflow. The package provides a wide
range of tools to support simulations of finite size systems, extended systems
with periodic boundary conditions, low dimensional periodic systems, and custom
Hamiltonians, using mean-field and post-mean-field methods with standard
Gaussian basis functions. To ensure easy of extensibility, PySCF uses the
Python language to implement almost all its features, while computationally
critical paths are implemented with heavily optimized C routines. Using this
combined Python/C implementation, the package is as efficient as the best
existing C or Fortran based quantum chemistry programs. In this paper we
document the capabilities and design philosophy of the current version of the
PySCF package.
