Skip to main content

pymatgen is the Python materials analysis library powering the Materials Project (

Project description

Pymatgen-db is a database plugin for the Python Materials Genomics (pymatgen) package. It enables the creation of Materials Project-style databases for management of materials data.

For now, the creation of a MongoDB database is supported and a rudimentary query engine is provided to enable the easy translation of MongoDB docs to useful pymatgen objects for analysis purposes. A simple web-based interface is planned for the future.

Getting pymatgen-db

Stable version

The version at the Python Package Index (PyPI) is always the latest stable release that will be hopefully, be relatively bug-free. The easiest way to install pymatgen on any system is to use easy_install or pip, as follows:

easy_install pymatgen-db


pip install pymatgen-db

Developmental version

The bleeding edge developmental version is at the pymatgen-db’s Github repo. The developmental version is likely to be more buggy, but may contain new features. The Github version include test files as well for complete unit testing. After cloning the source, you can type:

python install

or to install the package in developmental mode:

python develop


All required python dependencies should be automatically taken care of if you install pymatgen-db using easy_install or pip. Otherwise, these packages should be available on PyPI. Please note that if you do not already have pymatgen installed, you should refer to the pymatgen docs for detailed instructions.

  1. Python 2.7+ required. New default modules such as json are used, as well as new unittest features in Python 2.7.
  2. pymatgen 2.5+, including all dependencies associated with it.
  3. pymongo 2.4+: For interfacing with MongoDb.
  4. MongoDB 2.2+: Get it at the MongoDB website.


A db creation/insertion script has been written ( has been written and will be automatically installed as part of the installation process. Type: --help

to see all the options. Typically, to insert an entire directory of runs into the database, all you need to do is: -d DATABASE_HOST -b DATABASE_NAME -u USER -p PASSWORD dir_name

How to cite pymatgen

If you use pymatgen and pymatgen-db 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 pymatgen’s documentation on how to cite them.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pymatgen_db-0.1.0dev-py2.7.egg (33.9 kB) Copy SHA256 hash SHA256 Egg 2.7
pymatgen-db-0.1.0dev.tar.gz (20.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page