CALPHAD tools for designing thermodynamic models, calculating phase diagrams and investigating phase equilibria.
Python Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ci BLD: Update script to use mkdir -p Nov 26, 2017
conda_recipe FIX: SymPy 1.2 compatibility (#180) Aug 17, 2018
examples DOC: Regenerate EquilibirumWithOrdering example Apr 19, 2018
pycalphad MAINT: Remove dead constraint calculation code (#182) Aug 18, 2018
.coveragerc TST: Exclude versioneer-generated file from coverage report Apr 17, 2015
.gitattributes Single-source version support with Versioneer Apr 9, 2015
.gitignore BLD: gitignore: Add *.h Dec 14, 2016
.travis.yml DOC: install ipython to build RST code blocks properly Nov 30, 2017
INSTALLING.rst DOC: Update installation docs to oneliner conda install Mar 3, 2018
LICENSE.txt DOC: Update license (gh-73) Apr 4, 2017 BLD: Fix path to recursive include of Cython files Aug 10, 2017
README.rst DOC: README: Bump dependencies Nov 26, 2017
RELEASING.rst DOC: Releasing: Update GPG signing step for PyPI [skip ci] May 12, 2017
appveyor.yml Species support (#161) Mar 18, 2018
setup.cfg FIX: SymPy 1.2 compatibility (#180) Aug 17, 2018 FIX: Updated strings using ".format()" (#115) Aug 3, 2017


pycalphad, a library for the CALculation of PHAse Diagrams

Join the chat at Test Coverage Windows Build Status Build Status Development Status Latest version Supported Python versions License

Note: Unsolicited pull requests are _happily_ accepted!

pycalphad is a free and open-source Python library for designing thermodynamic models, calculating phase diagrams and investigating phase equilibria within the CALPHAD method. It provides routines for reading Thermo-Calc TDB files and for solving the multi-component, multi-phase Gibbs energy minimization problem.

The purpose of this project is to provide any interested people the ability to tinker with and improve the nuts and bolts of CALPHAD modeling without having to be a computer scientist or expert programmer.

For assistance in setting up your Python environment and/or collaboration opportunities, please contact the author by e-mail or using the issue tracker on GitHub.

pycalphad is licensed under the MIT License. See LICENSE.txt for details.

Required Dependencies:

  • Python 2.7+ or 3.5+
  • matplotlib, numpy, scipy, sympy, xarray, pyparsing, tinydb, dask, cyipopt


See Installation Instructions.


Jupyter notebooks with examples are available on NBViewer and


See the documentation on

Getting Help

Questions about installing and using pycalphad can be addressed in the pycalphad Google Group. Technical issues and bugs should be reported on on GitHub. A public chat channel is available on Gitter.


If you use pycalphad in your research, please consider citing the following work:

Otis, R. & Liu, Z.-K., (2017). pycalphad: CALPHAD-based Computational Thermodynamics in Python. Journal of Open Research Software. 5(1), p.1. DOI:


Development has been made possible in part through NASA Space Technology Research Fellowship (NSTRF) grant NNX14AL43H, and is supervised by Prof. Zi-Kui Liu in the Department of Materials Science and Engineering at the Pennsylvania State University. We would also like to acknowledge technical assistance on array computations from Denis Lisov.