List of roles for psi4.core.Molecule.set_basis* arguments

When setting the basis set directly on Molecule objects from Python, it looks like most of the methods take at least a second argument. I’ll just pick set_basis_all_atoms as the example. I tracked this down to driver/p4util/python_helpers.py/basis_helper and driver/qcdb/libmintsmolecule.py, and it corresponds to role. Some more poking around, and it looks like these are keys into maps for basis set types (orbital, jkfit, etc.).

Is there a definitive list of these somewhere?

Basically here, though only JKFIT, RIFIT, and DECON are actively used. Those lines defined the “fitting set of last resort” for quad-zeta and smaller orbital basis sets (b/c those bases are defined across the periodic table). The fitting bases of first resort are defined in here and here or just tabulated ehre.