View on GitHub


Jupyter notebooks demonstrating the utilization of open-source codes for the study of materials science.


This Materials Virtual Lab repository contains Jupyter notebooks that demonstrate the utilization of open-source codes for the study of materials science.

We frequently get requests (from students, postdocs, collaborators, or just general users) for example codes that demonstrate various capabilities in the open-source software we maintain and contribute to, such as the Materials Project software stack comprising Python Materials Genomics (pymatgen), Custodian, and Fireworks. This repo is a start at building a more sustainable path towards sharing of code examples.

It is not limited to the codes we develop - any use of open source software for materials analysis is welcome. Also, anyone is welcome to contribute.

Just fork, write your awesome notebook and submit a pull request.

A few ground rules

  1. Notebooks should be well-documented and simple. The idea here is to be pedagogical. A newcomer to the software (with the right materials science background) should be able to follow the logic without too much difficulty.

  2. Notebooks should be placed in the appropriate year folder, and the name should start with the date of the notebook in YYYYMMDD format. See existing examples.

  3. Feel free to add authorship and contact information, as well as works to cite and acknowledge your contributions.


The following is a complete listing of available notebooks, with the latest notebooks first. We will implement a search functionality in future when it becomes unwieldly to navigate. For now, you can simply use the Find function on your browser to search the titles quickly for keywords, e.g., “diffusion” or “wulff”.