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.9+ 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.9. 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.

Soliciting contributions to an updated pymatgen paper

If you are a long-standing pymatgen contributor and would like to be involved in working on an updated pymatgen publication, please contact the maintainers @shyuep, @mkhorton and @janosh.

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

Uploaded Source

Built Distributions

pymatgen-2023.10.4-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatgen-2023.10.4-cp311-cp311-win32.whl (7.8 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2023.10.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatgen-2023.10.4-cp311-cp311-macosx_10_9_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pymatgen-2023.10.4-cp310-cp310-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatgen-2023.10.4-cp310-cp310-win32.whl (7.8 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2023.10.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatgen-2023.10.4-cp310-cp310-macosx_10_9_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pymatgen-2023.10.4-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatgen-2023.10.4-cp39-cp39-win32.whl (7.8 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2023.10.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymatgen-2023.10.4-cp39-cp39-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pymatgen-2023.10.4-cp39-cp39-macosx_10_9_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pymatgen-2023.10.4.tar.gz
Algorithm Hash digest
SHA256 113c9af4f69d5281864f8603ee74e738ac4726e94e61094da8eaa3bb638f119e
MD5 12894e3319367a71ff93722422a851a8
BLAKE2b-256 201be4c4da1f4f8945fa4100600c09ef12e4b8b50c41597650c407c888a0723b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0feb74a17313fdf96cf060807f52294fb955c34ce9020ceec701394f092ee1ba
MD5 89e3d819328c9c8bc32f05e3570dfe0a
BLAKE2b-256 94a88b28b78979dce8084228efffe843c91d02fa5db24ead4525c512eed2c31a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 374d945c83a6ea6c4b049b4cfb698c771d9431e701e49819ebc11833f1dfd087
MD5 01f873db17e6a2c9a6690a6b61bc2943
BLAKE2b-256 4a207d910d4b5beeb943b30119bb3213368b52e75fcee0b29222a0e8d46f7c33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b97e3c5b2c5ad0e36b8001aa9109a704f0b206cddd4faadbdf28c0e4d3fef93
MD5 d0fb7aadd81f8fcf04039ea855763871
BLAKE2b-256 6fa16a53fc70b1459a7f1d6c7bfaaaa62bb00f278879091c44cc4637aaaa9aae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5422d0e65d61f80b228cb03dc8317a68be941f02d21d87b48acf46dd3748cea7
MD5 a4115e21db03a5bdf779a505ab5a3ca1
BLAKE2b-256 984ee10f1ff5c02b8501114ce2dc3d6c7546117cf2b4749bb7edc3a81307cc6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9ff02921686708518d7a45aa0dfd6e15092819aa01c21953f6c7ec6f53410696
MD5 c05cb0c6e7d7893ddd580f4bf2418df5
BLAKE2b-256 553bf66069cb6003a638290d165f2c3d8be190d011e79d496fe43c52f51dca80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e2a31de37538170d987369ff0f9a3233d88ab162c98746718fa80d4fd9c28845
MD5 f83da25658c5fa30760002a953765621
BLAKE2b-256 138025ca3cd115f1b3e234f1649b44ddb1b6c58448743bfa54ecf056f1cc6e31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4dd0cf921149811e9d11ed192f119f1302042dc5f74b3fb73e02c8207f3d483e
MD5 0dda8e9ef31fcf32282791d56429df7a
BLAKE2b-256 472f096c40ef4a65965227ba3314bf187126da1616dcb7f5fe8ca752cb7ec485

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc84df3021c3238d57c97470b3352cefcbd9654b5fd826410e4e393512dbc431
MD5 20819e544b2d91a787f30668297e9918
BLAKE2b-256 4144707494da35be2061dfb30d6b8b8cf179c558b35f09857fe6552921309a45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5dbd74d333f9928707ca055d7ad6611b8b601ccc0eec444b391edc2fbab4d629
MD5 d281b937ce69566be2c73cd786df411a
BLAKE2b-256 229631711c539e0883dda5007dd2f7ab2f080d1b67037188f9a4191511399eb3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pymatgen-2023.10.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 74826cccdb1b2294a122d757d983d71e720dbc1b19f1068976ecca10eccd2dc2
MD5 3d78b416521936d3405befcf8a46b680
BLAKE2b-256 9b1b44b3cb7be58922badaeab531a0f5abc4a95e7c0df71d5f63a0d9b9eb8733

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd547c1251f756fe8b9ee5cc817e949de4d807828bddfcef5365ddb177b956fa
MD5 853cd5edd6dc2ec3e784adb151912b33
BLAKE2b-256 d96d9a5ebaae9c6781f5838517f494c81028ac026b1c3a8af26d7e9fa4a80dff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddc659666cd0f83f31c2cbede2e722c60a65cd28a14fb7a7f22a83770b85f80a
MD5 62855f87704ff54f64fc325064a46e61
BLAKE2b-256 cfc5471a733a99371c170ffe83c5c83e0c3191e1c48867fe6cf1a3004c178598

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2023.10.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bc2a82b8010cfed6cca98c67733d24dc33130c8c17e6df1484e94ca22c3c117c
MD5 6ee90d0ae7d8fb680b97e6c55b0d7181
BLAKE2b-256 178098907dec564a23c30ff5ba2432a0182ab3c46b35eaa52106f9404671fb2a

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