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+ arXiv

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.7.11.tar.gz (9.7 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

pymatgen-2023.7.11-cp311-cp311-win32.whl (10.2 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2023.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

pymatgen-2023.7.11-cp310-cp310-win32.whl (10.2 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2023.7.11-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.7.11-cp310-cp310-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

pymatgen-2023.7.11-cp39-cp39-win32.whl (10.2 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2023.7.11-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.7.11-cp39-cp39-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

pymatgen-2023.7.11-cp38-cp38-win32.whl (10.2 MB view details)

Uploaded CPython 3.8 Windows x86

pymatgen-2023.7.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pymatgen-2023.7.11-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.7.11.tar.gz.

File metadata

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

File hashes

Hashes for pymatgen-2023.7.11.tar.gz
Algorithm Hash digest
SHA256 5e3da5d92b10fbcd4d17d9ce8543da4b28d851fb1f0f1056e6ca212c72b65be1
MD5 3cdbd59224076e13e7823dd926bf70a0
BLAKE2b-256 3bb147ec8b954844612a75bf6d4fc64dbf1b669e6e2fe7cf004630eb9d2b1b49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 63cbf7b41c42875c7b414f34c6d8aabab443a59591c7d3ef6f6682b284ece2e9
MD5 3ee7c954f82aca8e101162dd9a2e289d
BLAKE2b-256 3bbb1d0ee8830c444a6d4e4ce9795e86a5dbbbf87a99cc8c586611683070f168

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 392657bbab55779d96bbb2e699fd874ec12436526540c034a5ac1d11225562f3
MD5 b8bdffcf8787f43a6b6e2678c5792cb5
BLAKE2b-256 002744010548d9034124cff1e84ba7e1d9c7ef9ad89e85530d1c60119a5f302e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b32f888150cb5571046e915d0a186a0ea01e3e4be258b0a4979cf4fa95ce953d
MD5 56a12b1d5687d156ca431d591b4f4119
BLAKE2b-256 dee9366a361211de13f1ea3905a4b612dc589772867ce18d5cdd378f4e830ff5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b219922412dacdfce00781a21cb9fe657b0b233e8e3c7201bf66c62a6ef6649e
MD5 3e6ec4a79548caca712d6456c12fb577
BLAKE2b-256 dc7c55fd6ec69ec13d1f3aaa6b3965d965c18dbb01ee05cb7452a5f97efc1f0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4450ec5e06ef7f5bbc24e180493596ef0f8457e762668aa1b2254848e11f069c
MD5 bce370e8c59aaba2d69ec85e6da174c1
BLAKE2b-256 bc2fec71a1471774e422e9a516312d4c5994e8e3652396f8a403f5a79a1b4dc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 46092406a3bd319cdd106550c9eed34de2fa057a1a4bdceb243d9e5e45460e11
MD5 966a4f283afd048240481e5e55db3622
BLAKE2b-256 5ac127f2ffe0a21fe6eed960bfbe2d2cac792bcf8051341cbe03f365b90ac937

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edf9f574a841a066ffb39ef43fb042126eadc93bf114532e722749f03050dbf6
MD5 06153bec07165144aa18cb90bd495535
BLAKE2b-256 f4a1248097fd716af9c98f668eab69295bf75b8e07d016e1d04a5f56210ac53a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c1415446c6a1d4b0e1b0396f3949595d7b978305328390d6a6be2022a8d47a93
MD5 dc76c292e070a0e30bab321c709bf5c6
BLAKE2b-256 82cee51aead14b4b66b498055760ad258490a1c8d511d0fef38947876ccf1ea5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c16dccc91ee2713398c53e0ecb0028bb3dfff89e60bed360b4f5c6247e95c04c
MD5 c3bd5de4fec88b307a15706092079b9b
BLAKE2b-256 f9620831585aab76b208ce6d72d11c06b44f1bd40c186c7a7d9f6c9a5ece535c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.7.11-cp39-cp39-win32.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for pymatgen-2023.7.11-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b49c7b42f6b334bc4de26477790562f2692f4019a9a4a93de6c386192fdccb77
MD5 eede61ca62cdda4e6f025b2afba64298
BLAKE2b-256 5de7446f305a8b4057a4b74754fb3fc30710019fa998bac742e2976db1c279aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42d890405910d94f891cbaf1e6a8e3e7127d8fb22f92648c8fefe37e7b45da15
MD5 d20bfb2ea07490010ba11b78b37710d3
BLAKE2b-256 45047f0d40ce17a92f95dd6dbcbc97d7a4765bed3ea3360b67ab1e4f36e7d584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c294c339df336e5dac47bb74c27d60e9ad73b68183d44f5ba61aa6c99f3dbb40
MD5 646944914ef6e432170f16eb2ef3f3dd
BLAKE2b-256 c20234534672ed6e603cbdc4581a0e2125a8691d44e56384e0e128b22d11d5fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c274fbe264de57a38486e48617c227570e7b3c7b62917cbd86215da5f3f3860e
MD5 85bacfd8dceacb6601ba22b179fe5dbf
BLAKE2b-256 ce6b3d7059b2ceeb31d8969d157f30b7080e68fe0f3ca62271d63d12b538556f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 958834a4ec011a58a1dd56800123ef3d4e5c09e936a1765e515f3a98f9524b05
MD5 148da2f90f493c6c000a52c295ce7845
BLAKE2b-256 fdeca274b642d3634e484a1221f8bd92768ffc8f50389d383bc37ac0193c8594

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.7.11-cp38-cp38-win32.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for pymatgen-2023.7.11-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b6544df91e44321c783a8176479d8a7f4abd0acbf427fc71ce889df91615ca36
MD5 17d5b33b444cbfad74130d19c9a9e078
BLAKE2b-256 246f70db440417f75a0ea06504a62a6bbefc2552508b226aa18817abe3060618

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f89f1939ca975b6c58abab0c7060bea375fa29a0722926123a947f80204003fe
MD5 592de59476f31213594597b8a56819ea
BLAKE2b-256 63cc03b2a40029a0bee7c0eb046c41bd09b1aae6de0f62056651b9bfdbfcf3cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.11-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f31dca3521efe87786171073a5ce2f87eca3f9441b3eb5925aeef4bbee431fa3
MD5 f29a54f3c91392454b8bb97a551f3daf
BLAKE2b-256 c7dcd44c5666fdde4a47bfa03ebd70cbbeeb94146b66e9585c24acd762ba1162

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