Skip to main content
## Introduction ##

Pymatgen is the python library that powers the Materials Project (http://www.materialsproject.org). This repo contains the public version of this powerful library. These are some of the key features:

1. Highly flexible classes for the representation of Element, Site, Structure objects.
2. Powerful io capabilities to manipulate many VASP input and output files (http://cms.mpi.univie.ac.at/vasp/) and the crystallographic information file format. This includes generating Structure objects from vasp input and output.
3. A comprehensive tool to generate and view compositional and grand canonical phase diagrams.

The public version of pymatgen is free (as in free beer) to download and to use. However, we would also like you to help us improve this library by making your own contributions as well. These contributions can be in the form of additional tools or modules you develop, or even simple things such as bug reports. Please contact the maintainer of this library (shyue@mit.edu) to find out how to include your contributions via github or for bug reports.

## Requirements ##

Required for proper functioning of the code.

1. Python 2.7+ required. New default modules such as json are used, as well as new unittest features in Python 2.7.
2. numpy - For array, matrix and other numerical manipulations. Used extensively by all core modules.
3. scipy 0.9+ - For interpolation, physical constants and other functions. In particular, scipy.spatial.Delaunay is used for phase diagram construction.
5. nose - For complete unittesting. This is NOT optional!

## Optional Python Libraries ##

Optional python libraries that are required if you need certain features

1. matplotlib : For plotting (e.g., Phase Diagrams).
2. [PyCifRW](http://prdownload.berlios.de/pycifrw/PyCifRW-3.3.tar.gz) : For reading and writing Crystallographic Information Format (CIF) files [more info](http://pycifrw.berlios.de/)
3. VTK with Python bindings (http://www.vtk.org/): For visualization of crystal structures.

## Optional non-Python programs ##

Optional non-python libraries (because no good pythonic alternative exists at the moment) required only for certain features.

1. [Qhull](http://www.qhull.org/) : Needed for bond length analysis (structure_analyzer.py). The executable qconvex and qvoronoi must be in the path.
2. [ffmpeg](http://www.http://ffmpeg.org//) : Needed for generation of movies (structure_vtk.py). The executable ffmpeg must be in the path.

## Basic Setup ##

1. Clone the repo.
2. Install the necessary python libraries.
3. (Recommended) Add pymatgen to your PYTHONPATH.
4. (Recommended for developers) Copy hooks from the example-hooks directory into the .git/hooks/ directory in your local repo.

With these two basic steps, you should be able to use most of the pymatgen code. I recommend that you start by reading some of the unittests in the tests subdirectory for each package. The unittests demonstrate the expected behavior and functionality of the code.

However, some extra functionality do require additional setup, as outlined below.

### Generating POTCARs ###
For the code to generate POTCAR files, it needs to know where the VASP pseudopotential files are. We are not allowed to distribute these under the VASP license. The good news is that we have included a setup script to help you along.

1. cd to the root directory of the repo where a file called run_me_first.sh is present.
2. Run the run_me_first.sh file, which will generate a resources directory in a location of your choosing. Please choose a location *outside* of the repo itself. The script will also write a pymatgen.cfg file in the pymatgen subdir.

## Basic usage ##

Some example scripts have been provided in the scripts directory. In general, most file format conversions, manipulations and io can be done with a few quick lines of code. For example, to read a POSCAR and write a cif:

from pymatgen.io.vaspio import Poscar
from pymatgen.io.cifio import CifWriter

p = Poscar('POSCAR')
w = CifWriter(p.struct)
w.write_file('mystructure.cif')

For more examples, please take a look at the wiki (http://github.com/CederGroupMIT/pymatgen_repo/wiki).

Metadata

Release files for pymatgen 1.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymatgen 1.2.4
File Size Uploaded
pymatgen-1.2.4.tar.gz 124.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymatgen 1.2.4
File Interpreter ABI Platform
pymatgen-1.2.4-py2.7.egg Legacy Egg format - - Details

Total release size: 503.8 kB

Release files / pymatgen-1.2.4.tar.gz

Download URL pymatgen-1.2.4.tar.gz
Size 124.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c1dd3d7bfa40d63b13a771a504b21aeab509cbe6445c5c976f33f10f85f1b9ab
BLAKE2b-256 checksum
How to use checksums
07435dab63223c1fd68bf8ef490203f5dc4d4d7ac4cedea91d898399fbaec16b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pymatgen-1.2.4-py2.7.egg

Download URL pymatgen-1.2.4-py2.7.egg
Size 379.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
aee45319f71c13b82a4e8766146c0a45c9437bb0403e65b177db42444dc497a1
BLAKE2b-256 checksum
How to use checksums
7ca7225db21da1a2698dd323b33a06bf1b2ec1bba0c66d6fc6d3a9f52ad6a7bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.7.7

5 release files

4.7.6

5 release files

4.7.5

5 release files

4.7.4

5 release files

4.7.3

5 release files

4.7.2

5 release files

4.7.1

5 release files

4.7.0

5 release files

4.6.2

4 release files

4.6.1

5 release files

4.6.0

5 release files

4.5.7

5 release files

4.5.6

4 release files

4.5.5

4 release files

4.5.4

4 release files

4.5.3

4 release files

4.5.2

4 release files

4.5.1

4 release files

4.5.0

4 release files

4.4.11

4 release files

4.4.10

3 release files

4.4.9

4 release files

4.4.8

4 release files

4.4.7

3 release files

4.4.6

4 release files

4.4.5

4 release files

4.4.4

4 release files

4.4.3

4 release files

4.4.2

4 release files

4.4.1

4 release files

4.4.0

4 release files

4.3.2

4 release files

4.3.1

4 release files

4.3.0

4 release files

4.2.5

4 release files

4.2.4

3 release files

4.2.3

3 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.7.1

2 release files

3.7.0

3 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.6

2 release files

3.3.5

2 release files

3.3.4

2 release files

3.3.3

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.10

2 release files

3.2.9

2 release files

3.2.8

2 release files

3.2.7

2 release files

3.2.6

2 release files

3.2.5

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.2

1 release file

3.2.1

2 release files

3.2.0

2 release files

3.1.9

2 release files

3.1.8

2 release files

3.1.7

2 release files

3.1.6

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.13

2 release files

3.0.12

3.0.11

2 release files

3.0.9

2 release files

3.0.8

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

3 release files

3.0.1

2 release files

3.0.0

2 release files

2.10.3

2 release files

2.10.2

2 release files

2.10.1

2 release files

2.10.0

2 release files

2.9.13

2 release files

2.9.12

2 release files

2.9.9

2 release files

2.9.8

2 release files

2.9.7

2 release files

2.9.6

2 release files

2.9.5

2 release files

2.9.4

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

1 release file

2.8.10

2 release files

2.8.9

2 release files

2.8.8

2 release files

2.8.7

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.9

2 release files

2.7.8

2 release files

2.7.7

2 release files

2.7.6

2 release files

2.7.5

2 release files

2.7.4

2 release files

2.7.3

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.6

2 release files

2.6.5

2 release files

2.6.4

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.5.5

2 release files

2.5.4

2 release files

2.5.3

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.6

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.9.0

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

This release

1.2.4 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.5

1 release file

1.0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page