EPWpy: A High-Level Python Interface for Electron–Phonon Calculations#
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:
This Binder environment includes:
a precompiled Quantum ESPRESSO + EPW build
example notebooks
the transport.ipynb demonstration notebook
ready-to-run workflows using EPWpy
Project Links#
Source Code: epwpy/epwpy
Binder Demo: https://mybinder.org/v2/gl/epwpy/epwpy_binder_image/main
Issues / Bug Reports: epwpy/epwpy/issues
EPW Documentation: https://epw-code.org
Quantum ESPRESSO: https://quantum-espresso.org
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)