/OPTIMADE

Specification of a common REST API for access to materials databases

Primary LanguageMakefileCreative Commons Attribution 4.0 InternationalCC-BY-4.0

The OPTIMADE Specification

The Open Databases Integration for Materials Design (OPTIMADE) consortium aims to make materials databases interoperational by developing a common REST API.

This repository contains the specification of the OPTIMADE API.

The subdirectory schemas/ contains OpenAPI schemas for the main OPTIMADE API and index meta-database as implemented by the optimade-python-tools repository. Note: These schemas are an approximation of the full human-readable specification and may be missing certain constraints. Furthermore, they may not be up to date in the develop branch of this repository.

For developers

The master branch of the repository is at the latest release or pre-release version of the specification. Versions without a version number suffix (alpha, beta, release candidates and similar) indicate a stable release.

The develop branch of the repository contains the present in-development version of the specification.

API and client implementations are encouraged to support the latest release or pre-release of the specification. If this is a pre-release, implementations are also encouraged to support the latest stable release.

Licensing of the unit definitions database definitions.units

The OPTIMADE standard refers to a specific version of the definitions.units database included with the source distribution of GNU Units. This file is included in the OPTIMADE repository under the subdirectory units. The file is licensed separately from other files in the repository: it is available under the GNU General Public License (GPL). Full information on how the file is licensed is available in the header of the file and the license file included in that directory, COPYING.

The following does not constitute legal advice; however, we believe implementations under other licenses can use this file if:

  • The file is distributed separated from other source files in a way that makes it clear that it is part of the GNU Units software and is licensed under the GPL. (For example, as done in this repository: in a separate subdirectory with its own readme and license files.)

  • The software reads the file during program execution, e.g., at startup (as opposed to, e.g., having the file compiled or linked into a binary program distributed to end users).

Alternatively, the software using the file could itself be licensed in a way compatible with the GNU GPL.

How to cite

If you use OPTIMADE to access or host data, we kindly ask that you cite our paper:

To cite an individual version of the specification, please use the versioned records on Zenodo: