PyQInt: a Python package for evaluating Gaussian integrals and performing electronic structure calculations
PyQInt is a Python-based, teaching-oriented implementation of the Hartree-Fock method, designed to make the inner workings of electronic structure theory accessible and transparent. It provides a clear, readable interface to fundamental components such as molecular integrals over Gaussian basis functions, SCF procedures (with DIIS acceleration), orbital localization, and geometry optimization.
What sets PyQInt apart is its educational design philosophy: all matrices, intermediate results, and algorithmic steps are exposed—allowing students, educators, and developers to inspect, understand, and experiment with every part of the computation. Whether you are learning how Hartree-Fock works, developing your own extensions, or teaching a course in computational chemistry, PyQInt offers a hands-on, exploratory platform.
Tip
For students interested in the theoretical foundations and algorithmic implementation of Hartree–Fock, we recommend the open-access textbook Elements of Electronic Structure Theory.
PyQInt offers supporting scripts for facile visualization of result such as producing contour plots for the molecular orbitals. Below, an example is shown for the molecular orbitals of the CO molecule.

Canonical molecular orbitals of CO visualized using contour plots.
PyQInt not only supports calculation of the canonical molecular orbitals via the (restricted) Hartee-Fock procedure, but can also be used to construct the localized molecular orbitals which is relevant for showing the similarity between modern electronic structure methods and classical Lewis theory. In the image below, one can observe the canonical molecular orbitals for the CO molecule as well as the localized molecular orbitals.

Canonical molecular orbitals of CO visualized using isosurfaces with an isovalue of +/-0.03.

Localized molecular orbitals of CO visualized using isosurfaces with an isovalue of +/-0.03. Note that the localization procedure has only been applied to the occupied molecular orbitals. Observe that the localized orbitals contain a triple-degenerate state corresponding to the triple bond and two lone pairs for C and O.
PyQInt has been developed at the Eindhoven University of Technology, Netherlands. PyQInt and its development are hosted on github. Bugs and feature requests are ideally submitted via the github issue tracker.
Contents: