pyMelt
An extensible python library for modelling melting of lithologically heterogeneous mantle, allowing magma temperatures, productivity, and trace element compositions to be calculated.
PyMelt can be used as a forward model to calculate indicative melt fraction vs pressure relationships during adiabatic decompression melting, as well as trace element concentrations in primary melts. It can also be used in inversions for mantle properties, including mantle potential temperatures.

See the pyMelt documentation for more information. Note that I am developing a new version for which I can provide access to a prototype. The new version has improved methods for calculating melt compositions. Contact me for more information.