Skip to main content

Python Materials Genomics is a robust materials analysis code that defines core object representations for structures and molecules with support for many electronic structure codes. It is currently the core analysis code powering the Materials Project (https://materialsproject.org).

Project description

Logo

CI Status Coveralls PyPI Downloads Conda Downloads Requires Python 3.8+

Pymatgen (Python Materials Genomics) is a robust, open-source Python library for materials analysis. These are some of the main features:

  1. Highly flexible classes for the representation of Element, Site, Molecule and Structure objects.
  2. Extensive input/output support, including support for VASP, ABINIT, CIF, Gaussian, XYZ, and many other file formats.
  3. Powerful analysis tools, including generation of phase diagrams, Pourbaix diagrams, diffusion analyses, reactions, etc.
  4. Electronic structure analyses, such as density of states and band structure.
  5. Integration with the Materials Project REST API.

Pymatgen is free to use. However, we also welcome your help to improve this library by making your contributions. These contributions can be in the form of additional tools or modules you develop, or feature requests and bug reports. The following are resources for pymatgen:

Why use pymatgen?

  1. It is (fairly) robust. Pymatgen is used by thousands of researchers and is the analysis code powering the Materials Project. The analysis it produces survives rigorous scrutiny every single day. Bugs tend to be found and corrected quickly. Pymatgen also uses Github Actions for continuous integration, which ensures that every new code passes a comprehensive suite of unit tests.
  2. It is well documented. A fairly comprehensive documentation has been written to help you get to grips with it quickly.
  3. It is open. You are free to use and contribute to pymatgen. It also means that pymatgen is continuously being improved. We will attribute any code you contribute to any publication you specify. Contributing to pymatgen means your research becomes more visible, which translates to greater impact.
  4. It is fast. Many of the core numerical methods in pymatgen have been optimized by vectorizing in numpy/scipy. This means that coordinate manipulations are extremely fast and are in fact comparable to codes written in other languages. Pymatgen also comes with a complete system for handling periodic boundary conditions.
  5. It will be around. Pymatgen is not a pet research project. It is used in the well-established Materials Project. It is also actively being developed and maintained by the Materials Virtual Lab, the ABINIT group and many other research groups.
  6. A growing ecosystem of developers and add-ons. Pymatgen has contributions from materials scientists all over the world. We also now have an architecture to support add-ons that expand pymatgen's functionality even further. Check out the contributing page and add-ons page for details and examples.

Installation

The version at the Python Package Index (PyPI) is always the latest stable release that is relatively bug-free and can be installed via pip:

pip install pymatgen

If you'd like to use the latest unreleased changes on the main branch, you can install directly from GitHub:

pip install -U git+https://github.com/materialsproject/pymatgen

The minimum Python version is 3.8. Some extra functionality (e.g., generation of POTCARs) does require additional setup (see the pymatgen page).

Change Log

Please check GitHub releases and commit history for the latest changes. A legacy changelog is still up at https://pymatgen.org/change_log.

Using pymatgen

Please refer to the official pymatgen page for tutorials and examples.

How to cite pymatgen

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

Shyue Ping Ong, William Davidson Richards, Anubhav Jain, Geoffroy Hautier, Michael Kocher, Shreyas Cholia, Dan Gunter, Vincent Chevrier, Kristin A. Persson, Gerbrand Ceder. Python Materials Genomics (pymatgen): A Robust, Open-Source Python Library for Materials Analysis. Computational Materials Science, 2013, 68, 314-319. doi:10.1016/j.commatsci.2012.10.028

In addition, some of pymatgen's functionality is based on scientific advances/principles developed by the computational materials scientists in our team. Please refer to pymatgen's documentation on how to cite them.

License

Pymatgen is released under the MIT License. The terms of the license are as follows:

The MIT License (MIT) Copyright (c) 2011-2012 MIT & LBNL

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About the Pymatgen Development Team

Shyue Ping Ong of the Materials Virtual Lab started Pymatgen in 2011 and is still the project lead.

The pymatgen development team is the set of all contributors to the pymatgen project, including all subprojects.

Our Copyright Policy

Pymatgen uses a shared copyright model. Each contributor maintains copyright over their contributions to pymatgen. But, it is important to note that these contributions are typically only changes to the repositories. Thus, the pymatgen source code, in its entirety is not the copyright of any single person or institution. Instead, it is the collective copyright of the entire pymatgen Development Team. If individual contributors want to maintain a record of what changes/contributions they have specific copyright on, they should indicate their copyright in the commit message of the change, when they commit the change to one of the pymatgen repositories.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pymatgen-2023.3.23.tar.gz (9.6 MB view details)

Uploaded Source

Built Distributions

pymatgen-2023.3.23-cp311-cp311-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatgen-2023.3.23-cp311-cp311-win32.whl (10.1 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2023.3.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatgen-2023.3.23-cp311-cp311-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pymatgen-2023.3.23-cp310-cp310-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatgen-2023.3.23-cp310-cp310-win32.whl (10.1 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2023.3.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatgen-2023.3.23-cp310-cp310-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pymatgen-2023.3.23-cp39-cp39-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatgen-2023.3.23-cp39-cp39-win32.whl (10.1 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2023.3.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymatgen-2023.3.23-cp39-cp39-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pymatgen-2023.3.23-cp39-cp39-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pymatgen-2023.3.23-cp38-cp38-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

pymatgen-2023.3.23-cp38-cp38-win32.whl (10.1 MB view details)

Uploaded CPython 3.8 Windows x86

pymatgen-2023.3.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pymatgen-2023.3.23-cp38-cp38-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file pymatgen-2023.3.23.tar.gz.

File metadata

  • Download URL: pymatgen-2023.3.23.tar.gz
  • Upload date:
  • Size: 9.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pymatgen-2023.3.23.tar.gz
Algorithm Hash digest
SHA256 e5040116c404e4abd5d0ebe92e661a5261858f6c273c2335fac825ede96e3441
MD5 d9ddd1860755136f1ef28237428c6042
BLAKE2b-256 7c416cbcb580ec1db1d1754d7f39a4f4ada64a1f106ff9fddc5e2c48c5add05c

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1fad675ec94f635c363068eb9c3259c30c948af9c448ee9eb3e805f831a5d609
MD5 c43953335c00e7be1fe745e6c96b7a5c
BLAKE2b-256 24fea1e17327a83574f5cb44c8daae50e2928412904ac38b426bf281900961b5

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5d628e0f61ad9395d3c6d1e9fdf580d9b2f0a992ba7c58048bbe86b0594e77fe
MD5 d03be3c322cd475d00bc764f5794f55c
BLAKE2b-256 6c2a62081b8ea9fdb7e31b9c174b5f47e2c8c3ca6189e1cf20b40433caddf0e6

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbad6cef6521d9b1bdc3578e1d340e590ff56f74b0238c9b38f949fdb406689e
MD5 db05e4f85a4960352b3e79a72d8b707a
BLAKE2b-256 0962d090b4d0d4dbdaa72c7cd319cae6756909ac6ff61d3d79679fb032f62b31

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d7bea2accd80cffeb69552aebebf92b55cbb8c5fc5f6fb4148e01964348af3f4
MD5 85ad0978f365b2d2eaeab4b2e3d841e6
BLAKE2b-256 b8cf97033cdc199418da1eeaf734447aba0f24f2cddbdc0fdad17fda65c90116

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c841a4938e43efabfc804792f6f1929e8792e4522c718cc965137c5edaaf734a
MD5 a0dfc6b4026282efd823ab1c1d54a6da
BLAKE2b-256 6f7345ce3f74da2826eea508c6a1bf86bc5ba6070f82587554636e4a8dfa4f42

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9d3f23aef8292ed7e4594afbf0b59d61efc721c1b438c0d8ae5c04e4b972ab8a
MD5 d0425b3afef66eaa9456f795f104d9d5
BLAKE2b-256 e3f66ea53f270231697524f57c361d1a648ba072d63174bf45bfc06a7800af9c

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a63c1a13ebf5761ec2ad15db30a534bae2f5a05d305094d6a04c9d1b7c1b9dd
MD5 86fb06544b8fb103234b6058b84f4482
BLAKE2b-256 b2c6beada6871950825bd7ef1e8b3b774d534864058b5a4d3898cb377f683820

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c6a94f6bad72a7c032b4860ffaf00521c1b86008dea32aa523d9e891ff22b336
MD5 45cc48e151ceb7e61cb22d0755029280
BLAKE2b-256 cbb0062befa08408de3e4b2779706d774df081cfe3e5025b3be2138d4bb972d5

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9e9e3bce30fe1a567ce43ded6dff0e7d211f954117f741c5757232303151c997
MD5 d8e9902948938028fd305d2fdee0c417
BLAKE2b-256 2743382fea8c62fd1630d3e62817df085e5cceec11ce1e49a4b4e9754fc6c2d4

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp39-cp39-win32.whl.

File metadata

  • Download URL: pymatgen-2023.3.23-cp39-cp39-win32.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for pymatgen-2023.3.23-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 5e210b552c4175e3052d6012a027b06c77f1169e0f9cd9c31d6cfed16c66643c
MD5 79a152fea3755aa00dfd9c8348aa6ce7
BLAKE2b-256 e8b483b367cff09da3754be68eb547616898fee5aff2d0944a64e9b6ee5b1c2d

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de4d06f264888469a98df5d1e26fb9d93c4dbc7580483d6126808301a38194b1
MD5 0d25c8d94d3b1271915d5ee5e5649967
BLAKE2b-256 1d9dc861b06ef2baffd8eeab72a382509bed3a5ec4df96b1ceb329106b79519b

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fdbeaf68cdf959f1545b56aedd1310c6c6302c6846a91d78078bfae0f9fd29a
MD5 a7e8eccc42b613f0949b11376e1db4c3
BLAKE2b-256 05b12c0d79e81abcfe9771063a134f969064969c213f0f7cc063299ef3a5c125

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5160b4a019d124ee99999b590edb6f3e513c672e7f8498f13fbd6ba445ac6d94
MD5 258900a6203f6435639f77abf8ab5b78
BLAKE2b-256 5881f52fbc0bba747517ea2546df7891960f56fe028723b1fe6dfbb7e2d14879

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1cfe37426d4b909931fd4babaccd1f2d6b28257b847d424b8f75ac65cda45e79
MD5 c77ddf71009cea51bbaf8cd94ad69260
BLAKE2b-256 3c789d4035883b22168b520096ca7fa69a052d42b3d1c476cdeb32f077a5e704

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp38-cp38-win32.whl.

File metadata

  • Download URL: pymatgen-2023.3.23-cp38-cp38-win32.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for pymatgen-2023.3.23-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 d8c8d1105f0b1009a64cf11d104a76b4446d2935d3480b1829a43de269040b33
MD5 3967df05a3dcde12d7b4c3c069581520
BLAKE2b-256 e8de2e6168afd8ece23175a86c5e5a386c43927493ea4cae5d3c6b0a8a7cdcbc

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99a12edf284679fb15cfc4877f463b55863e3375b002991cdefbd1d6063e55b4
MD5 588a736118e670678cc74e78dd4cfbbf
BLAKE2b-256 c5d23e91050ffa1fcd1a949404ac616e0487dbc08a11c1b7f4eeafb87a8f4ec6

See more details on using hashes here.

File details

Details for the file pymatgen-2023.3.23-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2023.3.23-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50572f092486158f7acce11fc10fdf2c68af5dfa5e95d0e765a1f0f82e173754
MD5 6f13e767c80a81c2f92b89aafa5d169c
BLAKE2b-256 ebb771224ff6b1be60f79694a3a1ad2f00e6dac46baa6e5204747f5323f1ebfe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page