Help Privacy Policy Disclaimer
  Advanced SearchBrowse




Journal Article

optimade-python-tools: a Python library for serving and consuming materials data via OPTIMADE APIs


Scheidgen,  Markus
NOMAD, Fritz Haber Institute, Max Planck Society;
Humboldt-Universität zu Berlin, Institut für Physik and IRIS Adlershof;

External Resource
No external resources are shared
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)

(Publisher version), 158KB

Supplementary Material (public)
There is no public supplementary material available

Evans, M. L., Andersen, C. W., Dwaraknath, S., Scheidgen, M., Fekete, Á., & Winston, D. (2021). optimade-python-tools: a Python library for serving and consuming materials data via OPTIMADE APIs. The Journal of Open Source Software, 6(65): 3458. doi:/10.21105/joss.03458.

Cite as: https://hdl.handle.net/21.11116/0000-000A-5F89-2
In recent decades, improvements in algorithms, hardware, and theory have enabled crystalline materials to be studied computationally at the atomistic level with great accuracy and speed. To enable dissemination, reproducibility, and reuse, many digital crystal structure databases have been created and curated, ready for comparison with existing infrastructure that stores structural characterizations (e.g., diffraction) of real crystals. Each database will typically have a bespoke, stateless, web-based Application Programming Interface (API); users can submit a query via specially-crafted URLs. Such esoteric and specialized APIs incur maintenance and usability costs upon both the data providers and consumers, who may not be software specialists. The OPTIMADE API specification (Andersen et al., 2020, 2021), released in July 2020, aimed to reduce these costs by designing a common API for use across a consortium of collaborating materials databases and beyond. Whilst based on the robust JSON:API standard (Katz et al., 2015), the OPTIMADE API specification presents several domain-specific features and re- quirements that can be tricky to implement for non-specialist teams. The repository presented here, optimade-python-tools, provides a modular reference server implementation and a set of associated tools to accelerate the development process for data providers, toolmakers and end-users