Skip to main content

Heavy weight plotting tools for ab initio calculations

Project description Documentation Status

Sumo is a Python toolkit for plotting and analysis of ab initio calculation data. The main features include:

  1. An extensive framework for generating high-symmetry k-point paths.
  2. Plotting scripts for electronic and phonon band structures, density of states, and optical absorption diagrams.
  3. Analysis scripts to calculate parabolic and non-parabolic band effective masses.

The code currently only supports VASP calculations, however, we plan to add support for additional codes in future releases.

Sumo is free to use, however, we ask that you cite the code if you use it in your research.

Warning: There are probably still some bugs. If you think you’ve found one, please report it on the Issue Tracker. We welcome your help in improving and extending the package with your own contributions.


Sumo is intended to be used via the command-line, however, a fully-documented python API is also provided. A manual, including tutorials and API documentation, is available online. Additionally, the built-in help (-h) option for each command provides a summary of the available options.

Currently, the scripts provided by sumo are:

  • sumo-kgen: For generating VASP KPOINTS files along high-symmetry k-point paths.
  • sumo-bandplot: For plotting publication-ready electronic band structure diagrams.
  • sumo-dosplot: For plotting publication-ready electronic density of states diagrams.
  • sumo-optplot: For plotting publication-ready optical absorption diagrams.
  • sumo-phonon-bandplot: For plotting publication-ready phonon band structure diagrams.
  • sumo-bandstats: For calculating electron and hole effective masses from a band structure.

A guide to using each command can be found on the Tutorial page.

For a preview of the functionality of sumo, see the Gallery.


We recommend installation from source with Pip, this will automatically install any dependencies:

pip3 install --user sumo

To build the documentation, download the package source and install with extra dependecies:

pip3 install --user .[docs]
cd docs
make html

Developer installation

Developers may prefer to install using pip3 install --user -e . which creates an “editable” local installation. Instead of copying files, this creates links to the source folder so that that tweaks to the code in your source folder will be immediately reflected on the PATH.


To ensure the code has been installed correctly, the unittests can be run (from the root directory of the project) using:

python -m unittest discover tests


Sumo is currently compatible with Python 3.5+ and relies on a number of open-source python packages, specifically:

Sumo uses Pip and setuptools for installation. You probably already have this; if not, your GNU/Linux package manager will be able to oblige with a package named something like python-setuptools. On Max OSX the Python distributed with Homebrew. includes setuptools and Pip.


Sumo is made available under the MIT License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sumo, version 1.0.6
Filename, size File type Python version Upload date Hashes
Filename, size sumo-1.0.6-py2.py3-none-any.whl (77.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sumo-1.0.6.tar.gz (55.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page