This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
[![Build Status](]
[![PyPI version](](
[![Coverage Status](]


Python Materials Discovery Framework


PyChemia is an open-source Python Library for materials structural search. The purpose of the initiative is to create
a method agnostic framework for materials discovery and design using a variety of methods from Minima Hoping to
Soft-computing based methods. PyChemia is also a library for data-mining, using several methods to discover interesting
candidates among the materials already processed.

The core of the library is the Structure python class, it is able to describe periodic and non-periodic structures.
As the focus of this library is structural search the class defines extensive capabilities to modify atomic structures.

The library includes capability to read and write in several ab-initio codes. At the level of DFT, PyChemia support
VASP, ABINIT and Octopus. At Tight-binding level development is in process to support DFTB+ and Fireball.
This allows the library to compute electronic-structure properties using state-of-the-art ab-initio software packages
and extract properties from those calculations.

PyChemia requirements

Before installing PyChemia, you may need to first install a few critical dependencies

### Mandatory

1. Python >= 2.7 or Python >= 3.3
The library is tested for versions of Python 2.7, 3.3, 3.4 and 3.5

2. [Numpy]( "Numpy") >= 1.11
NumPy is a fundamental package for any Python scientific library.
Numpy arrays are essential for efficient array manipulation.
Many distributions come with relatively old version of numpy,
so you should install a more recent version.

3. [SciPy]( "SciPy") >= 0.17
SciPy is used for many linear algebra and FFT calls
Most distros comes with scipy 0.13 or below.
PyChemia uses scipy.spatial that have been actively developed
since version 0.15, we have tested PyChemia on 0.17.

4. [spglib]( > 1.9.4
Spglib is used to determine symmetry groups for structures
Many changes have been introduced recently, you should install it
from the github repository as spglib-1.9.4 is not available
on pip for that version. You can install using pip by refering to the
git repository

pip install -e "git+"


pip install -e "git+" --user

5. [future](
This is a library that offers some easy hacks to support python 2.7
and python 3 on the same code source. The library is easy to install
with pip

pip install future


pip install future --user

### Optional Highly Recomended

1. [pymongo]( > 3.2
At least for structural search PyChemia relies strongly in MongoDB and its
python driver. Any version beyond 3.0 should be fine. We have tested
pychemia on pymongo-3.2.2

pip install pymongo


pip install pymongo --user

2. [nose] ( >= 1.3.7
A python library for testing, simply go to the source directory and execute

nosetests -v

### Optional

1. [Pandas]( "Pandas")
Library for Data Analysis used by the datamining modules

1. [PyMC](
PyMC is a python module that implements Bayesian statistical models and fitting algorithms
Important for the datamining capabilities of PyChemia

1. [Matplotlib]( "Matplotlib") >= 1.2
Used to plot band structures, densities of states and other 2D plots

1. [Mayavi]( "Mayavi") >= 4.1
Some basic visualization tools are incorporated using this library

1. [ScientificPython]( "Scientific Python") >2.6
This library is used for reading and writing NetCDF files

1. [pymatgen]( "pymatgen") >= 2.9
pymatgen is an excellent library for materials analysis

1. [ASE]( "Atomic Simulation Environment")
Atomic Simulation Environment is another good library for ab-initio calculations.
Quite impressive for the number of ab-initio packages supported

1. [qmpy]( "qmpy")
The Python library behind the [Open Quantum Materials Database](
The OQMD is a database of DFT calculated structures.
For the time being the database contains more than 300000 structures, with more than
90% of them with the electronic ground-state computed.

1. [coverage] ( >= 4.0.1
Provides code coverage analysis

1. [python-coveralls](
To submit coverage information to

How to install PyChemia

The best way to install PyChemia is from its GitHub repository

git clone

Once the repository is downloaded, you can install it using

cd PyChemia
python build


sudo python install


python install --user

Structure of the Library




1. Prof. Aldo H. Romero [West Virginia University] (Project Director)

1. Guillermo Avendaño-Franco [West Virginia University] (Basic Infraestructure)

1. Irais Valencia Jaime [West Virginia University] (Simulation and testing)

1. Sobhit Singh [West Virginia University] (Data-mining)

1. Francisco Muñoz (Universidad de Chile)
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pychemia-0.1.2.tar.gz (2.0 MB) Copy SHA256 Checksum SHA256 Source May 13, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting