实现和消费OPTIMADE API的工具。
项目描述
OPTIMADE Python 工具
OPTIMADE 的目标是开发一个符合 JSON:API 1.0 规范的通用 API。这是为了实现服务于现有和假设材料晶体结构和计算属性的数据库之间的互操作性。
此存储库包含一个库,用于使用 Python 实现 OPTIMADE APIs。
- 为所有 OPTIMADE 条目类型 和端点响应提供 pydantic 数据模型,并为 OPTIMADE 过滤语言提供 Lark EBNF 语法实现。
- 适配器将 OPTIMADE 数据映射到许多常用的原子级 Python 框架(例如,pymatgen,ASE)和晶体学文件类型(例如,CIF),使用
optimade.adapters
模块。 - 一个可配置的参考服务器实现,可以默认使用 MongoDB 或 Elasticsearch 数据库后端,并可以轻松扩展到其他后端。在 演示网站 上试用!服务器使用的 OpenAPI 模式用于构建 OPTIMADE 模式 网站。
- 一个 OPTIMADE 客户端(
optimade-get
),可以从命令行或 Python 代码中查询多个 OPTIMADE 提供商,并使用给定的过滤器并发地进行。 - 一个模糊 API 验证工具,可以从 shell 中调用(
optimade-validator
)或作为 optimade-validator-action 的 GitHub Action 使用;此验证器用于构建 提供商仪表板。
文档
此文档、指南和完整模块 API 文档可在 https://optimade.org/optimade-python-tools 上找到。特别是,可以在 OPTIMADE 数据模型 下找到 OPTIMADE API 响应数据模型的文档(在这里使用 pydantic 实现)。
发布历史和更改日志可在 更改日志 中找到。
安装
针对不同用例的详细安装说明(例如,使用库或运行服务器)可在 安装文档 中找到。
此软件包的最新稳定版本可以从 PyPI 获取。
pip install optimade
此包的最新开发版本可以从该存储库的main分支获取
git clone https://github.com/Materials-Consortia/optimade-python-tools
支持的OPTIMADE版本
此存储库中每个版本的optimade
包仅针对OPTIMADE规范的一个版本,总结在下表中。
贡献和获取帮助
此包的所有开发(错误报告、建议、反馈和拉取请求)均发生在optimade-python-tools GitHub存储库中。贡献指南和获取帮助的技巧可以在贡献说明中找到。
如何引用
如果您使用此包访问或提供OPTIMADE数据,我们恳请您考虑引用以下内容
- Andersen 等人,OPTIMADE,一种材料数据的API,Sci. Data 8,217 (2021) 10.1038/s41597-021-00974-z
- Evans 等人,optimade-python-tools:一个用于通过OPTIMADE API提供和消费材料数据的Python库。《开源软件杂志》6(65),3458 (2021) 10.21105/joss.03458
链接
- OPTIMADE规范,该规范是此库基于的可读性规范。
- optimade-validator-action,一个GitHub操作,可用于验证来自URL的实现(使用此存储库中的验证器)。
- OpenAPI,用于在
openapi.json
和index_openapi.json
中指定OPTIMADE API的机器可读格式。 - 交互式文档,由
openapi.json
生成(另请参阅交互式JSON编辑器)。 - pydantic,用于从Python模型生成OpenAPI模式的库。
- FastAPI,用于生成由
openapi.json
规范表达的重现实现。 - Lark,用于解析OPTIMADE查询中的过滤语言。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
optimade-1.1.3.tar.gz (184.8 kB 查看哈希值)
构建分布
optimade-1.1.3-py3-none-any.whl (232.4 kB 查看哈希值)