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+ 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.5.1.tar.gz (3.0 MB view details)

Uploaded Source

Built Distributions

pymatgen-2024.5.1-cp312-cp312-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.12 Windows x86-64

pymatgen-2024.5.1-cp312-cp312-win32.whl (3.5 MB view details)

Uploaded CPython 3.12 Windows x86

pymatgen-2024.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pymatgen-2024.5.1-cp312-cp312-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pymatgen-2024.5.1-cp311-cp311-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatgen-2024.5.1-cp311-cp311-win32.whl (3.5 MB view details)

Uploaded CPython 3.11 Windows x86

pymatgen-2024.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatgen-2024.5.1-cp311-cp311-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pymatgen-2024.5.1-cp310-cp310-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatgen-2024.5.1-cp310-cp310-win32.whl (3.5 MB view details)

Uploaded CPython 3.10 Windows x86

pymatgen-2024.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatgen-2024.5.1-cp310-cp310-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pymatgen-2024.5.1-cp39-cp39-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatgen-2024.5.1-cp39-cp39-win32.whl (3.5 MB view details)

Uploaded CPython 3.9 Windows x86

pymatgen-2024.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymatgen-2024.5.1-cp39-cp39-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pymatgen-2024.5.1.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pymatgen-2024.5.1.tar.gz
Algorithm Hash digest
SHA256 dc5c1e342e7013e70cc5ef3d857fd67147c09c44af42e25c4fddaa4d89979c49
MD5 4ce324d3b75e02b3ac14edd48381cf4c
BLAKE2b-256 5d96baf171ee518886112ceab2a1b566ff585dd336146ddac2b12e3448592bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 209b9ae5e61f77be5c9ea7013af893d3606b5b028dc7b2fd0c0d12087a50c01d
MD5 0f8d23f3af4f031aeb7eebe86a7690d5
BLAKE2b-256 eb91b7ed9f49bd76f236eb6511a526f1bb690830ac20f89c6ff9932c87e52827

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.5.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pymatgen-2024.5.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ae40bc1e54213b06824be8ce3a1cdcc0562acb2f64e36a1cb9c666cf36c65a4e
MD5 5abf5090d4c067aa8edf5a9ee377ed68
BLAKE2b-256 6848fc46115f9a71af47fea2ca134da95927c860a8fd4b3ef5be0914d4e3c992

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 beb8a49e397e550e34d2bd1a04dfa776430d81e4f5aab9ce2abb1d63f657ba62
MD5 abbb6d81ff4fe16999301499330a7a12
BLAKE2b-256 93054ba91c3de937dd010126d8b1c2b2b2900fd1e8053dcbc20ec32048815d0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef3bb3712bda019099849046da9675050b9a9442b799aa076563376e41b460b2
MD5 6ce1bc41efb605ca3c046a969f0036ed
BLAKE2b-256 7d1866803e632c585f26b0b8839783dd8a0674b7d663e791f4ae2938b57705bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6597af65a7f0482b4213e0cc9027aafca213adcda362ff76e32c1edefd6fa1df
MD5 ccc6aa933a0f8ac5174abae7a97e48f4
BLAKE2b-256 5201e0be2b3f4f42b5ca6e40568a67ddb625f6af0a46130ce75b7c167ff65e6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.5.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pymatgen-2024.5.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5d6156a5fff6f09577cc68da151246993ee32dd45191c0c27fd390558d40f56c
MD5 059a9d18dc65d378d70c8cc59ea0de20
BLAKE2b-256 405435cfe9b376d97037b204b7454571bdbadaf11753fe47c9bcb3506503c923

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d77cc72459b54f1f6aaeca9b95fe536adb7b8d12b0d72c2f81a159a61b09fdda
MD5 19f878b9d2cf1fe43d4df11c1ea2827c
BLAKE2b-256 664679cca363d142d779ebd10d100dc11770a1d175694affdd13193709bf85b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcbf5ec720b40dc0d6e51a2ad11d401d4e2f050c05cb5faa14a45d63887c35de
MD5 ed4d67c6c3fb8f7a278f678b108c0a0f
BLAKE2b-256 f7c1b384c1c37dd107487bfdb6dcdf7620c8cb6f720d12f7e08451c1bf3e79b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 29a104b7e5b5de9641ec7602d3cba26f6f36953cc62df9b8e611c06e3d5da169
MD5 48f1b53ff44e61e48c05bd7f045ed127
BLAKE2b-256 6258114df86b2f0956ac5bb2c182ba9d24fdfd389fb3c49594db411d5c350884

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.5.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pymatgen-2024.5.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 dd3869629428087aafc4873aec9f69e13ba715bc0fc9b5f77cd98be3ddb0d90f
MD5 6239749b31f8fba9e97c246ed8bf289d
BLAKE2b-256 fc230039ae994a24f3ace24ae77796645723e23e6ac540372466f5a8a9fd94c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7214e7cc65374cd9eb69e1c2f6f144df77b3d714b033b144f62e8fd6978bd6d8
MD5 7f22bc0e3688e3cb1c48dc32e35b56bf
BLAKE2b-256 fbfb9b8f915ea8e6d69b6c2c86d4abb9036ba802c90b68d6110f48d11fa8ddc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6dfa468492308044c2bc8b60fbc5e4b3e1c58476b588833dbb84eaaa1fb5c6ce
MD5 91aafc3bd8957a8ebd980ed31eceeac8
BLAKE2b-256 a92b8a422c7b843ba82c886660b10f539dd72f281b2001beaa6b5002a90cb390

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 836fbb08c69816288593a9b0e8d9f05b398f9d1be919cdd810ec575d0c8946f7
MD5 7ad853e84e77fff7b78df4e6e0cff38b
BLAKE2b-256 5c1bec4e6d1d197de663db404acb93187afbb3ff1d343a7aa2051f9d5eb7271b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymatgen-2024.5.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pymatgen-2024.5.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 bcf6ff0ee688633b83370d32a627a34da0fee40d1a718d2e9341908d7deae910
MD5 4422e0007054a56ceebe4401ca61a767
BLAKE2b-256 1cc0dddd645829d6e6507da97ce3a6f5b586c3941e13fb2687ffa987602b392c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d713794f73231b459c3da55d36fc655bb84fe6fe8175a1e1679e11241806d631
MD5 f822f9b6ce3e3a85f03aa26e3bacc830
BLAKE2b-256 a8ac86509622cae04a5dd525858c7aa1224fb8b4311a57948f4cd86adfbffd7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymatgen-2024.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12683c3064d3808b8dfebb0843a6e5b12fb3f1cabb24128123105920fdb24168
MD5 416e45973bab8238be79d23f65aab2fc
BLAKE2b-256 0ac654c45ddd1099545cefc2eccb34cbf3d8b77cc5ae8dcd7ba576a513b6224c

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