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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

pymatgen-2023.2.28-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.2.28-cp311-cp311-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

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

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

pymatgen-2023.2.28-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.2.28-cp39-cp39-macosx_10_9_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

pymatgen-2023.2.28-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.2.28-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.2.28.tar.gz.

File metadata

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

File hashes

Hashes for pymatgen-2023.2.28.tar.gz
Algorithm Hash digest
SHA256 596b21c7c47c7b7ab2af2258cd1028394a22426ff4d77f4d40235d42d1795892
MD5 c4eb917719bdb70c210c141169a009c4
BLAKE2b-256 2e7c920a66bdef42d9f834b1fc12ad02c25afe1be75325d137ebe3682f5c16a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c5f5dad4653b5df704a68759778ecdf6d663f8d5abf4123cd54d0c0308bda928
MD5 6498e2a6f2f0f7745c4deabc6302dfb6
BLAKE2b-256 6bb22beb970b4017cea39f7489017467b39c52779d84fa8ef53ce64ddabc2a81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 af0636de8070b9b91bb5f61dbc0e5ea08fc25ca3a1a971513beb353b6525ba15
MD5 5c36c82e8aabc9d9e73cacb58fef210d
BLAKE2b-256 9539e9578194307a551505510f127e7cc12bd8b14338b87610293d27f8a15141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5267b61572b6b5c5a07e8e1fd0caa7f6d7ddf103a246cb6727e8732ca1e89bfa
MD5 877ac2ffcf4834d4a9ef7743f2d693b1
BLAKE2b-256 3ef97762d3f93b26d00baa659e519c9e9cd3914f46d60b728e13dd61835eb116

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 58ff96d247bec182bd40c65d832b738c3988c9b0492b164ecc64b00394c0a48e
MD5 b7d73ae030e062df43063eba22b6df07
BLAKE2b-256 f43ad9dffe7a97c55296e692eafa014d0f282e5eb840bad950cab5c774af617f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0460a7fb57f2d49bd9d94cf8f1dd071df313917628e833cbae48be8f71d67fba
MD5 ff771cbdbe96789f369c371ae6ffbf2f
BLAKE2b-256 42ee2a994834e8b38f44308d276072ebf99230eb2b64ac09bb6c85b7db7e71dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a5ba012f4ad4cd22421f1aca187008d7884f7aea451824f528a28de2b64c4392
MD5 e13f6bea9aa9c716e5fbf93a50f972d8
BLAKE2b-256 22229b4cad321279927fec93db0e3894cca129e33054a3ff3b9a26bbaa1e2bc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3139e1c8527a1864d4b0aaf9dc8b258e93e130662b665f384154680c10b3d874
MD5 7bbcfded8ecec89df491548ed8f8cc80
BLAKE2b-256 c3269b5c99ff85119acb287ddf6d0dd791b99640c931d1b63b284d1700d4b121

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f6156dd19434cb3e5e5a76e1e50e3d94fcc7449a0748277bb73993a251302073
MD5 5c40a28b89ff2868a08736ea92234302
BLAKE2b-256 dd0a7de635a071e5e8eec79cbe45573b3078894c180eac1cb5905e908830b9f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 398395f84f3097feb39c5ed4f5e1c77895ca81b8dc5be5485de1514a183727ac
MD5 dc29408fa46c00f967219d933466ced6
BLAKE2b-256 eca24cf4a69307bad507ab71c5daade16a729fdaa50cee02f0e58a12014a7af3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.2.28-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.2.28-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3d7d997e35cfd39dbac0607f2526e13f38bac3920e6bed854fd48adfb2ecb185
MD5 80accad033d6bec8d9ca4a5accfbf468
BLAKE2b-256 40d345373ed5b9fc0ef75979db8e2938a7f68478c1b999e9ebdb0c4c317678d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 672a90a85f2a3bf825fd9f1e12889d2c36fcf8ac00c36ae0a356eaf9bb162807
MD5 f188aa6df8be1a9acb44bccc7579c0fc
BLAKE2b-256 ea2e7842a2fa0d5bc900710e33ea84a100fe5fb2617a82c181fb7b221bb78a9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 17cca01c0c33e35b583a528d1c67f84967f5795eedd24e678e9d48081064e42b
MD5 b7a4cca4aabbd0b282e0ef08dcdef8f9
BLAKE2b-256 a580b59a22214b81fc12b52c9e0497102ff2de37b8059623236967eb0def453a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 401c9f429a14b4222ed15991fc531f10cfb66f8288496b3d878a8477f4851659
MD5 a8a7ba8f63027830c310bb6cbe2753f3
BLAKE2b-256 d87d86ed2b2f822b9e20606a9a485fee4f5c00a72f73cf6b0cbacbdfaaa2f3b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.2.28-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.2.28-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 1ea95bddae3eeec1603eaaa69cd8229c1149a9e869fe1590baac03e16f7ce599
MD5 1fca9093aa9ed198b5139fa1e99d5cc5
BLAKE2b-256 fc6220e6c6034e3acc01db8c0aead6c7b09c1080f0b1362a820664c3317f898c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4be379d43094db50ccf4096de1e92db4a0a4153a431fc4b1ccdd79890c836287
MD5 cafcd96f45a5e438f5db95645e4649f4
BLAKE2b-256 7584a4a4d358870e936b07253d2739afda6b1b6098e14704546dddea8cdfdf32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.2.28-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa1ab3ad33e10b9088fb448934eab6f384f1f783c56ccfd61022c000922faa59
MD5 87e3a2f932c895c8000f272d579c61b0
BLAKE2b-256 ee69bc775ad33be239565fc45a21a1d8873046e76ef092b75f0467991ab4731c

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