EPWpy: A High-Level Python Interface for Electron–Phonon Calculations#

EPWpy Logo

EPWpy is a lightweight Python framework that simplifies running electron–phonon, transport, and spectral simulations powered by Quantum ESPRESSO + EPW. It provides a high-level, user-friendly interface to automate workflows, manage inputs, generate efficient computational pipelines, and analyze results. All without requiring complex shell scripting.

Whether you are a researcher building high-throughput pipelines or a student exploring electron–phonon interactions for the first time, EPWpy makes the workflow intuitive, reproducible, and portable.

Key Capabilities#

  • Seamless EPW workflow automation

    Automates SCF, NSCF, Wannierization, electron--phonon calculations, and many-body observable calculations, including optical absorption and transport coefficients.

  • Integrated Quantum ESPRESSO build system

    Builds Quantum ESPRESSO and EPW through setuptools, reducing the need for manual compilation.

  • Interactive analysis tools

    Provides built-in post-processing utilities for interpolated band structures, phonon dispersions, linewidths, mobility calculations, and related quantities.

  • Cloud-ready execution

    Supports workflows on Binder, HPC clusters, Google Colab, and local development environments.

  • Extensible Python interface

    Provides a clean Python API for building reproducible workflows and custom analysis modules.

  • Full data-provenance tracking

    Maintains reproducible provenance across complex workflows, including file hashes, inputs, outputs, configuration snapshots, and automated workflow DAGs.

Quick Start (Terminal)#

Install directly:

pip install epwpy-basic

To build Quantum ESPRESSO + EPW with EPWpy:

python setup.py install --withQE True --cores 8 --config "with-scalapack=no"

This automatically downloads, configures, and compiles a compatible Quantum ESPRESSO + EPW stack inside your environment.

Launch the Online Demo#

Try EPWpy instantly in your browser — no installation required:

Launch EPWpy Binder

This Binder environment includes:

  • a precompiled Quantum ESPRESSO + EPW build

  • example notebooks

  • the transport.ipynb demonstration notebook

  • ready-to-run workflows using EPWpy

Citing This Project#

If you use EPWpy in your research, please cite the project:

The most recent reference technical manuscript is: S. Tiwari, B. Cucco, M. Zacharias, J-L. Bartolome, S. Mishra, W. Yang, V-A. Ha, S. Ponce, E. Kioupakis, R. Margine, and F. Giustino, Unpublished (2024)