A Python-based electronic-structure package centered on coupled cluster, built on a
shared Wavefunction base that also hosts Hartree-Fock, MP2, and CI. Current capabilities
include:
- RHF-/UHF-/ROHF-based CCD, CC2, CCSD, CCSD(T), and CC3 energies, via either a spin-adapted (closed-shell RHF) or a spin-orbital formalism; the latter enables the open-shell (UHF/ROHF) correlated methods
- Triples drivers for various approximate triples methods
- One- and two-electron (reduced) density matrices for CC2 and CCSD (with CC3 and (T) contributions), and CC one-electron properties (e.g. dipole moments)
- RHF-EOM-CCSD excitation energies
- Linear response functions (dynamic polarizability, optical rotation) for both the spin-adapted (closed-shell) and spin-orbital references
- Real-time (RT) CC2, CCSD, and CC3 with a selection of integrators
- Local (PAO, PNO, PNO++) CCSD energies, and local RT-CC
- MP2 (
MPwfn) and CISD/CID (CIwfn) energies (closed- and open-shell) - Analytic MO-basis derivative properties for Hartree-Fock (
HFwfn) and MP2 (MPwfn): energy gradient, static dipole polarizability, nuclear Hessian (force-constant matrix), atomic polar tensors (APTs / dipole derivatives, in both the length and velocity gauge), and atomic axial tensors (AATs) -- the building blocks for IR and VCD spectra. Both spin paths (spin-adapted closed-shell RHF and spin-orbital), all-electron and frozen-core; the MP2 second derivatives come via two independent routes (explicit-derivative and 2n+1) - A uniform property interface --
pycc.dipole,pycc.gradient,pycc.polarizability,pycc.hessian,pycc.apt,pycc.aat-- that dispatches on wavefunction type and returns each property's nuclear/reference/correlation decomposition as aPropertyComponentsdataclass (.total,.nuclear,.reference,.correlation,.electronic) - GPU implementations for multiple methods
- Single- and mixed-precision arithmetic
Future plans:
- Quadratic response functions (in development)
- CC2 and CC3 excited states
- Analytic CC gradients
This repository is currently under development. To do a developmental install, download this repository and type pip install -e . in the repository directory.
This package requires the following:
Optional packages:
The docs/ directory holds the Sphinx documentation — a
getting-started guide with runnable examples and an
API reference. GitHub renders these .rst files in the browser; to
build the full HTML site locally, install Sphinx (and the Read the Docs theme) and run
make html from docs/.
T. Daniel Crawford, Benjamin G. Peyton, Zhe Wang, Jose Madriaga, Aparna Krishnan
Copyright (c) 2026, T. Daniel Crawford
Project structure based on the MolSSI's Computational Molecular Science Python Cookiecutter Version 1.5.