IOData: A python library for reading, writing, and converting computational chemistry file formats and generating input files

T. Verstraelen, W. Adams, L. Pujal, A. Teherani, B. D. Kelly, L. Macaya, F. Meng, M. Richer, R. Hernández-Esparza, X. D. Yang, M. Chan, T. D. Kim, M. Coouls-Ceuppens, V. Chuiko, E. Vohringer-Martinez, P. W. Ayers, F. Heidar-Zadeh
Journal of Computational Chemistry
45, 6, 458--464


IOData is a free and open‐source Python library for parsing, storing, and converting various file formats commonly used by quantum chemistry, molecular dynamics, and plane‐wave density‐functional‐theory software programs. In addition, IOData supports a flexible framework for generating input files for various software packages. While designed and released for stand‐alone use, its original purpose was to facilitate the interoperability of various modules in the HORTON and ChemTools software packages with external (third‐party) molecular quantum chemistry and solid‐state density‐functional‐theory packages. IOData is designed to be easy to use, maintain, and extend; this is why we wrote IOData in Python and adopted many principles of modern software development, including comprehensive documentation, extensive testing, continuous integration/delivery protocols, and package management. This article is the official release note of the IOData library.