Skip to main content

Python Materials Genomics is a robust materials analysis code that defines core object representations for structures

Project description

Logo

CI Status codecov PyPI Downloads Conda Downloads Requires Python 3.9+ Paper

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

See GitHub releases, docs/CHANGES.md or commit history in increasing order of details.

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 2nd pymatgen paper

If you are a long-standing pymatgen contributor and would like to be involved in working on an updated pymatgen publication, please fill out this co-author registration form or contact @shyuep, @mkhorton and @janosh with questions.

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 (@shyuep) of the Materials Virtual Lab started Pymatgen in 2011 and is still the project lead. Janosh Riebesell (@janosh) and Matthew Horton (@mkhorton) are co-maintainers.

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

Uploaded Source

Built Distributions

pymatgen-2024.8.9-cp312-cp312-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.12 Windows x86-64

pymatgen-2024.8.9-cp312-cp312-win32.whl (3.6 MB view details)

Uploaded CPython 3.12 Windows x86

pymatgen-2024.8.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pymatgen-2024.8.9-cp312-cp312-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pymatgen-2024.8.9-cp311-cp311-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatgen-2024.8.9-cp311-cp311-win32.whl (3.6 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2024.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatgen-2024.8.9-cp311-cp311-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pymatgen-2024.8.9-cp310-cp310-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatgen-2024.8.9-cp310-cp310-win32.whl (3.6 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2024.8.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatgen-2024.8.9-cp310-cp310-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pymatgen-2024.8.9-cp39-cp39-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatgen-2024.8.9-cp39-cp39-win32.whl (3.6 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2024.8.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymatgen-2024.8.9-cp39-cp39-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pymatgen-2024.8.9.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for pymatgen-2024.8.9.tar.gz
Algorithm Hash digest
SHA256 e0ca35d41d5964d063519cd6b8db54c411ec8469382df172fa177ec2a6b3a70a
MD5 977a4ccb0855ee2fcefba81cf492ef66
BLAKE2b-256 3348881cd58a2f431476239e5d026c1b6c6a6dedc5bf3d03b6e69c638a136af9

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9415878b831beb517008bd19642351ab8d60fe2caf64700d941bcf097d988344
MD5 1e4e1205d6cc994f27218533ea3d1d61
BLAKE2b-256 55beb1bb01d987c2d6e160bfbe6a03631d3e258ec0306d0c1c755c77d8de9609

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: pymatgen-2024.8.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for pymatgen-2024.8.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 757e0a219ad6f597b5017e4ea65eb6c1850ea60afef779e7614fa77450219d92
MD5 b7ed3d3af0701b65c4a57eafa045a36c
BLAKE2b-256 ae246c5f85ea921382aabe99956925bd0624fc09e405d2b8bc009f7510daa041

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 193333f9251aadf8b78d80bab69dc7e510d3c0dc0381c752f3721901fdd15c91
MD5 6912ebc9c5c7d3c76eae1d783e289739
BLAKE2b-256 1dd62d5daba8b45560c378f6b21d4f6e1c58838284e26daac541fa3d2f66eaeb

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9e6717115d1b0f0473a99cf81dab34abbbaf17b683e0c614846b66558237cc5
MD5 c3fe2b1d180a7dd45d28d69eb671ce3e
BLAKE2b-256 7f9eb8b1014e4a81ffb048a905e71efde31a4512ea4ae00421356ea62c52ad2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 02c194fde76c16e191b7f3a9c494bc3c3ced25dfcf28efed3618a73f13d38267
MD5 0479e9b1b6eab83599f6e89bb58012eb
BLAKE2b-256 12104bfe08cf7e96c737265822458c6c4f5fcd5981e343dcb8c3605f1099a16d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.8.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for pymatgen-2024.8.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ae426264b46282ad2a9317f26f5d3403ec5e7099eb4b4b0055e8696b6e7b3782
MD5 2304fb27665494b32e6a8820a82c3e9f
BLAKE2b-256 441c4d47f07baca6c7d087d291c8f3d0d6d9993915cfab89b2214988c6ae863f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c69a0e1f9fbbb108315289104dbf1a784078da5b595a9819c7fc9ae0fad8ff8b
MD5 4de97a6dd4bf0a4781cffb6b5f60fe65
BLAKE2b-256 0c49a782638eac8f96973e72587bcf4bf1b86267bff170ebb2990ce170a0ad20

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e7360d155dcb68c4b98c07c47188529433bf4a58ded53006065aab95211c461
MD5 e744326b1badf794a30e3423414d2146
BLAKE2b-256 7ccbdf4c133504a6e257c0237180f6e9dd2301e4f64d7b8a8291a18679f3eab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 991754462cfbe128bf15bd031a8e315c9bf36091b4acd678d965079e54a36721
MD5 f64c142347426477163c82ba731e3b90
BLAKE2b-256 468aa3f5d1b826fe2da3bea69762520671fd3ca1d18ef2f0c914ce32c7d84f1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.8.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for pymatgen-2024.8.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 21cfe64f8089b23e479e5b817066e1e8189cab88fd3a3af109ebb28f4fd4381f
MD5 eb95b26562940de1574cb74f232dbf74
BLAKE2b-256 101bfa7efe73c4d1f3d97803b26eb1d801446eae8d881bd1b2e5fcf9ad4b39e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22a9ba0bd71b802c2431f1960b598c13e930a39e7cf4c7bedc034e0e40156586
MD5 6b41351038b2a8ca3ed1ba435bf8f8ff
BLAKE2b-256 e4948d5f9488e487e6c5e27c9a5c60680cec579ccdc0d7e2757dc0cd55e2725e

See more details on using hashes here.

File details

Details for the file pymatgen-2024.8.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 001007a2a8703e01d435e639034c6524c0e4c533da981c53f8c70897bfcc9800
MD5 ee913f63f43c7f2ea54828e5ddcf28f5
BLAKE2b-256 2a893d311237636d15a49f44d6b5cd81968e9aee69ca2cf2226669501b8f23fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d558d1b37b917ae3b05b5ddf5652bdb672f3ee8d20778e28e7dd3fcc10121a5f
MD5 bb46628b142584f61e8afef3cb54d894
BLAKE2b-256 bc944b2e921c946ab5ab20af5ca4373581636d1c4020a5fc12e5c2ceaeef8765

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.8.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for pymatgen-2024.8.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b0c54bf9d21d4f59a2f85634906c72401f35efee8467ecf9df78ae2b09cd336b
MD5 3b502d1b695390572a6e8cb54c2b052b
BLAKE2b-256 90231192e5e9262bdc1482ebdfadc9a75cc9ffddb4ca552a5a5b25a56ef898d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebc7550744acb34c5a28d173b8c65e3e1103412e410d64534e5cb3e2879c60f0
MD5 6df6918a99454d80b4e4d2a33e359a2f
BLAKE2b-256 5ddbc4012401c41031a709219bcf1e681b30609085d70d9a886a6ecd60a13254

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.8.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d60867c2407b22f31e8650eb99b6c3683fab4407b7adc0862c319d1b1f1876cb
MD5 73bbdc4f498ea548febdd516656d6448
BLAKE2b-256 232c571f891c41c64582060e26297e08570181820a57a707f5df1644d28d2a10

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