Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time
September 19, 2018 16:20
December 18, 2020 13:54
November 11, 2021 09:23
February 17, 2020 14:42
June 21, 2018 11:15
November 23, 2020 12:58
December 18, 2020 13:54
October 2, 2019 16:30

Continuous Integration codecov Language grade: Python PyPI version

Basis Set Exchange Website

If you are looking for the Basis Set Exchange website (which can be used to browse and download this data in a more user-friendly way), visit


This project is a library containing basis sets for use in quantum chemistry calculations. In addition, this library has functionality for manipulation of basis set data.

The goal of this project is to create a consistent, thoroughly curated database of basis sets, and to provide a standard nomenclature for quantum chemistry.

The data contained within this library is being thoroughly evaluated and checked against relevant literature, software implementations, and other databases when available. The original data from the PNNL Basis Set Exchange is also available.

This library is used to form the backend of the new Basis Set Exchange website.

This project is a collaboration between the Molecular Sciences Software Institute ( and the Environmental Molecular Sciences Laboratory (


When publishing results obtained from use of the Basis Set Exchange software, please cite:

  • A New Basis Set Exchange: An Open, Up-to-date Resource for the Molecular Sciences Community Benjamin P. Pritchard, Doaa Altarawy, Brett Didier, Tara D. Gibson, and Theresa L. Windus J. Chem. Inf. Model. 2019, 59(11), 4814-4820 doi:10.1021/acs.jcim.9b00725

For citing the previous EMSL/PNNL Basis Set Exchange, please cite the following references:

  • The Role of Databases in Support of Computational Chemistry Calculations, Feller, D., J. Comp. Chem. 1996, 17(13), 1571-1586, doi:10.1002/(SICI)1096-987X(199610)17:13<1571::AID-JCC9>3.0.CO;2-P
  • Basis Set Exchange: A Community Database for Computational Sciences Schuchardt, K.L., Didier, B.T., Elsethagen, T., Sun, L., Gurumoorthi, V., Chase, J., Li, J., and Windus, T.L. J. Chem. Inf. Model. 2007, 47(3), 1045-1052, doi:10.1021/ci600510j


Full user and developer documentation can be found at

An overview of the project and its design is also available at

Command line interface

This library also includes a command line interface. See for how to use it.


This project can be installed via pip/PyPI.

pip install basis_set_exchange

If checking out from github, you can do a local install of the Python directory,

pip install -e .


Tests can be run using py.test -v once installed. Thorough (but very long) tests can be run with py.test --runslow.


import basis_set_exchange as bse

# Obtain the STO-3G basis set in nwchem format (as a string) for hydrogen and carbon
bse.get_basis('STO-3G', elements=[1,6], fmt='nwchem')

# Obtain the references for the above
bse.get_references('STO-3G', elements=[1,6], fmt='txt')

For more documentation, see

Command line

Same as above, but using the command line

$ bse get-basis sto-3g nwchem --elements=1,6

$ bse get-refs sto-3g txt --elements=1,6


This project is released under the BSD 3-Clause license. See LICENSE for details.