The Python-based Simulations of Chemistry Framework

PySCF is an open-source collection of electronic structure modules powered by Python. The package aims to provide a simple, lightweight, and efficient platform for quantum chemistry calculations and methodology development.

currently v.1.7.1

Get Started

Recent news

Apr 15, 2019. This year, PySCF will celebrate the 5th anniversary of its first commit. In this short period, PySCF has changed from being a single-group code to one relied on daily by over 100 research teams in academia and industry across the world. The PySCF paper was one of the 10 most downloaded articles in WIREs Computational Molecular Science in 2018!

Today we are excited to announce a new model for managing the future development and directions of the code. This responsibility will now fall to the PySCF board of directors. The initial board members will be:

The aims of the board will be to:

  1. maintain the continued high quality of the existing codebase
  2. assess proposals for new features and pull requests
  3. coordinate development and education across the community
  4. ensure adequate funding for these efforts

Stay tuned for more updates soon on our new activities!

Why PySCF?

Easy to install

PySCF can be installed via pip, conda, or cloned from the GitHub repository.

$ pip install pyscf
$ conda install pyscf
$ git clone
Get started with the Quickstart guide

Open source

PySCF is open source and distributed under the Apache License v2.0. Contributions are welcome through pull requests on the GitHub repository.

Python first

PySCF is written mostly in Python, which makes it easy to use, read, and modify. Only computationally critical tasks are implemented in heavily optimized C routines.


PySCF can be readily interfaced with other packages, including the DMRG codes Block and CheMPS2, the heat-bath selected CI code Dice, the FCIQMC code NECI, the DFT libraries Libxc and XCFun, the tensor contraction library TBLIS, and the geometry optimizers Berny and geomeTRIC.

Fast and scalable

PySCF supports multi-threading through numpy's BLAS and LAPACK libraries and supports distributed parallelism through the mpi4pyscf package. With mpi4pyscf, a canonical HF calculation with 30,000 AOs on 2,000 cores can be performed in less than two hours.

Learn more about mpi4pyscf


PySCF can perform calculations using Hartree-Fock, DFT, perturbation theory, configuration interaction (including full CI), coupled-cluster theory, MCSCF, and NEVPT2. Other available features include density-fitting and support for periodic calculations with Brillouin zone sampling.

Read the docs to find out more

Recent papers using PySCF can be found on Google Scholar.