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 codecov 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 fast. 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 docs).

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 docs 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 the pymatgen docs 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.8.10.tar.gz (6.8 MB view details)

Uploaded Source

Built Distributions

pymatgen-2023.8.10-cp311-cp311-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatgen-2023.8.10-cp311-cp311-win32.whl (7.3 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2023.8.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatgen-2023.8.10-cp311-cp311-macosx_10_9_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pymatgen-2023.8.10-cp310-cp310-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatgen-2023.8.10-cp310-cp310-win32.whl (7.3 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2023.8.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatgen-2023.8.10-cp310-cp310-macosx_10_9_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pymatgen-2023.8.10-cp39-cp39-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatgen-2023.8.10-cp39-cp39-win32.whl (7.3 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2023.8.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymatgen-2023.8.10-cp39-cp39-macosx_10_9_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pymatgen-2023.8.10-cp38-cp38-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

pymatgen-2023.8.10-cp38-cp38-win32.whl (7.3 MB view details)

Uploaded CPython 3.8 Windows x86

pymatgen-2023.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pymatgen-2023.8.10-cp38-cp38-macosx_10_9_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pymatgen-2023.8.10.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pymatgen-2023.8.10.tar.gz
Algorithm Hash digest
SHA256 eb3a3b82d5b5fd1c8e63fc21b6413179d42f2a815daf26110f33f55bd2ba3ce2
MD5 02ea7017f2fb442082bd6110619d2795
BLAKE2b-256 bfc83c3c51550b301c4fedc0d551f48e3431dcec38835ab1075105ae1572e718

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e0b7d1b452a2d6969c34b8fd0d0439c14495f785da491dd893f1afc9a8fd302f
MD5 693c5f025a7247f645896c9650dd8db6
BLAKE2b-256 d14b4518942103082f1cd6a32226880ef37554d8f25e4ffc7f7248a4dec9ee77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 cfe4ca205dec8cc2c41d85d7a24d49fc23da7b7fb7b6560945ba48196da59a05
MD5 ab1fa27eb82ea66d19fc741a13aa8f35
BLAKE2b-256 9e206f749e68f050c5f7852fdf8f19986b876524d287db38cf4d30686a33f827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b3b0a54c9b6c7c49045198d1186f6951e32e85a90746c3ebfa152b1f5b3ce3f
MD5 05ccc937dcdc5222a5a344444005bd7c
BLAKE2b-256 a416c6bc3ca00b16e0d928af528cdde2e191f4d799d131bf02d937bd93674e87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ad70d9da37463706ce1181725acd1fbabf963af4f6a348b167615e5e04933d3
MD5 d604ede736bebd2606e3411cafee939f
BLAKE2b-256 48732c3e865449ebc68063c44ef179ee8f511af19702fbf5acbab9b0cac38bbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4657051061245027a3ffacf0ecfee12e6ee5de20cfee5f3d4f0a0eb56d94e2b8
MD5 a6458c8b15333a6a30ed1d4cf63b3f15
BLAKE2b-256 5b58579b8c9c14715cf9b3aa471a26d1951edb6d9e0f88b33a430c4fbb5e1a62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1a5457f623d0d8ae22d3c218c0348999f0d19bf9b95c2fb6b5708a0899d5a38e
MD5 490f8a0b2dab15d719dc34d412f8edda
BLAKE2b-256 488d28421733ba5e9d4a18d5e45a6ace867531ec85f0602ede0dc2e740146794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02adbcd8f19a4e41b4d68328340d58e602593234f2c2df72115f9775ee7ed827
MD5 6d5bc356ef2ab145f4b616ae6451c251
BLAKE2b-256 eb5c2116a97f5fbc7fb0d94bfa378f249d0b0500776983eab43db4181d12ad73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 054bd579be44db4513c75c11d1f53a780aa6ac98c188baf9bc4ac818ddaeeae2
MD5 85a384941a6482cdd9638981277ca81f
BLAKE2b-256 ec51948588c780c3f0b03d334dff1a941e6c4bcd6963c1fb72dd2a0d8aa6bfcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 42750caf29803c166e6259578bc295699de8497efa48b3ba59ac503543633c02
MD5 5a8a44ef1371357ede798387905153af
BLAKE2b-256 99cd4a27760df09e6492a8aae8df6dd1043205ed15f3d9b3493c211c874a8aec

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pymatgen-2023.8.10-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 8fcda2e297d532bc4e94105ce4c9070ecc8729819111ae4134339a32a42bd00d
MD5 4e4050cedba79d1ef920a33c236f60a7
BLAKE2b-256 893532ca6bf8915445420dcb3b62c1259f3029c251be777a7ad381f544206eac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81d89fbdce2778a0b74c8552a8fa7a05cfaff81adf74da9876f5e31f589ed443
MD5 54dd2eafbd542eb936ea08a40555dea7
BLAKE2b-256 5d86eb2711269db3416eb18ceede889fd8b1f643ba3b9a7b7aeea50440182888

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6387efd84481720f366d4d6052de0df45dbb9df394876f13527502fbe8014433
MD5 aa3af1a6e755931154d97bb886d0fb3e
BLAKE2b-256 127b6e0791a2c1434aa16391d4397e2067cc5c09bf51f0db71fe2868289f34ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 316b8ddf74999fed09fd6aa44503976d8c1b4b8d3916d9f61c5b61c9a74bc7d3
MD5 7a638fc7cb8bc48bb46a9da1dca36890
BLAKE2b-256 def28992d94c8ed88445165bef9934ca8db875cd3b318e7ec2b3789a7ed61167

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pymatgen-2023.8.10-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 73734cc5b5c52c4879eedc353936d4fe7d785fc8b6d297f82a287d1f4e8431cc
MD5 135258bc9c8f94a29213dfb5c6ad5e88
BLAKE2b-256 a46f9af830df1090bbcc978a97891e03b3b75ebb312c173312fd27ebfb050387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3693eb8c537d8e4197878f0ddc2c9bcae888fcbcb9643b6d6b907f40541a0d35
MD5 ebdcf6cbc2d6397a3337e750e5c6578f
BLAKE2b-256 10d13d40d36f211f219fbb978fbcaef9039b71ecdd17fe4ba03ccd0fe2677378

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.8.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eae60ef48d7c0f906ee6b932f9301fb455b9d9e47f04d528993fa229b61f2322
MD5 22ed2b862ec765591a56ebf1a305242f
BLAKE2b-256 59d0cda26ab3d880dc591c7f0606c1c51c4c273e4ce50d7a86f39e6bca0d500a

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