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 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:
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)