Johannes Steinmetzer, Daniel A. Smith, C. David Sherrill, Mark S. Gordon, Nuwan De Silva, Jamshed Anwar, Fang Liu, Henry F. Schaefer, Justin M. Turney, Lee-Ping Wang, Maximilian Scheurer, Annabelle Lolinco, Doaa Altarawy, Jiří Šponer, John D. Chodera, Carlos H. Borca, Rollin A. King, Asem Alenaizan, Jeffrey B. Schriber, David Dotson, Jonathon P. Misiewicz, Heather J. Kulik, Andrew C. Simmonett, Jeffrey R. Wagner, Sebastian J. R. Lee, Theresa L. Windus, Taylor A. Barnes, Peter Kraus, Matthew Welborn, Lori A. Burns, Logan Ward, Andreas Dreuw, Holger Kruse, Devin A. Matthews, Jiyoung Lee, Farhad Ramezanghorbani, Jan Hermann, Roberto Di Remigio, Levi N. Naden, Todd J. Martínez, Joshua T. Horton, John F. Stanton, Sebastian Ehlert, Colton B. Hicks, Adrian G. Hurtado, Zachary L. Glick, Alexander G. Heide, and Michael F. Herbst
Community efforts in the computational molecular sciences (CMS) are evolving toward modular, open, and interoperable interfaces that work with existing community codes to provide more functionality and composability than could be achieved with a single program. The Quantum Chemistry Common Driver and Databases (QCDB) project provides such capability through an application programming interface (API) that facilitates interoperability across multiple quantum chemistry software packages. In tandem with the Molecular Sciences Software Institute and their Quantum Chemistry Archive ecosystem, the unique functionalities of several CMS programs are integrated, including CFOUR, GAMESS, NWChem, OpenMM, Psi4, Qcore, TeraChem, and Turbomole, to provide common computational functions, i.e., energy, gradient, and Hessian computations as well as molecular properties such as atomic charges and vibrational frequency analysis. Both standard users and power users benefit from adopting these APIs as they lower the language barrier of input styles and enable a standard layout of variables and data. These designs allow end-to-end interoperable programming of complex computations and provide best practices options by default.