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 Automate SCF, NSCF, Wannierization, electron–phonon calculations, and many-body physical observable calculations (e.g., optical absorption and trnasport coefficients).

  • 📦 Integrated Quantum ESPRESSO Build System Automatically builds QE + EPW through setuptools (no manual compilation needed).

  • 📈 Interactive Analysis Tools Built-in post-processing utilities for interpolated bandstructures, phonons, linewidths, mobility calculations, and more.

  • 🚀 Cloud-Ready Works on Binder, HPC clusters, Google Colab, and local development environments.

  • 🧩 Extensible Clean Python API for building reproducible workflows and custom analysis modules.

  • 🔥 Full Data Provenance Tracking EPWpy maintains complete, 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)