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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

pymatgen-2023.7.14-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.14-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.14-cp310-cp310-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

pymatgen-2023.7.14-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.14-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.14-cp39-cp39-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

pymatgen-2023.7.14-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.14-cp38-cp38-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

pymatgen-2023.7.14-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.14-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.14.tar.gz.

File metadata

  • Download URL: pymatgen-2023.7.14.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.14.tar.gz
Algorithm Hash digest
SHA256 c7e9484cbeba32090526533c38c675ba5ac5f22cc781f60521955350dffdf8c2
MD5 1fe8fc702bd405e9d695fcde98d7cc46
BLAKE2b-256 bed9e4a8b540d062b08bfc834b6119777f63b867b955c9265025feaa801c6680

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0aa0fb7f8a91b0deb063e1b181f1fb96afb9cb822a2edd1337c9cf4b2f0cdd96
MD5 50a4524f389d65a899af63c50972acfd
BLAKE2b-256 29af18c1c720c83f7fef2660f0925545230d4dde05731b14dc1a2e422fa2de1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c768c6ede281b8ffb4eb8e7001eedabf02fb54aca99af5393dc981b404dcca04
MD5 a4098a4bfbdf6bae16e8ad018b2a2975
BLAKE2b-256 8d43e3934c4a60fc9714ea27bd63e8f8268df0f4d42916268e07d3e7b67694b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0acc8e6ace2bbc46f9127bd8306dcbf09b690210da51d8f7f8625ed6654c5e5
MD5 ee3bf72a79addba0d130a1256082cab6
BLAKE2b-256 dfaf55bdb0e88f11832d6dc58300028da465604f461944ad74938fc7a79ee2ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1019bc76586ee38bec4bd85cf9bf106a189b7d64d6e68b7e9e22fe06852291b5
MD5 dc242293f391af4f2b73158e1bee2cf5
BLAKE2b-256 3510f0fcbe8ceb856e832adbe513fde3c3df9dc654bff92e9ddabb517a0c05cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a1ecc467b92c035d2fd1ca6ca8d085df2f27ebf083d872e9ac7b289ebc229fd4
MD5 7cf915c72dd86bcddb4edbfb8b435d82
BLAKE2b-256 8a899aa169c9ca63b240cbe740c6fe518bf830d94c1f86b8958b572ec4b54d34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f4b0bb2c93640e81e9248fb21072cd4f1dd145c4414ef6e1be3a2a50c3f28ded
MD5 b8f76b2cf3fda8715c3d60b836570010
BLAKE2b-256 2045431a09455012ee9d45e010ed13a690bab2b58f440ba74d83e5f7cd1018a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1858e9f7f730d75167e685b229022225e2b21f95275ff34d79912782530a340
MD5 79a40f67f9d14ab9efa53a12e6731921
BLAKE2b-256 dd410e728532b7860663e52d26cacebd619eb40a01ce91254edc5ebeea8bdf5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f71f1c4e23a96179c9d1de6c9c9b33269fed0fa687b98b5e7573273cddf9f71
MD5 fe3929b166a042ca63eef3543b284ec6
BLAKE2b-256 75b066c241050b234390e7fc5ef9c79c3cb502bc752d76920915f0fc633b4d38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 863d9216e302d37f228dd1167e5da7aee69be135d9b9cf5ea51e48634060d4f3
MD5 e2ee08e0b1f2f16c4d2b9f4877a0ce53
BLAKE2b-256 90a634ee026970452d08ffc60d7601349cf7f2056273893ec8ced01d910b7c9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.7.14-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.2 CPython/3.11.4

File hashes

Hashes for pymatgen-2023.7.14-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 822fab6ec2b486b7efa748cb627431bdf2e9a9d32b6aef987703356f659ba4f4
MD5 c3d4502f6eb257317c79c4917e8e2c8a
BLAKE2b-256 83d129ab5d12957b221d7092b96709fc5bda0ce14ec69d64efacae71a1d3b6a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9776c6eeaa5a34e7cf698c3fe0c1d2f50afa958ace5213523b67892651655f2f
MD5 6b9b157540739b420d3313dc34ce5ca8
BLAKE2b-256 7c0634d14011cc9a359ced3a148bef2ee1a951d7d2fb0d2fd20128ca58dcf719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 122c01b865256a108c4b4eebb9213c9281e840b092d3007f5e179542bb8ecc0d
MD5 a79c1b2b1cbe00207c4bb4f1474df215
BLAKE2b-256 ccd5a2636181eff6958168c7c1a594b7fd0f865e31e3bbee166391fbb72df28a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a10842bee777541b981a9e16128c62c02f60dc4efe2d79914614e22089df50e4
MD5 d6378c8efdd4ca0d913c328cefbd943b
BLAKE2b-256 7c82946876fdd3d18599887571151f4fcbbed5c38d1bf2c1fc959f55a6f35506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a1835ecbcfe3934b55a49046c0f76a527f15530810a44ef245b5eb1e1df404b5
MD5 a94cc1f9946499501c16ec5a106cf126
BLAKE2b-256 d06a594da4d038528b744be41735dde52ee1fce423b84c9d3d403013c718a4a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2023.7.14-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.2 CPython/3.11.4

File hashes

Hashes for pymatgen-2023.7.14-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 aff998f780c5501ef5764d37e8e4d16dfb862dcc96435886abbd8fe7dd4a5dd3
MD5 02017ac9f2589268d519e3ac9230b672
BLAKE2b-256 c1847b7a952d947c351f96ce230c342e3b9dceeaf176dc71981c63ec1d0bb414

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf3e00f2f6118fcee6e57f6687687fd88ad50a34e1075f43198bfec96e6680b7
MD5 555ea91cb7e6f265aa3b8066b0dfc504
BLAKE2b-256 c219e546ee7cde0750b26de7a194678e334df80e1379097b83285021da4ea22e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.7.14-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c471a5b68d4905700ecf7fdb04c9f8ba5fb5eed56de3f6d87ff24ddacd292103
MD5 fb43ea87708c0ef112d8bc4c07740922
BLAKE2b-256 fe3e87b617bd069857266023da1bbe8b6436cd54a7286a92cb3a796f24556ff7

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