Skip to content

OPTIMADE Python tools

Latest release Build status Activity
PyPI Version
PyPI - Python Version
Build Status
Heroku App Status
Commit Activity
Last Commit

The aim of OPTIMADE is to develop a common API, compliant with the JSON API 1.0 specification. This is to enable interoperability among databases that contain calculated properties of existing and hypothetical materials.

This repository contains a library of tools for implementing and consuming OPTIMADE APIs using Python. It also contains a server validator tool, which may be called from the shell or used as a GitHub Action from optimade-validator-action.

Disclaimer: While the package supports elasticsearch-dsl v6 & v7 and django v2 & v3, all tests are performed with the latest supported version. If you experience any issues with the older versions, you are most welcome to contribute to the repository (see below under Contributing).


Both the OPTIMADE specification and this repository are under development.

The latest stable version can be obtained from PyPI pip install optimade or by cloning the master branch of this repository git clone


Installation instructions, for both the index meta-database, and for the main API can be found in the documentation.


Contribution guidelines and tips can be found in