What is XenonPy project

Join the chat at https://gitter.im/yoshida-lab/XenonPy Build Status

XenonPy is a high-throughput material exploration framework written in Python. This framework is designed for researchers but also can be used in industry. By employ the cutting edge machine learning technologies, we wish to bring the traditional material design a strong acceleration.

Why this name

XenonPy named from element Xenon. We did a Graphical Lasso calculation with our build-in elemental descriptors to find the relationship between elements. Xenon got the lowest score when using Bonacich’s centrality calculation, that means Xenon is the most isolated element. This is very interesting because the name Xenon from the Greek word ξένος [xenos] also meaning ‘foreign(er)’, ‘strange(r)’, or ‘guest’!

Maybe it’s just a coincidence but the result showed the potential of using ML in material design. We all love this story, so we named our package XenonPy /ˈziːnɒnˈpaɪ/.

Graphical Lasso


The main purpose of this project is to build a complex system to generate various chem/phys descriptors for machine learning and use the results to explore material in virtual environment. To reach this target, XenonPy planed to provide a lot of modules for:

  • Data saving and retrieving.
  • Descriptor generating.
  • Pre-trained model reusing. such like transfer learning.
  • Backward prediction.

The final goal of this project is to build a All-In-One virtual environment for material development come withe:

  • Massive daataset and Pre-trained models out-of-box
  • Various methods for descriptor generating and model training
  • Combined with deep learning methods seamless
  • Visualization tools for analysis and publish ready

XenonPy built on top of pandas and PyTorch in order to make various downstream machine learning libraries and high-performance NN training. By use XenonPy(v0.1.0b) you can:

  • Save and retriever your data in a very simple way by using Dataset and Loader.
  • Turn a compound’s composition into arrays of numbers representing things such as variance, max, min etc.
  • Calculate pair distribution from compound’s structure(pymatget.core.Structure).
  • Draw descriptor heatmap.
  • Simple NN model training

Heatmap of 290 compositional descriptors of 69,640 compounds in Materials Project(upper: volume Å3, lower: density g/cm3 ).


Prediction with NN. 290 compositional descriptors of 69,640 compounds was used for traine and test.

XenonPy is a open source project inspired by matminer. This project has just started and a long way to run. We have our plan but very pleased to hear your feedback to make it even better.

Code contributions are also welcomed. See Contribution guidelines for details.

Indices and tables